在主机商的共享服务器上部署Django站点的方法
许多共享主机的服务提供商不允许运行你自己的服务进程,也不允许修改httpd.conf文件。尽管如此,仍然有可能通过Web服务器产生的子进程来运行Django。
记录
如果你要使用服务器的子进程,你没有必要自己去启动FastCGI服务器。Apache会自动产生一些子进程,产生的数量按照需求和配置会有所不同。
在你的Web根目录下,将下面的内容增加到.htaccess文件中:
AddHandlerfastcgi-script.fcgi
RewriteEngineOn
RewriteCond%{REQUEST_FILENAME}!-f
RewriteRule^(.*)$mysite.fcgi/$1[QSA,L]
接着,创建一个脚本,告知Apache如何运行你的FastCGI程序。创建一个mysite.fcgi文件,并把它放在你的Web目录中,打开可执行权限。
#!/usr/bin/python
importsys,os
#AddacustomPythonpath.
sys.path.insert(0,"/home/user/python")
#Switchtothedirectoryofyourproject.(Optional.)
#os.chdir("/home/user/myproject")
#SettheDJANGO_SETTINGS_MODULEenvironmentvariable.
os.environ['DJANGO_SETTINGS_MODULE']="myproject.settings"
fromdjango.core.servers.fastcgiimportrunfastcgi
runfastcgi(method="threaded",daemonize="false")
重启新产生的进程服务器
如果你改变了站点上任何的python代码,你需要告知FastCGI。但是,这不需要重启Apache,而只需要重新上传mysite.fcgi或者编辑改文件,使得修改时间发生了变化,它会自动帮你重启Django应用。你可以重新上传mysite.fcgi或者编辑这个文件以改变该文件的时间戳。当阿帕奇服务器发现文档被更新了,它将会为你重启你的Django应用。
如果你拥有Unix系统命令行的可执行权限,只需要简单地使用touch命令:
touchmysite.fcgi
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下