supervisord監控uwsgi程序

2021-10-10 07:40:13 字數 1721 閱讀 2477

異常問題:使用的uwsgi管理django程式自己掛掉

解決方案:使用supervisord管理uwsgi,實現uwsgi掛掉自啟

1.uwsgi.ini原始檔特別強調的是daemonize引數必須注釋掉

[uwsgi]

#使用nginx連線時使用,django程式所在伺服器位址

socket=127.0.0.1:8282

#直接做web伺服器使用,django程式所在伺服器位址

#專案目錄

chdir=/home/aaa

#專案中wsgi.py檔案的目錄,相對於專案目錄

wsgi-file=aaa/wsgi.py

#程序數

processes=2

#執行緒數

threads=2

#uwsgi伺服器的角色

master=true

#存放程序編號的檔案

pidfile=uwsgi.pid

#使程序在後台執行,並將日誌打到指定的日誌檔案或者udp伺服器

#daemonize=uwsgi.log

2.安裝supervisord

yum install supervisor

#開機自啟

yum enable supervisord

#啟動服務

yum start supervisord

預設安裝完配置檔案是在/etc/supervisord.conf

開啟子配置檔案路徑

[include]

files = /etc/supervisor/conf.d/*.conf

3./etc/supervisor/conf.d/ zqm.conf配置檔案

[program:zqmxcx]

command = uwsgi --ini uwsgi.ini ;supervisor執行的命令

directory = /home/aaa ;專案的目錄

process_name=%(program_name)s_%(process_num)02d

numprocs=1 ;程序數

autostart = true ;當supervisord啟動,程式自動開始啟動

autorestart = true ;程式掛了後自動重啟

stdout_logfile = /home/aaa/supervisor.log ;輸出的log檔案

stderr_logfile = /home/aaa/supervisor_error.log ;輸出的錯誤日誌檔案

startsecs=5 ;啟動 5 秒後沒有異常退出,就當作已經正常啟動了

startretries=3 ;嘗試重新啟動次數

4.重啟服務

systemctl restart supervisord
5.檢視狀態

[root@linux-node01 conf.d]# supervisorctl status

zqmxcx running pid 3182, uptime 0:01:00

此時如果你手動kill這個專案的pid,它就會實現重啟

linux下supervisor守護uwsgi程序

傳統的管理uwsgi服務 1.通過shell指令碼來編寫start restart stop函式來控制 2.比較麻煩,有時候控制寫的爛,還會出現意想不到的錯誤 supervisor進行管理 1.可以批量管理多個uwsgi服務 2.shell指令碼,nginx訪問,mysql等都能進行管理 3.每個服...

supervisord程序管理

一 安裝 1.1 介紹 supervisor 簡單,高效,可擴充套件,相容性好,是乙個程序管理工具。1.2 安裝環境 yum install python setuptools 安裝服務 cd usr local src wget tar zxvf setuptools 0.6c11.tar.gz ...

supervisord 啟動失敗

temp被刪除有可能是系統重啟導致快取被系統自動乾掉了,然後就找不到了,一勞永逸的方法就是將對應的sock 檔案移動到其他目錄下,比如 var run supervisor supervisor.sock 如果修正後直接重啟不行,就手動建立 sock 試試 sudo touch var run su...