在共享主机上设置Django网站
作者:互联网
你如何在共享主机中设置Django网站?
我检查了django安装,没关系
>>> import django
>>> django.VERSION
>>> (1, 4, 0, 'final', 0)
我跟随http://www.djangobook.com/en/2.0/chapter12/部分在Apache的共享托管提供商上运行Django无济于事.目前网站是这样的
/home/django_projects/WebsiteName
/sites/WebsiteName.co.id/www/.htaccess
/sites/WebsiteName.co.id/www/dispatch.fcgi
.htaccess文件是这样的
AddHandler fastcgi-script .fcgi
RewriteEngine On
RewriteBase /
RewriteRule ^(media/.*)$$1 [QSA,L]
RewriteRule ^(admin_media/.*)$$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$dispatch.fcgi/$1 [QSA,L]
而dispatch.fcgi就是这样的
#!/usr/bin/python
import sys, os
sys.path = ['$HOME/lib/python/Django-1.4'] + sys.path
sys.path = ['$HOME/django_projects'] + sys.path
os.chdir("$HOME/django_projects")
#from flup.server.fcgi import WSGIServer
from django.core.servers.fastcgi import runfastcgi
os.environ['DJANGO_SETTINGS_MODULE'] = 'WebsiteName.settings'
runfastcgi(["method=threaded", "daemonize=false"])
当我访问网站时,它一直生成错误500,内部错误.到目前为止我尝试过的是,
[1] Changing AddHandler fastcgi-script .fcgi to AddHandler fcgid-script .fcgi
[2] Removing AddHandler fastcgi-script .fcgi
[3] Putting the website directory to /sites/WebsiteName.co.id/www/WebsiteName instead of /home/django_projects/WebsiteName/
[4] Do no. 3 and move dispatch.fcgi to /sites/WebsiteName.co.id/www/WebsiteName
如果这个问题太愚蠢,我很抱歉.我是Django的新手.顺便说一句,没有1-4是不合适的.这只是对我到目前为止尝试过的事情进行编号.如果我不这样做. 4,网站显示dispatch.fcgi的内容.
解决方法:
在共享主机上使用mod_wsgi进行部署更容易.我在Quijost上工作,我们使用nginx作为后端,在mod_wsgi下提供了Django 1.4和Python 2.7的内置包.
我们在论坛中为mod_wsgi写了一个small tutorial,也许它对你的fastcgi示例很有用.
标签:python,apache,django,shared-hosting 来源: https://codeday.me/bug/20190709/1414709.html