異常問題:使用的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...