部署文档

185 阅读2分钟

服务端部署文档

依赖

  • supervisord
  • nats
  • etcd
  • mysql
  • redis

部署方式

正式服使用服务商的mysql和redis服务

开发服测试服等使用自己部署的mysql和redis服务

使用supervisord进行进程管理

依赖部署

supervisord官网:supervisord.org

  1. 安装python环境
  2. 使用pip安装supervisord: pip install supervisor
  3. 生成配置文件: echosupervisordconf > /etc/supervisord.conf
  4. 修改配置文件:将tmp里的文件换到var中,避免被系统清理[unixhttpserver] file = /var/run/supervisor.sock[supervisord] logfile = /var/log/supervisor/supervisord.log[supervisord] pidfile = /var/run/supervisord.pid[supervisorctl] serverurl = unix:///var/run/supervisor.sock修改子配置位置 [include] files = /etc/supervisord.d/*.ini
  5. 新建文件夹:mkdir /etc/supervisord.dmkdir /var/log/supervisor
  6. 执行 supervisord: supervisord -c /etc/supervisord.conf

nats 官网:NATS.io – Cloud Native, Open Source, High-performance Messaging

  1. 下载nats的二进制包到服务器上并解压
  2. 在/etc/supervisord.d/路径下新建nats.ini文件
  3. 修改ntas.ini文件 command是执行程序路径 directory是运行文件夹:[program: nats]command=/opt/nats/nats-serverdirectory=/opt/nats/autorestart=trueautostart=trueuser=rootstartsecs=10startresries=5stopasgroup=true
  4. 更新supervisord配置: supervisorctl update

etcd 官网: etcd

  1. 下载etcd的二进制包到服务器上并解压
  2. 在/etc/supervisord.d/路径下新建etcd.ini文件
  3. 修改ntas.ini文件 command是执行程序路径 directory是运行文件夹:[program: etcd]command=/opt/etcd/etcd --listen-client-urls='http://0.0.0.0:2379' --advertise-client-urls='http://0.0.0.0:2379'directory=/opt/etcd/autorestart=trueautostart=trueuser=rootstartsecs=10startresries=5stopasgroup=true
  4. 更新supervisord配置: supervisorctl update

服务部署

添加新服务

  1. 将服务的yml配置文件放入 /opt/gameserver/assets/config/ 下
  2. 将服务的可执行程序放入 /opt/gameserver/ 下
  3. 在/etc/supervisord.d/路径下新建服务的.ini文件
  4. 按规则配置.ini文件参考:[program: login]command=/opt/gameserver/%(program_name)sdirectory=/opt/gameserverautorestart=trueautostart=trueuser=rootstartsecs=10startresries=5stopasgroup=true
  5. 更新supervisord配置: supervisorctl update
  6. 在对应环境upload.sh和deploy.sh脚本中添加新服务的部署代码

更新服务

  1. 将服务的可执行程序放入/opt/gameserver/ 下
  2. 执行重启命令:supervicorctl restart 服务名
  3. 或者直接执行对应环境的部署脚本