【问题标题】:Lighttpd, command line arguments to fastcgi processLighttpd,fastcgi 进程的命令行参数
【发布时间】:2012-10-31 19:04:54
【问题描述】:

我正在阅读 lighttpd 中 mod_fastcgi 的文档,上面写着:

“bin-path”:本地 FastCGI 二进制文件的路径,如果没有本地 FastCGI 正在运行,则应启动该二进制文件

如果我想让 lighttpd 直接启动我的 fastcgi 进程,并且说进程是由 python 脚本创建的,该怎么办?像这样的:

# bang omitted... I need to use python from virtualenv
# File runfastcgi.py
import os
import sys

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "atc.settings")
from django.core.management import execute_from_command_line
execute_from_command_line(['manage.py', 'runfcgi', ... ])

此外,我正在使用 virtualenv,并且我有办法从环境中导出所有路径,甚至是用于 virtualenv 的 python 解释器的路径......唯一的问题是,根据 mod_fastcgi 文档,我可以只将路径传递给 binary,所以,看来我做不到:

 bin-path => (env.ATC_VIRTUALENV + 'bin/python' + ' ' + 'runfastcgi.py')

我错了吗?有没有要求 lighttpd 使用 virtualenv python 来执行自定义的 runfastcgi.py?

【问题讨论】:

  • 这个问题似乎是题外话,因为它是关于服务器维护,而不是关于编程,它应该继续 Serverfault。
  • 最好使用from django.core.servers.fastcgi import runfastcgirunfastcgi(["method=threaded", "daemonize=false"]) 而不是execute_from_command_line(['manage.py', 'runfcgi', ...])

标签: python django virtualenv fastcgi lighttpd


【解决方案1】:

事实证明,您可以将整个命令行放入 bin-path。他们应该将其添加到文档中。

【讨论】:

    猜你喜欢
    • 2016-07-16
    • 2013-03-20
    • 1970-01-01
    • 1970-01-01
    • 2012-07-09
    • 2021-08-15
    • 2018-12-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多