ubuntu 使用supervisor管理开机启动uwsgi

记录目的:网上的方法虽然写的很清楚,但是中间还是踩了一些坑,因此这次记录下来,以便日后回顾防坑。

先简单叙述下环境:

1、系统:ubuntu16.04 desktop。

2、pthon版本:2.7 和 3.5

3、网站使用的框架: django2.0.2 (python3)

4、网站发布方式:Nginx + uwsgi + django, uwsgi和nginx的配置此处不讲,毕竟不是主角

下面是实现supervisor的步骤:

step1. apt-get install supervisor   (一说 pip install supervisor 也可,但是要注意supervisor仅支持python2-pip 安装)

step2.  配置supervisord.conf

  1. cd /etc/supervisor

  2. vim supervisord.conf

  3. 添加如下信息:


[program:uwsgi]        ; 注意program:不能省,类似于声明这是你定义的自启动程序

command=/usr/local/bin/uwsgi --ini /var/www/workdir/script/uwsgi.ini     ; --ini 后跟ini配置文件的目录

stopsignal=QUIT   

autostart=true        ; 设置该程序在supervisor启动后自动启动

autorestart=true          ; 当该程序停止后,无条件重新启动。有三个选项分别为true false 和 unexcepted.

stdout_logfile=/var/www/workdir/script/supervisor.log      ; 日志保存路径

stderr_logfile=/var/www/workdir/script/supervisor_err.log    ; 错误保存路径


step3. 载入添加的自启动程序

首先切换到root权限(非root会报错error <class 'socket.error'>, [Errno 13] Permission denied: file: /use/lib/python2.7/socket.py line: 228)

接着输入supervisorctl reload, 会提示Restart supervisord

最后,检验是否成功自启动了程序,输入 ps -ef|grep uwsgi 查看uwsgi是否执行。



文章最后,附上supervisor介绍相关连接:

官网:http://www.supervisord.org/

进程管理supervisor的简单说明:https://www.cnblogs.com/zhoujinyi/p/6073705.html

猜你喜欢

转载自blog.csdn.net/woshidd0/article/details/81198899