【问题标题】:Supervisord manage fcgi and djangoSupervisord 管理 fcgi 和 django
【发布时间】:2012-12-23 18:12:11
【问题描述】:

我已经设法在我的一个 django 项目上使用 fastcgi 设置了 supervisord,问题是当我让 mi 程序停止时,服务器以某种方式继续运行,而我的页面保持在线。

这是我的 supervisord 程序指令:

[program:helloworld]
command=/var/www/django-projects/helloworld/run

这是我的“运行”脚本:

#!/bin/bash

source /var/www/django-projects/helloworld/venv/bin/activate;
/var/www/django-projects/helloworld/manage.py runfcgi \
     daemonize=false \
     host=127.0.0.1 \
     port=8000;

我想要的只是一种使用 supervisord 停止/启动/重新启动这个 django 项目的方法,希望你能帮助我。

【问题讨论】:

    标签: django fastcgi supervisord


    【解决方案1】:

    虽然我不使用 fcgi,但我几乎可以肯定你的问题在于 source /var/www/django-projects/helloworld/venv/bin/activate;

    你不应该在supervisor启动脚本中使用source,它会改变当前的shell并且没有supervisord。相反,只需在 supervisord 脚本中更改您的路径:

    directory = /var/www/django-projects/helloworld/
    command = /var/www/django-projects/helloworld/manage.py runfcgi \
     daemonize=false \
     host=127.0.0.1 \
     port=8000;
    

    请参阅this answervirtualenv documentation,了解如何使用activate 脚本。

    【讨论】:

    • 嗨@Density 我接受了你关于 virtualenv 的建议,但是它仍然不起作用,你介意告诉我你使用的是哪个服务器以及你是如何配置它的吗?
    • 我终于设法让它运行了,但使用的是 gunicorn,虽然我真的很想使用 fastcgi。
    猜你喜欢
    • 2022-08-04
    • 2019-12-07
    • 2010-11-15
    • 2011-12-05
    • 2011-01-17
    • 1970-01-01
    • 1970-01-01
    • 2013-12-21
    • 2020-05-09
    相关资源
    最近更新 更多