supervisor安裝與基操(包含配置gunicorn)

supervisor

1、安裝supervisor安裝

注:如下全部操做在CentOS7中進行

1.安裝CentOS7擴展軟件倉庫

sudo yum install -y epel-release

2.安裝supervisor

yum install -y supervisor

3.查看安裝了哪些文件以及所在的路徑

rpm -ql supervisor

4.修改並定義ini文件

step1:

找到supervisor 的配置的文件,能夠使用例如: whereis supervisord.ini 或者 find / -name supervisor* 命令進行查詢

step2:

修改配置文件,將配置文件最後一行修改ini 文件路徑,意爲:supervisor每次update都會加載這個自定義路徑文件夾下的
全部後綴爲ini的文件。

clipboard.png
clipboard.png

step3:

建立ini文件,加入supervisor的進程管理中, 實現服務器後臺運行
[program:exmaple] # example是在supercisor中的進程名,隨便取啥
command=/usr/local/bin/gunicorn -w 4 -b 127.0.0.1:91 run:app 
# 上述代碼爲使用gunicorn 運行flask。run是你的文件名 :app指的是app = Flask(__name__)此處的app
                        或者是
command=/usr/local/bin/python3 /root/test/test.py
# command=運行指令所在路徑  須要運行的文件(ps:建議使用絕對路徑)

directory=/root/test/
# 須要運行的文件所在的絕對路徑
autostart=true
autorestart=true
priority=5
killasgroup=true
stopasgroup=true
python 運行單個文件配置舉例
其實若只是運行單個文件,能夠直接使用 nohup python test.py & (ps:需 cdtest所在文件夾執行此命令) 即會實現服務器後臺運行,同時會在 test.py所在文件夾下生成 nohup.out日誌文件
[program:myProgram]
command=python /home/myname/test.py
autostart=true
autorestart=ture
stdout_logfile=/home/myname/test.log
gunicore 運行flask的配置文件舉例
[program:myProgram]
command=/usr/local/bin/gunicorn -w 4 -b 127.0.0.1:91 flask:app
directory=/root/example/
autostart=true
autorestart=true
priority=5
killasgroup=true
stopasgroup=true

2、啓動supervisor

supervisord
# 啓動supervisord並指定conf文件路徑
supervisord -c 配置文件所在的絕對路徑
e.g: supervisord -c /etc/supervisor/supervisord.conf  

#關閉supervisord
supervisorctl shutdown

1.啓動Supervisor服務

# 開啓全部
supervisorctl start all
# 開啓單個(配置文件裏你起得進程名字-->[program:myProgram])
supervisorctl start myProgram
# 查看Supervisor 服務狀態
supervisorctl status

2.修改了Supervisor ini文件或者conf文件配置後,須要更新服務

supervisorctl update # 更新supervisor的配置
supervisorctl reload # 從新加載項目到內存中

3.重啓supervisor服務

supervisorctl restart # 無論當前是已經關閉仍是正在運行

4.日誌路徑

tail -f /var/log/supervisor/supervisord.log

5.關閉supervisor的服務

supervisorctl stop all # 關閉全部
supervisorctl stop example # 關掉其中一個

3、關於報錯

基本上全部的報錯我都有過, 可是找來找去仍是歸類爲一下三種:
  1. 沒有啓動supervisord -----> 運行supervisord命令
  2. 你的配置文件內容出錯了 ------> 檢查你的配置文件內容
  3. 你的須要運行的代碼出錯了 -----> 檢查你的代碼:

4、閱讀反饋

若有幫助能夠順手點個贊, 以爲哪裏不夠詳細能夠評論指出。

謝謝閱讀。

相關文章
相關標籤/搜索