Ubuntu16.04安装supervisor过程记录

基础环境

系统:Ubuntu 16.04
Python版本:系统自带默认:2.7.10

安装

目前supervisor对于python3的支持还不是很友善,所以默认使用python2的环境安装,但是并不妨碍管理python3环境下的应用和进程。

  • 安装supervisor
$ sudo pip install supervisor
  • 重定向配置文件(需要切换到root账户,sudo都不行
$ sudo su  # 切换到root
$ echo_supervisord_conf > /etc/supervisor/supervisord.conf
  • 修改配置文件
    打开/etc/supervisor/supervisord.conf文件,在最下面,我们会找到如下梁行代码:
;[include]
;files = relative/directory/*.ini    可以是 *.conf 或 *.ini,这里的路径指向项目的supervisor.ini配置文件的存储地方,在这里可以通过软链接来统一管理。

去掉前面的注释 ; ,即可引入自定义配置文件,files 文件后面的配置文件路径即是自己定义的配置文件路径

[include]
files = /data/supervisor-configs/*.ini

这里我们使用软连接,将其软连到我们的项目下的supervisor.ini配置文件

ln -s  /myproject/configs/supervisor.ini  /etc/supervisor-configs/myproject.ini
  • 配置文件参数参考

[program:myproject]
environment = NEW_RELIC_CONFIG_FILE=/data/www/myproject/configs/newrelic.ini # 通过newrelic去监控程序
directory = /data/www/myproject/configs
command = newrelic-admin run-program /usr/local/bin/uwsgi --ini uwsgi.ini # 启动uwsgi配置文件,根据自己的uwsgi实际安装路径填写
autostart = true
autorestart = true
stopsignal = QUIT
killasgroup = true
buffer-size = 65535
redirect_stderr = true # 错误日志重定向输出
stdout_logfile_maxbytes = 0
stdout_logfile_backups = 0
stdout_logfile = /data/logs/myproject/uwsgi.stdout.log

  • 启动使用下面命令:

supervisord

  • 然后使用supervisorctl管理工具

supervisorctl
restart xxx # 重启
update # 加载配置
reload # 重新加载,一般用update

start xxx # 启动某个项目
stop xxx # 停止某个项目

你可能感兴趣的:(Ubuntu16.04安装supervisor过程记录)