Apache中的Django通过mod_fcgid:如何追踪FastCGI错误?

时间:2016-02-16 21:41:59

标签: python django apache mod-fcgid

由于一系列遗留的基础结构,我必须通过mod_fcgid在Apache服务器中部署Django应用程序(没有nginx,没有mod_wsgi mod_uswgi)。

我关注Django (1.8) instructions to deploy via FastCGI,但mod_fcgid正在退出,我不知道为什么。

我得到的最有用的信息是exit(communication error), terminated by calling exit(), return code: 120。不知道可能会引起什么。

这是Apache的error_log

[Tue Feb 16 13:20:28 2016] [info] mod_fcgid: server subdomain.domain.com:/path/to/project/index.fcgi(15473) started
[Tue Feb 16 13:20:31 2016] [info] mod_fcgid: process /path/to/project/index.fcgi(15473) exit(communication error), terminated by calling exit(), return code: 120

这是我的.htaccess

AddHandler fcgid-script .fcgi
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.fcgi/$1 [QSA,L]

这是我的index.fcgi

#!/path/to/project/venv/bin/python

import sys
import os

sys.path.insert(0, "/path/to/project")
os.chdir("/path/to/project")
os.environ['DJANGO_SETTINGS_MODULE'] = "project.settings"

from django.core.servers.fastcgi import runfastcgi
runfastcgi(method="threaded", daemonize="false")

我尝试使用和不使用sys.path(…)os.chdir(…)行以及其他一些细微更改,例如使用/path/to/project(其中manage.py是)或/path/to/project/project(包装本身)。

0 个答案:

没有答案