ET项目部署到Linux
搬运
http://www.tinkingli.com/?p=25
本篇文章主要讲的是如何把做完的ET项目,完整的部署到Linux上,包括搭建文件资源服务器,安装mongoDB数据库,.net core的运行环境,及整个流程,整体分为三大步来走
如果是看到这篇帖子,不知道ET是什么的请移步ET框架
运行环境:Centos7.3 + Unity2017.1.0p5 + vs2017 + ET 2.0 这里要说一下低于Centos7的没法安装.net core环境
第一:我先讲如何把资源服务器部署到Linux上,我这里选择了安装简单的APache服务,也可以安装tomcat、Nginx或者其他http服务.但是端口一定要设置到8080。
先操作centos7服务器:
●安装Httpd:
$ yum install httpd
●启动httpd:
$ service httpd start 假如显示这个错误:Redirecting to /bin/systemctl restart httpd.service 就用下面的这个命令,没有则忽略
$ /bin/systemctl start httpd.service
好了,两条命令就把httpd搭建并启动起来了
回到本机打开网页输入服务器的地址:如下图
当你看到这一步的时候你就成功了。
由于httpd默认是80端口,下来要把他修改到8080端口所以继续回到linux操作
●修改配置文件端口为8080
$ vi /etc/httpd/conf/httpd.conf
假如你安装了vim编辑器也可以如下命令
$ vim /etc/httpd/conf/httpd.conf
然后你搜索关于80配置的代码也可以如下搜索
$ /80
找到如下图的部分
将其修改为8080端口如下图,假如你是小白没玩过linux 你点击Insert进行修改
修改完按esc 并输入:wq 就保存了
下来你就需要重启httpd服务,输入下面命名就重启了
●重启httpd服务
$ service httpd restart
假如显示这个错误:Redirecting to /bin/systemctl restart httpd.service 就用下面的这个命令,没有则忽略
$ /bin/systemctl restart httpd.service
然后你回到你的电脑,输入IP+8080,如下图
假如你到这步看到了如上图的图片,证明你的httpd文件资源服务器就部署好了。
●回到unity进行操作,打开tools–>全局配置 把资源路径改成服务器地址如下图:
这里还有个小坑,8080端口后面记得加“/”___ http://192.168.1.39:8080这样是不行的,记的一定要加/。
这里要感谢哲学大佬,给我一眼识出问题。点击保存。
假如你是自己的项目并用的不是et本身的场景,假如是,就请跳过此步骤直接看打包
●打开vs找到BuildHelper类
●把exeName改成 自己的项目名字如下图,根据自己的实际情况修改:
●然后修改场景的名字,根据自己的实际情况修改,如下图
修改完点击生成后就切换到unity
●然后点击Tools–>打包工具,先选择pc看看能不能跑起来,点击选择PC,打包成exe.如下图
然后点击开始打包,坐等打包完。
这时候切换到项目路径,打开Release文件夹,如下图
这时候打开文件传输助手,我这里用的是xftp,你们随意
●在xftp服务器上找到“/var/www/html”的路径,并把AB包放到html文件下如下图:
然后切换到Release文件下,运行exe文件。当你看到unity控制台没有错误的log时候就成功了,代表的资源服务器搭建完了,看到类似下图的的log就代表成功了
第二步:安装mongo数据库
●本次安装使用的是yum
命令安装,在安装之前,我们先执行以下命令更新下yum
。
$ yum update
●然后添加mongodb
的yum
源。
$ cd /etc/yum.repos.d/
$vim mongodb-3.4.repo
●将以下内容添加到mongodb-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
这里可以修改
●最后再执行以下命令进行安装:
gpgcheck=0
, 省去gpg
验证●最后再执行以下命令进行安装:
$ yum install -y mongodb-org
执行完命令后,耐心等待即可。
验证是否成功
我们再来执行以下命令验证下我们是否安装成功:
$ mongo --version
看到这个结果说明已经安装成功。
●我们可以通过以下命令查看安装后的相关文件目录:
$ whereis mongod
启动,停止服务
●centos7以下的启动、停止服务命令如下: $sudo service mongod start //启动服务
$sudo service mongod stop //停止服务
●centos7以上的启动、停止服务命令如下:
$ systemctl start mongod.service //启动服务
$systemctl stop mongod.service //停止服务
$systemctl restart mongod.service //重启服务
$systemctl status mongod.service //查看服务状态
●在终端输入
配置授权登录mongo
命令即可进入mongodb的shell
脚本:
●这里要声明一下这个用户可配可不配,因为在et中代码没有配置用户名这块,我这里配置一下但是不用, 以防以后开发的时候需要连接mongo数据库时或者管理数据库时需要账号验证所以这里先配一下。
$mongo
$use admin
$db.createUser({
user:"root",
pwd:"123456",
roles:[{role:"root",db:"admin"}]
})
user
:用户名
pwd
:密码roles:指定用户的角色,可以用一个空数组给新用户设定空角色;在roles字段,可以指定内置角色和用户定义的角色。
●我们再修改下配置文件,先在mongo脚本里输入
exit
退出mongo。之后再输入以下命令修改配置文件:
$ vi /etc/mongod.conf
如上图修改,这里没有mongodb基础的人不要随意修改这里也不要配置用户。
这里说一下MongoDB的基础操作。use XXXX = 创建XXXX数据库。
在mongo脚本里输入exit退出mongo。
到这里mongodb就完事了
第三步 在终端部署.net core的环境
此处是转载至哲学的linux跨平台部署,由于他那个版本的et比较落后,部署起来是其实是大同小异。有经验的这里已经不用看了
●先部署终端的.netcore的环境 linux安装.netcore的环境这里面包括了市面的linux系统的所有安装.netcore的方法 ●打开unity打开Tools-->全局配置。把服务器地址改成自己的服务器地址如图,这里一定要配置,这是客户端连接服务器端读取的IP和端口
●打开做完的项目,这里要打开主项目Client-Server项目,右键点击整个项目生成一下,我这里是没问题的,假如有其他问题参照哲学的帖子或者在群里问
看到如上图证明就成功了
●再给Server.APP项目安装CommandLineParserNuGet包如下图
●打开CMD控制台,建议管理员运行,然后移动到自己的项目下如图,这就代表的成功了,如果是老本带enet或者其他问题请参考哲学的帖子
Windows发布完毕之后,找到publish文件夹这里要声明一下,旧版本的et会生成在.netcoreapp2.0的文件夹,我这个版本的是直接生成到了Bin目录下 旧版本的是 Egametang/.netcorapp2.0/publish 我的版本是 ET-master/Bin/publish 再找到 ET-master/Config ET-master/Logs 然后移动到如图的路径
然后手动输入命名行:
$ dotnet App.dll --appId=1 --appType=Manager --config=../Config/StartConfig/LocalAllServer.txt(因项目配置而异,自己项目的配置文件。)
然后如下图,就运行成功了,
{ "_t" : "OuterConfig", "Address" : "0.0.0.0:10002", "Address2" : "外网IP:10002" }