我看了一下,我們們 flask 社群沒什麼人吶,頂起

kevin-qiu發表於2019-11-04

supervisor使用手記,本部落格系統用到該技術
其實這並不是所謂的踩坑,他只是問題的解決手記而已,記錄了一些處理問題的思路。

公司新網站(https://www.wavlink.com) 剛剛於五一後上線,由於是公司使用,電商部門的強烈要求需要使用ssl證照加密。可證照很貴,現在還不想為公司把這筆錢花出去,至少也得再過一年。

至於如何生成瀏覽器都認賬的SSL證照,這裡不做介紹,後面寫一篇文章來講解,這裡指向說我想給我的flask部落格也安裝一個證照,然而在過程中出現了意外,這裡說的處理意外的思路過程。

我的flask 是跑的python3+supervisor+gunicorn+nginx+mysql。節前我就花了很多心思把他部署上去了,也沒有遇到什麼問題,可是這次想整個證照重啟了一下伺服器,結果發現nginx報502錯誤了。到這裡我能第一個想到是flask例項沒有啟動,而啟動flask例項是gunicorn的事情,gunicorn是用supervisor驅動的,所以到推過來,肯定是supervisor出了問題。

於是執行命令

supervisorctl -c /etc/supervisor/supervisor.conf\
unix:///tmp/supervisor.sock no such file\
這個就尷尬了哈,不太會誒,於是一路谷歌(其實我這裡用的是百度,別坑百度了,國內搜尋技術還是有些用的,推薦不能翻牆的哥們用),問題其實出在了supervisorctl上。

這個命令就像httpd 和apachectl 一樣的關係,具體可以谷歌查一下,磨刀不誤砍柴工。supervisorctl要求你的supervisord要啟動起來用於監聽sock檔案。

幾經周折,發現我原來執行supervisord 是用的 -C指定配置檔案執行的

supervisord -c /etc/supervisor/supervisor.conf\
可是supervisord服務隨機啟動是找不到這個配置檔案位置(研究了八三年天,發現你用哪個使用者身份啟動,就需要再哪個使用者家目錄裡放supervisord.conf)

知道了問題所在,那就將檔案連線過來就好了啊

ln -s /etc/supervisor/supervisord.conf ~/supervisord.conf\
再執行 supervisord 命令,可以看到例項已經執行起來了。

supervisorctl status 可以檢視狀態

到這裡,問題就解決了。

本文源地址:blog.motkit.com

參考地址
upervisor配置詳解

https://www.cnblogs.com/ajianbeyourself/p/...
supervisorctl unix ///tmp/supervisor.sock refused connection
https://blog.csdn.net/tengdazhang770960436...
使用 supervisor 管理程式
http://www.ttlsa.com/linux/using-superviso...

相關文章