2024年5月26日 12:54 by wst
服务部署对于python的Django项目、Flask项目,一般部署的时候喜欢采用uwsgi做中转。
代码更新的时候,只需要重启uwsgi即可。那么重启脚本长什么样呢?
#!/bin/bash
# uwsgi管理脚本
# uwsgi命令的路径,根据你的安装位置进行修改
UWSGI_PATH="/home/ubuntu/miniconda3/envs/wxpay/bin/uwsgi"
# uwsgi配置文件的路径,根据你的配置文件位置进行修改
UWSGI_CONFIG="/home/ubuntu/workspace/wxmplogin/uwsgi_config.xml"
# log
UWSGI_LOG="/home/ubuntu/workspace/wxmplogin/uwsgi.log"
# pidfile
UWSGI_PIDFILE="/home/ubuntu/workspace/wxmplogin/uwsgi.pid"
# 检查uwsgi命令是否存在
if [ ! -x "$UWSGI_PATH" ]; then
echo "uwsgi命令未找到,请检查UWSGI_PATH变量是否设置正确"
exit 1
fi
# 根据传入的参数执行相应的操作
case "$1" in
start)
echo "启动uwsgi服务..."
$UWSGI_PATH -x "$UWSGI_CONFIG" -d "$UWSGI_LOG" &
;;
stop)
echo "停止uwsgi服务..."
# 这里使用了uwsgi的停止命令,你需要根据实际情况获取正确的停止命令
# 例如:$UWSGI_PATH --stop /path/to/your/pidfile.pid
$UWSGI_PATH --stop "$UWSGI_PIDFILE"
;;
restart)
echo "重启uwsgi服务..."
$0 stop
sleep 2
$0 start
;;
*)
echo "使用方法:$0 {start|stop|restart}"
exit 1
;;
esac
exit 0
本例部署的是flask,uwsgi的配置文件如下:
<uwsgi>
<chdir>/home/ubuntu/workspace/wxmplogin</chdir>
<home>/home/ubuntu/miniconda3/envs/wxpay</home>
<pythonpath>/home/ubuntu/workspace/wxmplogin</pythonpath> #网站根目录
<module>main</module> #Flask的主入口文件,平时是直接运行这个文件启动测试服务器的
<callable>app</callable> #runServer.py入口文件里的程序入口
<socket>127.0.0.1:5000</socket> #监听端口
<master/>
<processes>2</processes> #注:跑几个线程,这里用4个线程
<memory-report/>
<pidfile>%(chdir)/uwsgi.pid</pidfile>
</uwsgi>
感谢大家的关注,如有问题,欢迎评论!