摘要:开放阿里云端口在阿里云控制台管理中,依次选择本实例安全组配置规则添加安全组规则,开放服务端端口同理,再开放资源服务器端口即可。
本文记录了ET服务端从Windows开发环境部署到CentOS7测试环境的全过程。
CentOS环境部署CentOS部署主要涉及到.Net Core安装、MongoDB安装配置,因为使用到的.Net Core版本为2.1,故使用CentOS7作为测试环境。
1 .Net Core安装首先查看本地Windows开发环境中.Net Core版本,打开CMD,执行命令 dotnet --info,如下所示:
图中红框内即为版本号: 2.1.301,依据此版本号去 https://dotnet.microsoft.com/... 下载相应安装包。
如红框内SDK 2.1.301 Linux x64
下载完毕后,使用WinSCP工具将安装包上传至CentOS,解压至/usr/local/dotnet,为方便使用,可将该目录添加至环境变量,编辑配置文件:
vim /etc/profile
在最底下添加如下代码:
PATH=$PATH:/usr/local/dotnet export PATH
保存后,执行 source /etc/profile 命令使修改生效,此时可以在任意目录通过dotnet --info命令查看当前已安装的dotnet版本:
可以看见与本地Windows中.Net Core版本一致,至此,.Net Core安装完成。
添加yum源:
vim /etc/yum.repos.d/mongodb-org-3.4.repo
配置如下,复制粘贴后保存退出:
[mongodb-org-3.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
使用yum安装:
sudo yum update sudo yum install -y mongodb-org
等候安装完毕,修改mongoDB配置文件:
vim /etc/mongod.conf
修改net与security域如下:
net: port: 27017 bindIp: 0.0.0.0 #security: #authorization: enabled
bingIp为允许登陆的ip地址,修改为0.0.0.0表示允许所有ip登陆,添加authorization字段并设置为enabled,表示开启安全验证,暂时屏蔽该字段,后续创建数据库与账户后再开启。
启动mongoDB:
systemctl start mongod.service
查看mongoDB运行状态
systemctl status mongod.service
结果如下,为active(running),表明正在运行:
此时,可以在本地Windows环境中,使用MongoDBCompass或者其他数据库连接工具连接,创建远程mongoDB数据库与集合,此处不详述。创建完数据库后,继续在CentOS中创建用户用于安全验证,在终端输入 mongo 命令进入mongoDB控制台:
切换数据库,如et:
use et
创建用户,假设目标数据库名称为et:
db.createUser({ user:"root", pwd:"123456", roles:[{role:"readWrite",db:"et"}] })
user: 用户名,pwd:密码,role:readWrite表示读写权限,db:指定数据库,添加成功如下图所示:
授予用户该数据库的权限:
db.auth("root","123456")
返回1表示授予成功:
重新修改上述 /etc/mongod.conf 文件,将security域的注释取消,开启安全验证:
security: authorization: enabled
重启mongoDB服务:
systemctl restart mongod.service
至此,mongoDB安装配置完成。
程序发布 1 服务端程序发布在本地Windows环境中,打开Server工程目录(即Server.sln所在目录),按住SHIFT键,在文件夹空白处单击右键,选择“在此处打开命令窗口”,执行发布命令:
dotnet publish -c Release
生成发布文件夹,即服务端运行程序文件夹,相对于此时所在目录路径为../Bin/publish,将发布文件夹上传至CentOS。
2 FileServer资源服务器发布资源服务器工程目录为 Tools/FileServer,发布过程与服务端相似,发布目录为 FileServer/publish,可更名为FileServer上传至CentOS即可,此处不再一一赘述。
3 服务端配置修改本地服务端配置文件,以 Config/StartConfig/LocalAllServer.txt 为例,修改OuterConfig的Address为服务器内网地址,Address2为外网地址:
修改DBConfig的ConnectionString,即mongoDB连接验证字符串,DBName改为相应数据库名称:
root为账号,123456为密码,127.0.0.1表示数据库与服务端程序在同一地址,如不同,可自行填写数据库ip。注意ConnectionString最后的"/et"为指定的登陆数据库,如为空"/",则默认登陆"admin"数据库,因当前账号无"admin"数据库权限,则会导致登陆失败。
修改完毕后,将本地Config/文件夹全部上传至服务器即可,至此,所有文件已准备完成,此时服务器目录结构为:
其中Config为服务器配置,FileServer为资源服务器运行目录,Logs为ET服务端运行后自动生成的日志,publish为ET服务端运行目录。
切换目录至publish文件夹,启动ET服务端:
nohup dotnet App.dll --appId=1 --appType=AllServer --config=../Config/StartConfig/LocalAllServer.txt > runtime.log 2>&1 &
因为运行环境为阿里云,所以直接采用后台运行,避免终端关闭后服务端也关闭。此处踩过一个坑,若运行后,runtime.log疯狂增长,且内容全为异常日志,如下:
该异常触发频率极快,导致runtime.log增长飞快,进程占用cpu极高,可注释服务端源文件Program.cs中如下代码:
// Game.Scene.AddComponent();
不添加ConsoleComponent组件即可,此异常触发的底层原因暂时不明,后续再跟进。
2 运行资源服务器切换目录至FileServer文件夹,启动资源服务器:
nohup dotnet FileServer.dll > runtime.log 2>&1 &
资源服务器存放的资源文件路径为ET服务端运行目录,如 Server/publish/PC,或者Server/publish/Android等。
3 开放阿里云端口在阿里云控制台管理中,依次选择“本实例安全组-配置规则-添加安全组规则”,开放ET服务端端口10002:
同理,再开放资源服务器端口8080即可。
至此,所有部署工作完毕,将ET客户端全局配置中的资源路径与服务器地址修改为CentOS地址,即可连接测试环境。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/46246.html
摘要:并把它部署到线上,同时,使用了格式。我使用阿里云的服务器。接下来,就是域名解析和绑定,并结合。配置阿里云证书申请阿里云服务控制台安全云盾证书单击购买证书,前去购买证书,填入补全资料,按照默认提示勾选,并绑定域名,即可申请成功。 导读 如今,毕业将近一年了。一直使用公司的老框架,该框架采用前后端不分离的模式。但是,最近公司想要采用前后端分离的模式,并让我重新架构新框架。对于,毕业不久的我...
摘要:并把它部署到线上,同时,使用了格式。我使用阿里云的服务器。接下来,就是域名解析和绑定,并结合。配置阿里云证书申请阿里云服务控制台安全云盾证书单击购买证书,前去购买证书,填入补全资料,按照默认提示勾选,并绑定域名,即可申请成功。 导读 如今,毕业将近一年了。一直使用公司的老框架,该框架采用前后端不分离的模式。但是,最近公司想要采用前后端分离的模式,并让我重新架构新框架。对于,毕业不久的我...
摘要:并把它部署到线上,同时,使用了格式。我使用阿里云的服务器。接下来,就是域名解析和绑定,并结合。配置阿里云证书申请阿里云服务控制台安全云盾证书单击购买证书,前去购买证书,填入补全资料,按照默认提示勾选,并绑定域名,即可申请成功。 导读 如今,毕业将近一年了。一直使用公司的老框架,该框架采用前后端不分离的模式。但是,最近公司想要采用前后端分离的模式,并让我重新架构新框架。对于,毕业不久的我...
摘要:阿里云推出国内首个基于英伟达的优化容器月日,在云栖大会深圳峰会上,阿里云宣布与英伟达云合作,开发者可以在云市场下载云镜像和运行容器,来使用阿里云上的计算平台。阿里云成为中国首家与加速的容器合作的云厂商。 摘要: 3月28日,在2018云栖大会·深圳峰会上,阿里云宣布与英伟达GPU 云 合作 (NGC),开发者可以在云市场下载NVIDIA GPU 云镜像和运行NGC 容器,来使用阿里云上...
摘要:去年月,阿里云宣布将设立阿里云广东研发中心,招募名云计算和人工智能工程师,推动前沿技术与广东产业融合。吴维刚表示,人工智能与云计算,两者不是同一事物,但是相互发展。近年来,随着互联网和移动互联网的蓬勃发展,大数据、云计算、人工智能、物联网等新技术也迎来了广阔的发展空间。去年,阿里云工业互联网全国总部正式在广州揭牌成立,阿里云将联合广东本地合作伙伴,共同打造服务全国的工业大脑。去年9月,华为与...
阅读 3632·2021-11-24 11:14
阅读 3334·2021-11-22 15:27
阅读 3086·2021-11-22 13:53
阅读 3551·2021-11-11 16:54
阅读 914·2021-10-13 09:49
阅读 897·2021-10-08 10:05
阅读 3101·2021-09-22 15:57
阅读 2971·2021-09-03 10:29