其他分享
首页 > 其他分享> > 在共享主机上设置Django网站

在共享主机上设置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