使用FastCGI在共享主机上设置Django
我知道这可能是一个经常被问到的问题,但我几乎一天都在尽最大努力发布我的第一个django网站,但没有结果,所以请任何有共享主机和django经验的人帮助我。以下是相关信息: python 2.6安装在远程计算机上的$HOME/.local/lib/ flup和django位于同一位置,所有操作都由setup.py install--user完成。 my django项目文件结构:使用FastCGI在共享主机上设置Django,django,apache,shared-hosting,fastcgi,Django,Apache,Shared Hosting,Fastcgi,我知道这可能是一个经常被问到的问题,但我几乎一天都在尽最大努力发布我的第一个django网站,但没有结果,所以请任何有共享主机和django经验的人帮助我。以下是相关信息: python 2.6安装在远程计算机上的$HOME/.local/lib/ flup和django位于同一位置,所有操作都由setup.py install--user完成。 my django项目文件结构: $HOME/ projects/django/bw_python/
$HOME/
projects/django/bw_python/
manage.py
bw_python/
__init__.py
settings.py
urls.py
wsgi.py
site_main/
django app with urls,models, etc...
在$HOME/.bashrc中,我有以下几行:
export PATH=$HOME/.local/bin:$HOME/.local/usr/bin:$PATH
export PYTHONPATH=$HOME/projects/django:$HOME/projects/django/bw_python:$HOME/projects/django/bw_python/bw_python:$HOME/projects/django/bw_python/site_main:$PYTHONPATH
如果我运行python解释器django和flup,manage.py runserver将正常工作,不会出现任何错误
现在在public_html中,我有以下bw_python.fcgi脚本:
#!/usr/bin/env python
import sys, os
# Add a custom Python path.
sys.path.insert(0, "/home5/bwinnova/.local/lib/python")
# Switch to the directory of your project. (Optional.)
os.chdir("/home5/bwinnova/projects/django/bw_python")
# Set the DJANGO_SETTINGS_MODULE environment variable.
os.environ['DJANGO_SETTINGS_MODULE'] = "bw_python.settings"
from django.core.servers.fastcgi import runfastcgi
runfastcgi(method="threaded", daemonize="false")
如果我执行./bw_python.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: 301 MOVED PERMANENTLY
Content-Type: text/html; charset=utf-8
Location: http://localhost/home/
.htaccess:
AddHandler fcgid-script .fcgi
RewriteEngine On
RewriteCond %{REQUEST_URI} !-f
RewriteRule ^(.*)$ bw_python.fcgi/$1 [QSA,L]
这两个文件(包括$HOME/projects/django/bw_python)上的chmod都是755。
很抱歉,从教程中我被困在这里了?下一步要做什么?我总是收到一个500服务器错误,在服务器错误日志中只有以下内容:
[Fri Jul 27 19:29:14 2012] [warn] RewriteCond: NoCase option for non-regex pattern '-f' is not supported and will be ignored.
提前感谢您在此提供的任何帮助或指导