supervisor的使用

環境:html

centOS7.5 python3與python2共存

 

使用這種方式配置supervisor,能夠爲每1個flask項目創建 1個配置文件,使用1個supervisorctl統一管理,各類項目之間的配置文件又互不干擾。python

經過在jenkins使用shell命令便可完成項目的自動佈署git

 

參照:Centos7 中使用Supervisor守護進程shell

 

 

下面這種方式,只能在flask項目中經過supervisord -c xx.conf文件這種方式啓動gunicorn,每次佈署項目以後,都 須要手動重啓,很不方便。flask

目標:瀏覽器

讓supervisor管理gunicorn,能夠在gunicorn發生意外的狀況下,會自動的重啓。
1.supervisor的安裝:
在系統級別的python環境下pip install supervisor。(這裏若是你用的是python3寫的項目,也能夠直接用pip安裝啓動supervisor,也就是python2,supervisor安裝在3或者2,對你的項目沒有任何影響)
2.在項目的根目錄下建立一個文件叫作program_name_supervisor.conf,目錄結構以下:bash

 

配置文件內容以下:服務器

注意:app

1.注意supervisord配置文件行頭不要有空格post

2.gunicorn的命令要在虛擬環境下運行(由於gunicorn安裝在flaskApi這個虛擬環境中)

# supervisor的程序名字
[program:gotest] #program_name 該名稱能夠隨意設置
# supervisor執行的命令
command=/root/.virtualenvs/flaskApi/bin/gunicorn -w 4 -b 127.0.0.1:8000 wsgi:application
# 項目的目錄
directory = /home/wangju/gitProject/flaskDemo
# 開始的時候等待多少秒
startsecs=0
# 中止的時候等待多少秒
stopwaitsecs=0  
# 自動開始
autostart=true
# 程序掛了後自動重啓
autorestart=true
# 輸出的log文件
stdout_logfile=programdir/log/supervisord.log  #這裏你可能須要先建立log路徑
# 輸出的錯誤文件
stderr_logfile=programdir/log/supervisord.err#同上

[supervisord]
# log的級別
loglevel=info

# 使用supervisorctl的配置
[supervisorctl]
# 使用supervisorctl登陸的地址和端口號
serverurl = http://127.0.0.1:9001

# 登陸supervisorctl的用戶名和密碼
username = admin
password = admin123456

[inet_http_server]
# supervisor的服務器
port = :9001
# 用戶名和密碼
username = admin
password = admin123456

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

 安裝:

yum install -y epel-release

yum install -y supervisor

驗證安裝成功:

#測試是否安裝成功
echo_supervisord_conf #建立配置文件
echo_supervisord_conf > /etc/supervisord.conf

經過supervisor啓動gunicorn

(flaskApi) [root@67 flaskDemo]# supervisord -c gotest_supervisor.conf

肯定supervisord 服務並設置爲隨機啓動:

 systemctl start supervisord.service && systemctl enable supervisord.service

 

瀏覽器輸入url確認一下,gunicron已經把flask啓動起來了,能夠正常請求並返回內容

 

 

參考文檔:

https://www.jianshu.com/p/d2da31b95a55

https://www.cnblogs.com/Dicky-Zhang/p/6171954.html

相關文章
相關標籤/搜索