supervisor使用


supervisor安装请参考flask应用部署——安装环境

生成配置文件

1# cd /etc
2# mkdir -p supervisord/conf.d
3# echo_supervisord_conf > /etc/supervisord/supervisord.conf

修改supervisord.conf

1# vim supervisord.conf # G直接跳到最后一行

取消下面注释并修改

1[include]
2files = /etc/supervisord/conf.d/*.ini

ok,现在可以在/etc/supervisord/conf.d/目录下创建配置文件了

1# vim honmaple.com.ini

输入以下内容

 1# 进程的名字
 2[program:website]
 3# 命令
 4command=/home/www/honmaple.com/venv/bin/gunicorn run:app -c /home/www/honmaple.com/gunicorn.conf
 5# 网站目录
 6directory=/home/www/honmaple.com
 7# 进程所属用户
 8user=www
 9# 自动重启设置。
10autostart=true
11autorestart=true
12# 日志存放位置。
13stdout_logfile=/home/www/honmaple.com/logs/gunicorn_supervisor.log

上面有几处需要注意的地方

创建新用户www
1# useradd www
2# passwd www #设置密码
3# su - www
4$ cd
5$ mkdir -p honmaple.com/logs
建立虚拟环境(honmaple.com/目录下)
1$ virtualenv-3.4 venv
2$ . venv/bin/activate
gunicorn配置
1# gunicorn.conf
2workers = 4
3bind = '127.0.0.1:8000'

简单的web应用

 1#run.py
 2from flask import Flask
 3app = Flask(__name__)
 4
 5@app.route('/')
 6def hello_world():
 7    return 'Hello World!'
 8
 9if __name__ == '__main__':
10    app.run()

加载supervisor配置

1# supervisord -c /etc/supervisord/supervisord.conf
2# supervisorctl -c /etc/supervisord/supervisord.conf reload

supervisor遇到的问题

提示

1Error: Another program is already listening on a port that one of our HTTP servers is configured to use.  Shut this program down first before starting supervisord.
2For help, use /usr/bin/supervisord -h
3...fail!

解决办法

1# unlink /tmp/supervisor.sock  

提示

1error: <class 'socket.error'>, [Errno 111] Connection refused: file: /usr/lib64/python2.6/socket.py line: 567

解决办法

1# supervisord -c /etc/supervisord/supervisord.conf
2# supervisorctl -c /etc/supervisord/supervisord.conf reload

提示
ERROR (no such process),请仔细查看配置文件是否有误

作者: honmaple
链接: https://honmaple.me/articles/2016/01/supervisor使用.html
版权: CC BY-NC-SA 4.0 知识共享署名-非商业性使用-相同方式共享4.0国际许可协议
wechat
alipay

加载评论