安装Nginx和flup
- 在Nginx官网下载稳定版1.6.2.zip:点击下载
- 安装flup:pip install flup
- 将下载的nginx.zip文件解压放到,E:(最好是英文路径)
原理分析
- 在浏览器输入url,发送请求,假设端口8000
- nginx监听端口,可以监听多个,这里只监听8000端口
- nginx设定分发的服务器,可设多个均衡负载,这里设定127.0.0.1:8001
- 这样每当nginx接收来自8000的请求时,把请求分发给127.0.0.1:8001
- 启动flup,设定为127.0.0.1:8001,用于接受nginx分发过来的请求
- 随后返回Django中对应的资源
设置Nginx的配置文件
- 打开其中的conf文件夹中的nginx.conf文件
- 设定Nginx监听8000端口的请求
- 设置将请求分发给位于127.0.0.1:8001的flup服务器
#nginx.conf
#user nobody;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 8000; #nginx监听的端口,必须与分发的端口不同
server_name localhost;
#指明静态资源文件夹的路径
#这里相当于E:/search_engine/search_engine/search/static/
location ~ ^/static/ {
root "E:/search_engine/search_engine/search/";
}
#设定分发服务器flup的参数,这里是127.0.0.1:8001
#如果有多个服务器,则在最后面再添加server{}
location ~ ^/ {
fastcgi_pass 127.0.0.1:8001;
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;
}
}
启动Nginx监听请求并分发
- 在跟目录执行CMD命令:nginx.exe
启动flup接收nginx分发的请求
-在Django**项目根目录**执行CMD命令:
- manage.py runfcgi host=127.0.0.1 port=8001 protocol=fcgi method=threaded
往Nginx发送请求
- 浏览器中输入:http://127.0.0.1:8000/
- 效果跟自带的服务器一样
小结
- 至此服务器搭建好了
- 下一步设置Coreseek用于搜索的MySql数据源