上回记录了Windows7配置了Nginx环境,这回让Django跑在Nginx上。之前是需要点理论知识沉淀的;建议之前看看:http://www.fresh3g.org/blog/post/346/ 感觉写的很详细。下面是根据那些理论知识去尝试配置环境:
首先我们要做的是:安装及配置Django,Nginx和Flup;Django和Nginx环境配置不再累赘。请参考:http://baoyalv.com/blog/baoyalv/Django/2010/02/03/4和http://baoyalv.com/blog/panjj/other/2010/11/07/136;
安装Flup,到官网上http://www.saddi.com/software/flup/dist/flup-1.0.2.tar.gz下载,解压后发现是python写的类库,把它安装到python里,安装方法和其他的python类库一样做法,在doc命令行里执行:
python setup.py install #注意要求python写到path里,才能有python命令
过程中可能需要联机,因为安装的过程中需要下载一些相关的东西。
接下来,
1.配置Nginx,配置文件见以下代码:
worker_processes 1;
events {
worker_connections 64;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name 127.0.0.1;
root /cygdrive/G/myproject/;
index index.html index.htm;
charset utf-8;
# 静态资源
location ~ ^/static/
{
expires 30d;
break;
}
location / {
# 指定 fastcgi 的主机和端口
fastcgi_pass 127.0.0.1:9001;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
fastcgi_pass_header Authorization;
fastcgi_intercept_errors off;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
建议备份好原来的配置文件,然后再覆盖nginx文件。
该配置文件只是实验用,连log都没有写,想了解更详细的文档,参考官方文档:http://wiki.nginx.org/DjangoFastCGI
现在列出关键的几个地方:
server {
listen 80; #首先让Nginx跑在Windows的80端口上:
server_name 127.0.0.1;#写上project对应的域名 我们在本地上测试,所以是127.0.0.1
root /cygdrive/G/myproject/;#项目的根目录,在windows下,如果是G盘,写上/cygdrive/G/,依次类推。切忌不要写成G:\myproject\
location ~ ^/static/ #静态文件指向,我们直接指向项目根目录的static文件夹,根据实际情况正确指向
fastcgi_pass 127.0.0.1:9001;#我们通过fastgci(flup)在9001端口上跑django项目
fastcgi_param REMOTE_ADDR $remote_addr;#加上这行,是因为django request用到获取真实ip的的属性,
关键的地方都一一说明了,检查配置都写对后,重启Nginx,(记得任务栏里关掉全部nginx进程再重启)
2 通过fastgci run django
在doc里进入django项目的根目录,启动:
manage.py runfcgi method=threaded host=127.0.0.1 port=9001
也可以编写指令,方面启动:
在项目的根目录下新建 一个vbs文件run:
set ws=wscript.createobject("wscript.shell")
ws.run "manage.py runfcgi method=threaded host=127.0.0.1 port=9001",0
以后每次启动,双击run文件即可。
现在在浏览器上,输入:127.0.0.1
是不是看到页面跑起来了??