2023年7月11日 17:12 by wst
服务部署对于python后端服务,开发好之后如果不借助其他工具进行部署,就得手动部署。
最好的方法就是启动后,用监控工具看着它,如果挂了就拉起来。
有个历史悠久且好用的工具:supervisor。
开发中分测试环境和线上环境,在部署的时候怎么体现呢?
很容易想到的办法是,通过环境变量。
那么问题接着来了:怎么在supervisor中添加环境变量呢?
在supervisor中添加环境变量,实例代码如下:
服务器代码:
import os
dev = os.environ.get("DEBUG", "true").lower()
DEBUG = True if dev == 'true' else False
监控代码:
[program:member]
directory=/home/ubuntu/workspace/members/server
command=/home/ubuntu/.conda/envs/web/bin/python main.py -worker 4
autostart=true
autorestart=true
startsecs=5
stderr_logifle=/tmp/member_stderr.log
stdout_logfile=/tmp/member_stdout.log
redirect_stderr=true
stdout_logfile_maxbytes=20MB
stdout_logfile_backups=10
environment=DEBUG=false
注意最后一行,DEBUG=false就是设置的环境变量,在程序里是可以读出来的。
注意:修改完后,记得重启supervisord服务。命令如下:
supervisorctl -c ~/mysupervisor/supervisor/supervisord.conf reload
勉励自己,同时给后来人提供帮助!