Решено: К сожалению, мне не удалось решить проблему, но я начал заново и следовал Руководство по Django + FastCGI на вики "A Small Orange", и все работает как положено .
Я пытаюсь настроить Django с FCGI на Apache. План веб-хостинга, который я использую, — это план общего хостинга A Small Orange.
Django установлен, работает и может создавать таблицы базы данных, когда я запускаю команду syncdb. Если я запускаю manage.py runserver
, а затем использую lynx для перехода к localhost:8080
, django будет отображаться правильно. Однако просмотр django через Интернет невозможен, так как на странице отображается внутренняя ошибка сервера 500.
У меня установлен пакет flup python, и я использую python версии 2.6.
Ниже приведено содержимое моего файла .htaccess, расположенного в /public_html/
:
RewriteEngine On
RewriteBase /
RewriteRule ^(media/.*)$ - [L]
RewriteRule ^(admin_media/.*)$ - [L]
RewriteRule ^(dispatch\.fcgi/.*)$ - [L]
RewriteRule ^(.*)$ dispatch.fcgi/$1 [L]
Ниже приводится содержимое моего файла dispatch.fcgi, который также находится в /public_html
:
#!/usr/local/lib/python2.6
import sys
import os
os.chdir('/home/thegamer/django/projects/thegamer')
sys.path += ['/home/thegamer/django/django']
sys.path += ['/home/thegamer/django/projects']
from fcgi import WSGIServer
from django.core.handlers.wsgi import WSGIHandler
import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'thegamer.settings'
WSGIServer(WSGIHandler()).run()