部署Socket TCP服务器到Ubuntu服务器运行

1,313 阅读1分钟

记录一次部署用Python Socket编写的TCP Server到Ubuntu运行测试的过程

第一步:购买阿里云轻量级服务器

avatar

  • 开发端口可外部访问
    avatar

第二步:上传代码

scp -r ./myProject/ root@localhost:/root/demo/

第三步:配置环境

Python项目环境:

pip install -r requirements.txt
  • 前提是先导出环境到requirements.txt
pip freeze > requirements.txt

安装MySQL 5.7

  • 更新高级软件包工具
sudo apt-get update
  • 安装MySQL服务器
sudo apt install mysql-server
  • 查看MySQL状态
netstat -tap | grep mysql
  • 查看MySQL版本信息
mysql -V
  • 使用root账号登录MySQL
mysql -u root -p 123456
  • 接着创建相应的db和tables

安装Redis数据库

sudo apt-get install redis-server
  • 安装完成后,Redis服务器会自动运行
  • 查看Redis数据库状态
ps -aux|grep redis

配置Socket Sever启动并一直运行于服务器

使用supervisor保持python进程运行
  • 安装supervisor
sudo apt-get install supervisor
  • 配置supervisord.conf(/etc/supervisor/supervisord.conf)
sudo vim /etc/supervisor/supervisord.conf

# 在文件末尾添加如下代码:
[program:myProject]
# 需要执行的程序文件
commond=python3 /root/project/main.py
# 是否自动启动/自动重启
autostart=true
autorestart=true
# 日志输出
stdout_logfile=/root/project/logs/worker_output.log
stderr_logfile=/root/project/logs/worker_err.log
# 进程运行10秒后才认定成功,默认1
startsecs=10
# 进程停止60秒后才认定成功
stopwaitsecs=60

avatar

  • 启动supervisor及程序
sudo supervisord
supervisord -c /etc/supervisor/supervisord.conf
  • supervisor常用命令
# 启动supervisor服务
sudo service supervisor start
# 停止supervisor服务
sudo service supervisor stop
# 查看supervisor所有的任务状态
supervisorctl status
# 启动/停止指定进程
supervisorctl start|stop program_name
# 停止所有任务
supervisorctl shutdown

第四步:联机测试