Linux部署
安装虚拟机
VMware Workstation Pro 15(推荐)
下载链接:https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html
密钥链接:https://www.ainiseo.com/question/8170.html
安装镜像教程:https://www.bilibili.com/video/BV11E411n7gf?from=search&seid=6567633545430071611
Xshell与Xftp工具下载地址:https://www.netsarang.com/zh/free-for-home-school/
Hyper-V
[使用Hyper-V虚拟机的方式,我在安装镜像过程中崩了,建议大家小心尝试]
这里我使用的是Windos自带虚拟机,更好的安装教程:https://blog.csdn.net/u012963756/article/details/77900484
-
开启Windos虚拟机功能
-
打开电脑的控制面板=》程序=》程序和功能=》启动或关闭Windos功能,勾选Hyper-V功能(需要提前开启BIOS的Intel Virtual Technology功能,否则Hyper-V无法勾选所有功能,如何开启自行百度)
-
重启安装完毕后,在搜索框搜索Hyper,打开Hyper管理器,右击=》新建=》虚拟机
-
后续操作我截图重点来讲,没截图的下一步即可
这里最后不要安装到C盘
内存修改为2048,1G的内存肯定不够用
这里大小根据你当前安装盘符的容量来决定
镜像文件下载方式看下面的讲解
-
安装CentOS镜像
阿里云开源镜像地址:https://mirrors.aliyun.com/centos/
找到你想安装的版本,这里拿7.8例子举例:https://mirrors.aliyun.com/centos/7.8.2003/isos/x86_64/,目录如下=》7.8.2003=>isos=>x86_64
在里面可以看到很多版本,boot后缀暂时不知道啥意思,dvd是指完整版,minimal是指精简版
CentOS-7-x86_64-Minimal-2003.iso
我们选中该版本下载
Xshell链接Linux
-
登录Linux后输入
ip addr
获取设备ip -
使用Xshell链接
新建=>链接,然后修改名称和主机Ip
设置用户名和密码,然后点击链接即可
这样就是链接成功
-
启动Xftp,点击上方按钮即可
安装Httpd作为资源服务器
-
安装Httpd
yum install httpd yum list | grep initscripts yum install initscripts -y yum install vim
-
修改Httpd的端口配置为8080
vim /etc/httpd/conf/httpd.conf
按下Insert键切换到输入模式,修改下图两个端口为8080,然后按下Esc键退出输入模式,再输入
:wq
保存退出,:q!
不保存直接退出 -
启动Httpd
/bin/systemctl start httpd.service
重启命令,执行比较慢,耐心等待
/bin/systemctl restart httpd.service
-
检测是否安装成功
curl localhost:8080
-
关闭防火墙,没有关闭防火墙的话只能在Linux中访问网址,外部电脑无法访问
systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动
-
本地检测是否安装成功,输入Linux中显示的IP地址加
:8080
,如:192.168.229.128:8080如果时云服务器,这里需要配置安全组,开放端口
-
将本地打包过后的AB包目录
..\ET\Release
复制到服务器目录/var/www/html
中
安装MongoDB
参考教程:https://www.cnblogs.com/tianyamoon/p/9860656.html
-
创建yum源文件
yum update #更新下yum cd /etc/yum.repos.d vim mongodb-org-4.0.repo #创建配置文件
在配置文件中添加以下内容,输入
:wq
保存退出(复制粘贴时看清楚头部的[mngodb-org]
,可能由于粘贴问题丢失)这里可以修改 gpgcheck=0, 省去gpg验证
[mngodb-org] name=MongoDB Repository baseurl=http://mirrors.aliyun.com/mongodb/yum/redhat/7Server/mongodb-org/4.0/x86_64/ gpgcheck=0 enabled=1
-
安装
yum -y install mongodb-org #安装命令
-
修改IP绑定配置,输入
:wq
保存退出(将原来的127.0.0.1修改为服务器固定的IP地址,本地Mongo软件才能链接,这一步在云服务器貌似行不通)vi /etc/mongod.conf
启动服务,设置开启自启(命令看下一步)
-
其他常用指令
systemctl start mongod.service //启动服务 systemctl stop mongod.service //停止服务 systemctl restart mongod.service //重启服务 systemctl status mongod.service //查看服务状态 systemctl enable mongod.service//设置开机启动
补充:远程访问Windos下的MogoDB https://blog.csdn.net/weixin_30644369/article/details/100092612
安装.Net Core环境
- 需要注册Microsoft签名密钥并添加Microsoft产品提要,每台机器只需注册一次,执行命令如下:
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
- 安装Dotnet Core Runtime,执行下列命令,下载过程比较慢,建议执行命令前开魔法
sudo yum update
sudo yum install dotnet-sdk-2.2
- 查看版本,没有报错就是安装成功了
dotnet --version
部署项目
-
修改全局配置文件的资源路径地址为Httpd的访问地址(8080后面记得添加/),修改登录服务器链接地址
-
修改服务器配置文件地址外网地址,修改数据访问地址(如果是云服务器,配置外网地址1填的是云服务器的内网IP地址,外网地址2填的是云服务器的外网IP地址,内网地址仍然是127.0.0.1)
-
在ET项目根目录下Shift+右击,打开PowerShell窗口。输入
dotnet publish
,还原项目(部署到Linux使用:dotnet publish -c Release -r linux-x64
) -
在Bin目录下出现publish则为成功
-
通过Xftp在Linux中创建ET文件夹,并将生成的publish文件夹与项目根目录下的Config文件夹复制到Linux中
-
进入项目文件夹(需要先返回最高层目录)
cd ET/ cd publish/
-
输入启动服务器指令后等待一会,就会将所有服务器启动
dotnet App.dll --appId=1 --appType=Manager --config=../Config/StartConfig/OutServer.txt
MongoDB备份与恢复
这里需要使用到Mongo安装时自带的两个应用程序mongodump.exe
与mongorestore.exe
在文件夹目录下右击打开PowerShell窗口,输入以下命令;
-
备份:
.\mongodump.exe -h 127.0.0.1 -d ET -o E:\Git\mongoDB
-h 本地数据库地址
-d 数据库名称
-o 数据库导出后存放的地址
-
恢复:
.\mongorestore.exe -h 124.71.154.112:27017 -d ET E:\Git\mongoDB\ET
-h 目标数据库地址(我这里填写的时云服务器MongoDB的访问地址)
-d 恢复数据库名称(可以与备份数据库名称不用)上一步导出的数据库文件存放地址(注意导出后有个ET文件目录,需要添加进去)
一些错误
无法找到KCP动态库
在Linux下使用KCP协议会报,KCP动态库找不的错误
System.DllNotFoundException: Unable to load shared library 'kcp' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libkcp: cannot open shared object file: No such file or directory
原因是因为在Linux上无法使用C++的程序集,需要编译成os文件
猫大的KCP源码地址:https://github.com/egametang/kcp-bulild,下载后可在
编译说明.txt
文本中看到各个平台的编译指令-
将jni文件夹复制到Linux中,然后跳转到Linux该文件夹下面,执行命令:
g++ kcp.c -shared -fPIC -o libkcp.so
后可jni目录下得到一个libkcp.os
文件如果提示g++命令无法找到,是由于没有安装G++导致的,执行命令下载G++:
yum -y install gcc+ gcc-c++
将生成的
libkcp.os
文件复制到Linux的/usr/lib64
(这个是电脑根目录)目录下,然后执行命令ldconfig
加载动态库。输入命令
ldconfig -p | grep libkcp.so
,有输出路径则证明KCP动态库安装成功