记录
如果你要使用服务器的子进程,你没有必要自己去启动fastcgi服务器。 apache会自动产生一些子进程,产生的数量按照需求和配置会有所不同。
在你的web根目录下,将下面的内容增加到 .htaccess 文件中:
addhandler fastcgi-script .fcgirewriteengine onrewritecond %{request_filename} !-frewriterule ^(.*)$ mysite.fcgi/$1 [qsa,l]
接着,创建一个脚本,告知apache如何运行你的fastcgi程序。 创建一个 mysite.fcgi 文件,并把它放在你的web目录中,打开可执行权限。
#!/usr/bin/pythonimport sys, os# add a custom python path.sys.path.insert(0, /home/user/python)# switch to the directory of your project. (optional.)# os.chdir(/home/user/myproject)# set the django_settings_module environment variable.os.environ['django_settings_module'] = myproject.settingsfrom django.core.servers.fastcgi import runfastcgirunfastcgi(method=threaded, daemonize=false)
重启新产生的进程服务器
如果你改变了站点上任何的python代码,你需要告知fastcgi。 但是,这不需要重启apache,而只需要重新上传 mysite.fcgi 或者编辑改文件,使得修改时间发生了变化,它会自动帮你重启django应用。 你可以重新上传mysite.fcgi或者编辑这个文件以改变该文件的时间戳。 当阿帕奇服务器发现文档被更新了,它将会为你重启你的django应用。
如果你拥有unix系统命令行的可执行权限,只需要简单地使用 touch 命令:
touch mysite.fcgi
