Windows系统下使用flup搭建Nginx和Python环境的方法
首先确保你的电脑里已经安装了Python和Django,接下来我们还需要两个组件,nginx服务器和flup(Python的FastCGI组件)
nginx下载地址:http://nginx.org/en/download.html
flup下载地址:http://www.saddi.com/software/flup/dist/flup-1.0.2.tar.gz
与Linux下不同的是,nginx在windows下是以一个应用程序的方式运行,而不是以一个服务运行(难怪没人在windows服务器上用nginx)
把刚刚下载好的两个压缩包都解压到C:\nginx\,C:\flup\(目录可自己选择,这里只做个演示)然后用pythonsetup.pyinstall命令
安装flup,接着就要配置nginx了,打开C:\nginx\conf\nginx.conf,我的配置文件如下,大家可根据需要自行修改:
#usernobody; worker_processes1; #error_loglogs/error.log; #error_loglogs/error.lognotice; #error_loglogs/error.loginfo; #pidlogs/nginx.pid; events{ worker_connections1024; } http{ includemime.types; default_typeapplication/octet-stream; #log_formatmain'$remote_addr-$remote_user[$time_local]"$request"' #'$status$body_bytes_sent"$http_referer"' #'"$http_user_agent""$http_x_forwarded_for"'; #access_loglogs/access.logmain; sendfileon; #tcp_nopushon; #keepalive_timeout0; keepalive_timeout65; #gzipon; server{ listen80; server_namelocalhost; #charsetkoi8-r; #access_loglogs/host.access.logmain; location/{ roothtml; indexindex.htmlindex.htm; } #error_page404/404.html; #redirectservererrorpagestothestaticpage/50x.html # error_page500502503504/50x.html; location=/50x.html{ roothtml; } #proxythePHPscriptstoApachelisteningon127.0.0.1:80 # #location~\.php${ #proxy_passhttp://127.0.0.1; #} #passthePHPscriptstoFastCGIserverlisteningon127.0.0.1:9000 # #location~\.php${ #roothtml; #fastcgi_pass127.0.0.1:9000; #fastcgi_indexindex.php; #fastcgi_paramSCRIPT_FILENAME/scripts$fastcgi_script_name; #includefastcgi_params; #} #denyaccessto.htaccessfiles,ifApache'sdocumentroot #concurswithnginx'sone # #location~/\.ht{ #denyall; #} #静态资源 location~*^.+\.(html|jpg|jpeg|gif|png|ico|css|js)$ { roote:/gin/gin/; expires30d; break; } location~^/static/{ roote:/gin/gin/; expires30d; break; } location~^/{ #指定fastcgi的主机和端口 fastcgi_pass127.0.0.1:8051; fastcgi_paramPATH_INFO$fastcgi_script_name; fastcgi_paramREQUEST_METHOD$request_method; fastcgi_paramQUERY_STRING$query_string; fastcgi_paramCONTENT_TYPE$content_type; fastcgi_paramCONTENT_LENGTH$content_length; fastcgi_paramSERVER_PROTOCOL$server_protocol; fastcgi_paramSERVER_PORT$server_port; fastcgi_paramSERVER_NAME$server_name; fastcgi_pass_headerAuthorization; fastcgi_intercept_errorsoff; } } #anothervirtualhostusingmixofIP-,name-,andport-basedconfiguration # #server{ #listen8000; #listensomename:8080; #server_namesomenamealiasanother.alias; #location/{ #roothtml; #indexindex.htmlindex.htm; #} #} #HTTPSserver # #server{ #listen443; #server_namelocalhost; #sslon; #ssl_certificatecert.pem; #ssl_certificate_keycert.key; #ssl_session_timeout5m; #ssl_protocolsSSLv2SSLv3TLSv1; #ssl_ciphersHIGH:!aNULL:!MD5; #ssl_prefer_server_cipherson; #location/{ #roothtml; #indexindex.htmlindex.htm; #} #} }
需要注意的是,对于不需要urlrewrite的目录,比如存放css和图片的目录,需要在配置文件里指明,否则将无法访问这些文件
location~^/static/{ roote:/gin/gin/; expires30d; break; }
最后一步就是运行nginx服务器,并且用FastCGI运行你的Django项目了
进入nginx的目录:
cdc:\nginx\ startnginx
然后在浏览器里访问http://loaclhost/就应该可以看到nginx的欢迎界面了。最后进入你的Django项目的根目录,然后用一下命令来运行服务器:
pythonmanage.pyrunfcgimethod=threadedhost=127.0.0.1port=8051
刷新localhost页面,你就能看到你的项目主页啦~~
补充一点windwos下nginx操作的命令(来自官方文档)
nginx-sstopquickexit nginx-squitgracefulquit nginx-sreloadchangingconfiguration,startinganewworker,quittinganoldworkergracefully nginx-sreopenreopeninglogfiles
大功告成,开始django之旅,ohye!!!