基礎(chǔ)環(huán)境
系統(tǒng):Ubuntu 16.04
Python版本:系統(tǒng)自帶默認(rèn):2.7.10
安裝
目前supervisor對(duì)于python3的支持還不是很友善执赡,所以默認(rèn)使用python2的環(huán)境安裝春霍,但是并不妨礙管理python3環(huán)境下的應(yīng)用和進(jìn)程。
- 安裝
supervisor
$ sudo pip install supervisor
- 重定向配置文件(
需要切換到root賬戶,sudo都不行
)
$ sudo su # 切換到root
$ echo_supervisord_conf > /etc/supervisor/supervisord.conf
- 修改配置文件
打開/etc/supervisor/supervisord.conf
文件俭缓,在最下面,我們會(huì)找到如下梁行代碼:
;[include]
;files = relative/directory/*.ini 可以是 *.conf 或 *.ini,這里的路徑指向項(xiàng)目的supervisor.ini配置文件的存儲(chǔ)地方,在這里可以通過軟鏈接來統(tǒng)一管理浆兰。
去掉前面的注釋 ;
,即可引入自定義配置文件零抬,files 文件后面的配置文件路徑即是自己定義的配置文件路徑
[include]
files = /data/supervisor-configs/*.ini
這里我們使用軟連接镊讼,將其軟連到我們的項(xiàng)目下的supervisor.ini
配置文件
ln -s /myproject/configs/supervisor.ini /etc/supervisor-configs/myproject.ini
- 配置文件參數(shù)參考
[program:myproject]
environment = NEW_RELIC_CONFIG_FILE=/data/www/myproject/configs/newrelic.ini # 通過newrelic去監(jiān)控程序
directory = /data/www/myproject/configs
command = newrelic-admin run-program /usr/local/bin/uwsgi --ini uwsgi.ini # 啟動(dòng)uwsgi配置文件,根據(jù)自己的uwsgi實(shí)際安裝路徑填寫
autostart = true
autorestart = true
stopsignal = QUIT
killasgroup = true
buffer-size = 65535
redirect_stderr = true # 錯(cuò)誤日志重定向輸出
stdout_logfile_maxbytes = 0
stdout_logfile_backups = 0
stdout_logfile = /data/logs/myproject/uwsgi.stdout.log
- 啟動(dòng)使用下面命令:
supervisord
- 然后使用supervisorctl管理工具
supervisorctl
restart xxx # 重啟
update # 加載配置
reload # 重新加載平夜,一般用update
start xxx # 啟動(dòng)某個(gè)項(xiàng)目
stop xxx # 停止某個(gè)項(xiàng)目