返回

ETLinux部署

安装虚拟机

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虚拟机功能

    1. 打开电脑的控制面板=》程序=》程序和功能=》启动或关闭Windos功能,勾选Hyper-V功能(需要提前开启BIOS的Intel Virtual Technology功能,否则Hyper-V无法勾选所有功能,如何开启自行百度)

    2. 重启安装完毕后,在搜索框搜索Hyper,打开Hyper管理器,右击=》新建=》虚拟机

    3. 后续操作我截图重点来讲,没截图的下一步即可

      这里最后不要安装到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

  1. 登录Linux后输入ip addr获取设备ip

  2. 使用Xshell链接

    新建=>链接,然后修改名称和主机Ip

    设置用户名和密码,然后点击链接即可

    这样就是链接成功

  3. 启动Xftp,点击上方按钮即可

安装Httpd作为资源服务器

  1. 安装Httpd

    yum install httpd
    yum list | grep initscripts
    yum install initscripts -y
    yum install vim
    
  2. 修改Httpd的端口配置为8080

    vim /etc/httpd/conf/httpd.conf
    

    按下Insert键切换到输入模式,修改下图两个端口为8080,然后按下Esc键退出输入模式,再输入:wq保存退出,:q!不保存直接退出

  3. 启动Httpd

    /bin/systemctl start httpd.service 
    

    重启命令,执行比较慢,耐心等待

    /bin/systemctl restart httpd.service
    
  4. 检测是否安装成功

    curl localhost:8080
    
  5. 关闭防火墙,没有关闭防火墙的话只能在Linux中访问网址,外部电脑无法访问

    systemctl stop firewalld.service #停止firewall
    systemctl disable firewalld.service #禁止firewall开机启动
    
  6. 本地检测是否安装成功,输入Linux中显示的IP地址加:8080,如:192.168.229.128:8080

    如果时云服务器,这里需要配置安全组,开放端口

  7. 将本地打包过后的AB包目录..\ET\Release复制到服务器目录/var/www/html

安装MongoDB

参考教程:https://www.cnblogs.com/tianyamoon/p/9860656.html

  1. 创建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
    
  2. 安装

    yum -y install mongodb-org #安装命令
    
  3. 修改IP绑定配置,输入:wq保存退出(将原来的127.0.0.1修改为服务器固定的IP地址,本地Mongo软件才能链接,这一步在云服务器貌似行不通)

    vi /etc/mongod.conf
    
  4. 启动服务,设置开启自启(命令看下一步)

  5. 其他常用指令

    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环境

  1. 需要注册Microsoft签名密钥并添加Microsoft产品提要,每台机器只需注册一次,执行命令如下:
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
  1. 安装Dotnet Core Runtime,执行下列命令,下载过程比较慢,建议执行命令前开魔法
sudo yum update
sudo yum install dotnet-sdk-2.2
  1. 查看版本,没有报错就是安装成功了
dotnet --version

部署项目

  1. 修改全局配置文件的资源路径地址为Httpd的访问地址(8080后面记得添加/),修改登录服务器链接地址

  2. 修改服务器配置文件地址外网地址,修改数据访问地址(如果是云服务器,配置外网地址1填的是云服务器的内网IP地址,外网地址2填的是云服务器的外网IP地址,内网地址仍然是127.0.0.1)

  3. 在ET项目根目录下Shift+右击,打开PowerShell窗口。输入dotnet publish,还原项目(部署到Linux使用:dotnet publish -c Release -r linux-x64

  4. 在Bin目录下出现publish则为成功

  5. 通过Xftp在Linux中创建ET文件夹,并将生成的publish文件夹与项目根目录下的Config文件夹复制到Linux中

  6. 进入项目文件夹(需要先返回最高层目录)

    cd ET/
    cd publish/
    
  7. 输入启动服务器指令后等待一会,就会将所有服务器启动

    dotnet App.dll --appId=1 --appType=Manager --config=../Config/StartConfig/OutServer.txt
    

MongoDB备份与恢复

这里需要使用到Mongo安装时自带的两个应用程序mongodump.exemongorestore.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文件

  1. 猫大的KCP源码地址:https://github.com/egametang/kcp-bulild,下载后可在编译说明.txt文本中看到各个平台的编译指令

  2. 将jni文件夹复制到Linux中,然后跳转到Linux该文件夹下面,执行命令:g++ kcp.c -shared -fPIC -o libkcp.so后可jni目录下得到一个libkcp.os文件

    如果提示g++命令无法找到,是由于没有安装G++导致的,执行命令下载G++:yum -y install gcc+ gcc-c++

  3. 将生成的libkcp.os文件复制到Linux的/usr/lib64(这个是电脑根目录)目录下,然后执行命令ldconfig加载动态库。

  4. 输入命令ldconfig -p | grep libkcp.so,有输出路径则证明KCP动态库安装成功

Licensed under CC BY-NC-SA 4.0
0