作者:祗想抱著伱 | 来源:互联网 | 2014-05-28 09:40
在上篇文章说完用supervisor来管理进程之后,自然就要说到用nginx来管理由前者启动程序所监听的端口。首先是安装nginx,环境依然是ubuntu12.04(64位),通过下面命令:sudoapt-getinstallnginx安装好之后就是启动,目前我知道的在ubuntu下有两种启动方式:
在上篇文章说完用supervisor来管理进程之后,自然就要说到用
nginx来管理由前者启动程序所监听的端口。
首先是安装
nginx,环境依然是ubuntu12.04(64位),通过下面命令:
sudo apt-get install nginx
安装好之后就是启动,目前我知道的在ubuntu下有两种启动方式:
sudo /etc/init.d/nginx start #通过init.d下的启动文件启动。
sudo service nginx start #通过ubuntu的服务管理器启动
在浏览器中输入http://localhost,看看是不是出现“Welcome to
nginx!”的页面。如果没有的话,先继续往下看配置。
上篇文章说到用supervisor启动了两个
django的进程,分别监听在8000和8001端口,那么怎么让nginx把访问转发到这两个端口上呢,这就要通过配置文件来做了。
在我的系统中nginx的配置文件在/etc/nginx下。
打开nginx.conf文件,配置如下:
#user www-data;
worker_processes 4;
pid /var/run/nginx.pid;
events {
use epoll;
worker_connections 768;
# multi_accept on;
}
http {
include mime.types;
default_type application/octet-stream;
keepalive_timeout 120;
tcp_nodelay on;
upstream localhost {
server 127.0.0.1:8000;
server 127.0.0.1:8001;
}
server {
listen 80;
server_name localhost;
location /{
proxy_pass http://localhost;
proxy_set_header Host $host;
proxy_set_header X-Real_IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
}
这样就ok了,重启你的nginx:sudo service nginx restart.
接着你直接访问
http://127.0.0.1就可以访问到你用supervisor启动的django程序,并且是在两个端口上做了负载的。如果有兴趣的可以参考我之前的那篇文章《web压力测试ab测试的使用》进行下压力测试,看看有没有效果。