用Nginx做反向代理实现负载均衡

相对于LVS来说,Nginx做反向代理工作在网络更高层(7层),但对于一般的负载均衡场合已足够应付。若访问量非常大或稳定性要求非常高的场合,选择LVS还是有必要的。

本文力求用最简的例子来演示如何使用Nginx做反向代理实现负载均衡。

实现目标:用Nginx的80端口负载均衡本机8001和8002两个http服务。

开始:

1、安装Nginx。

不多说了,直接进入下一步,配置Nginx。

2、配置Nginx

修改nginx.conf配置文件

  ……   upstream http_server_pool{           server 127.0.0.1:8001;            server 127.0.0.1:8002;   }   server {           listen       80;           server_name  localhost;              location / {               proxy_pass ;               proxy_set_header Host localhost;               proxy_set_header X-Forwarded-For $remote_addr;           }           ……   }    

3、创建8001服务

这里为了便捷,使用Python自带的SimpleHTTPServer来实现HTTP服务。

为了方便看出效果,新建一个a目录,创建一个index.html文件,直接输出“This is 8001!”。

在a目录下执行 

python -m SimpleHTTPServer 8001    

4、创建8002服务

(参照上一步)

5、运行Nginx

6、轮询效果测试

访问localhost,多刷几次页面,会发现有时输出“This is 8001!”,有时是“This is 8002!”。

7、故障测试

手动分别把8001或8002服务停掉,访问localhost会被引导到能够正常工作的那一个服务上。

只要8001和8002没有全停,服务均能通过80端口正常对外提供。

更多关于Nginx的详细信息,或者下载地址请点这里

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/91bd2163676b51a87f67c9a1b8e10865.html