the5fire

关注Python、Django、Vim、Linux、Web开发、团队管理和互联网--Life is short, we need Python.


nginx安装和配置负载 (ubuntu12.04)

作者:the5fire | 标签:     | 发布:2012-12-28 11:16 p.m. | 阅读量: 7416, 7223
上篇文章说完用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测试的使用》进行下压力测试,看看有没有效果。 - from the5fire.com
----EOF-----

微信公众号:Python程序员杂谈


其他分类: