一、開啟命令
- supervisor的服務器端部分啟動命令:
- sudo unlink /var/run/supervisor.sock
- supervisord -c /etc/supervisor/supervisord.conf
此時默認開啟了所有服務
- supervisor的客戶端部分命令:
- supervisorctl status 查看進程運行狀態
- supervisorctl start 進程名 啟動進程
- supervisorctl stop 進程名 關閉進程
- supervisorctl restart 進程名 重啟進程
- supervisorctl reread 重新讀取配置
- supervisorctl update 重新載入配置文件
- supervisorctl shutdown 關閉supervisord
- supervisorctl clear 進程名 清空進程日志
- supervisorctl 進入到交互模式下。使用help查看所有命令。
- start stop restart + all 表示啟動,關閉,重啟所有進程。
二、關閉命令
supervisorctl stop all先關閉supervisor服務
之后再關閉supervisord服務
kill -9 pid
-------------------------------------------------------------------------------------------------------------------------------------------------------------
1、安裝supervisor
supervisor4.0.0已支持python3,需使用pip安裝
sudo pip install supervisor
2、軟連接,使其正常執行命令
sudo ln -s /usr/local/bin/supervisord /usr/bin/supervisord
sudo ln -s /usr/local/bin/supervisorctl /usr/bin/supervisorctl
3、產生設置
sudo mkdir /etc/supervisor #創建supervisor,若存在請忽略
sudo mkdir /etc/supervisor/conf.d #創建conf.d,若存在請忽略
sudo echo_supervisord_conf > /etc/supervisor/supervisord.conf 添加設置
4、修改設置
sudo vim /etc/supervisor/supervisord.conf #在[supervisord]下面添加environment=LC_ALL='en_US.UTF-8',LANG='en_US.UTF-8'解決編碼問題,將末尾的[include]部分改為:files = /etc/supervisor/conf.d/*.conf 讀取用戶配置
5、設置開機自啟
sudo vim /usr/lib/systemd/system/supervisord.service
#添加以下內容並保存
[Unit]
Description=Supervisor daemon
[Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf #讀取配置
ExecStop=/usr/bin/supervisorctl shutdown
ExecReload=/usr/bin/supervisorctl reload
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target
5、使用systemctl執行相關命令
sudo systemctl start supervisord #啟動 Supervisor 服務
sudo systemctl stop supervisord #停止 Supervisor 服務
sudo systemctl restart supervisord #重啟 Supervisor 服務
sudo systemctl status supervisord #查看 Supervisor 服務狀態
sudo systemctl enable supervisord #設置 Supervisor 服務開機自啟動
sudo systemctl disable supervisord #關閉 Supervisor 服務開機自啟動
6、安裝gunicorn
進入項目根目錄
pipenv install gunicorn
7、用戶配置
sudo vim /etc/supervisor/conf.d/xxx.conf #xxx項目名稱
#添加以下內容
[program:xxx] #xxx項目名稱
command=pipenv run gunicorn -w 5 app:app #使用pipenv運行gunicorn程序 -w 5(2*cpu核心數 + 1)
directory=/home/overman/fangjuhe #項目根目錄
user=xxx #創建該項目用戶
autostart=true #在supervisord啟動的時候也自動啟動
autorestart=true #程序異常退出后自動重啟
stopasgroup=true #確保關閉supervisord時停止所有相關子進程
killasgroup=true #確保關閉supervisord時停止所有相關子進程
作者:初見風吟_overman
鏈接:https://www.jianshu.com/p/3e1f7b8b6214
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
作者:黑暗中的杜迪安
鏈接:https://www.jianshu.com/p/c8071234f081
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。