我正在为使用django的客户端构建网站。它被托管在共享主机上,mod_wsgi无法使用。在过去的一年里,我使用fcgi开始工作,但是当我回来的时候,它被打破了。获取flup fcgi脚本难以工作
我已经取代了FCGI脚本简单的Hello World脚本:
#!/usr/bin/python
def myapp(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/plain')])
return ['Hello World!\n']
try:
from flup.server.fcgi import WSGIServer
WSGIServer(myapp).run()
except:
import sys, traceback
traceback.print_exc(file=open("errlog.txt","a"))
测试,我的本地服务器上的工作,但托管服务器上,我得到这个错误:
<title>FCGI Error</title>
A timeout occured while waiting for the script output (in: /usr/www/users/mymemb/).
如果我看错误日志,我看到:
[Wed Jan 6 16:59:37 2010] [warn] FastCGI: (dynamic) server "/usr/www/users/mymemb/mymembers.fcgi" has failed to remain running for 30 seconds given 3 attempts, its restart interval has been backed off to 10 seconds
[Wed Jan 6 16:59:38 2010] [warn] FastCGI: (dynamic) server "/usr/www/users/mymemb/mymembers.fcgi" has failed to remain running for 30 seconds given 3 attempts, its restart interval has been backed off to 10 seconds
[Wed Jan 6 16:59:38 2010] [warn] FastCGI: (dynamic) server "/usr/www/users/mymemb/mymembers.fcgi" (user mymemb, gid 100) restarted (pid 1057)
[Wed Jan 6 16:59:38 2010] [warn] FastCGI: (dynamic) server "/usr/www/users/mymemb/mymembers.fcgi" (pid 1057) terminated by calling exit with status '118'
[Wed Jan 6 16:59:38 2010] [warn] FastCGI: (dynamic) server "/usr/www/users/mymemb/mymembers.fcgi" has failed to remain running for 30 seconds given 3 attempts, its restart interval has been backed off to 10 seconds
[Wed Jan 6 16:59:38 2010] [warn] FastCGI: (dynamic) server "/usr/www/users/mymemb/mymembers.fcgi" has failed to remain running for 30 seconds given 3 attempts, its restart interval has been backed off to 10 seconds
[Wed Jan 6 16:59:38 2010] [warn] FastCGI: (dynamic) server "/usr/www/users/mymemb/mymembers.fcgi" has failed to remain running for 30 seconds given 3 attempts, its restart interval has been backed off to 10 seconds
etc ...
如果我SSH服务器,我可以运行脚本很好,输出如下:
[email protected]:~/public_html$ ./mymembers.fcgi
WSGIServer: missing FastCGI param REQUEST_METHOD required by WSGI!
WSGIServer: missing FastCGI param SERVER_NAME required by WSGI!
WSGIServer: missing FastCGI param SERVER_PORT required by WSGI!
WSGIServer: missing FastCGI param SERVER_PROTOCOL required by WSGI!
Status: 200 OK
Content-Type: text/plain
Content-Length: 13
Hello World!
我该如何解决这个问题?
新增信息:
好像脚本不运行在所有。如果我在脚本的顶部添加import x,并从ssh运行它,我会看到创建了x.pyc。如果我rm x.pyc,然后点击该网站,x.pyc不会被创建。
我也注意到,从
terminated by calling exit with status '118'
改为
terminated by calling exit with status '116'
的错误,我希望我能找到这些退出状态的参考。
你用什么服务器来运行mymembers.fcgi? – Tobu 2010-01-10 16:17:56
Debian Etch,Apache 1.3 该网址是http://www.mymembers.co.za/ – 2010-01-10 16:37:06
我怀疑mod_fastcgi配置错误。请发布或粘贴您的apache配置的相关部分。 – Tobu 2010-01-10 19:30:24