supervisor支持python虚拟环境venv

Posted blackmatrix

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了supervisor支持python虚拟环境venv相关的知识,希望对你有一定的参考价值。

在项目中使用supervisor时,如何在虚拟环境下启动一直存在些小问题。

试过sh脚本,在脚本中激活虚拟环境,这样虽然可以正常启动,但是supervisor无法正确的结束进程,必须手动结束。

反复摸索后,发现其实很容易实现,稍微修改下supervisor的配置即可。

 


 

假设,我们的虚拟环境在项目根目录下的venv中。

那么在对supervisor的配置做如下修改,不需要修改的地方略去。

directory=/home/pepper/code/jadetower_health
 
上面这个指向项目的根目录
 
command=venv/bin/python gunicorn -w 6 -b 0.0.0.0:8001 project.wsgi --access-logfile logs/gunicorn.log
 
command 启动命令不直接使用python,而是使用虚拟环境里的python,这里是venv/bin/python。
 
最后紧跟需要启动的脚本,我这里是用的gunicron。
 

 
最后,更新supervisor配置
 
supervisorctl update
 
然后重启
 
supervisorctl reload
 
这个时候项目已经在虚拟环境中运行。

 

 

以上是关于supervisor支持python虚拟环境venv的主要内容,如果未能解决你的问题,请参考以下文章

flask + supervisor + gunicorn

使用Nginx+Gunicorn+virtualenv+supervisor来部署django项目

linux 使用进程管理工具 supervisor

python虚拟环境--pipenv的使用

python nginx+gunicorn+flask+supervisor

Supervisor守护进程虚拟环境部署Django