我看了一下,咱们 flask 社区没什么人呐,顶起
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...
本作品采用《CC 协议》,转载必须注明作者和本文链接