これはよく聞かれる質問かもしれませんが、最初の django Web サイトを立ち上げるためにほぼ 1 日最善を尽くしましたが、結果はありませんでした。共有ホスティングと django の経験がある人は助けてください。関連情報は次のとおりです。Python 2.6 がリモート マシンの $HOME/.local/lib/ flup にインストールされ、django が同じ場所にインストールされています。すべては setup.py install --user によって行われます。私のdjangoプロジェクトのファイル構造:
$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.
ここからのヘルプやガイダンスに感謝します。