django - 通过主管监督 virtualenv django 应用程序

标签 django virtualenv pip supervisord

我正在尝试使用 supervisor 来管理在 virtualenv 中运行 gunicorn 的 django 项目。 我的配置文件如下所示:

[program:diasporamas]
command=/var/www/django/bin/gunicorn_django
directory=/var/www/django/django_test
process_name=%(program_name)s
user=www-data
autostart=false
stdout_logfile=/var/log/gunicorn_diasporamas.log
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=2
stderr_logfile=/var/log/gunicorn_diasporamas_errors.log
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=2enter code here

问题是,我需要主管在我的 virtualenv 中运行“source bin/activate”后启动命令。我一直在谷歌周围闲逛试图找到答案,但没有找到任何东西。

注意:我不想使用 virtualenvwrapper

有什么帮助吗?

最佳答案

documentation对于 virtualenv activate 脚本说它只修改 PATH 环境变量,在这种情况下你可以这样做:

[program:diasporamas]
command=/var/www/django/bin/gunicorn_django
directory=/var/www/django/django_test
environment=PATH="/var/www/django/bin"
...

从 3.2 版开始,您可以使用 variable expansion也保留现有的路径:

[program:diasporamas]
command=/var/www/django/bin/gunicorn_django
directory=/var/www/django/django_test
environment=PATH="/var/www/django/bin:%(ENV_PATH)s"

...

关于django - 通过主管监督 virtualenv django 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6532486/

相关文章:

python - Django Apache 值错误 : Attempted Relative Import in non-package

python - virtualenv 下的 getsitepackages 问题

python - 尝试 PIP 卸载软件包以升级它时,DESCRIPTION.rst 文件的权限被拒绝

python - 如何在没有 pip 的情况下升级/安装软件包

tensorflow - 如何安装tensorflow==2.3.0

javascript - 带有 {% for %} 和 {% if %} 的 Django 模板?

python - 是否可以使用 AJAX 更改查询集?

python - 导出不带前缀变量的 conda 环境,它显示可执行文件的本地路径

django - 使用参数重定向。 NoReverseMatch 在/test/

django - 向数据库添加初始数据