nginx反向代理负载均衡初次配置

  反向代理,我个人理解是通过一台反向代理服务器,把客户端的把有请求按照一定的规则分发给后台的服务器。nginx作反向代理服务器的虚拟机配置如下:

 1 upstream itest {
 2     #正常情况下应该作如下配置
 3     #server 192.168.20.1:80; # 应用服务器1
 4     #server 192.168.20.2:80; # 应用服务器2
 5 
 6     #由于我只有一台测试的服务器,所以ip一样,用端口作区别
 7     #1、按照权重大小分配服务器轮询机率,如果全不指定weight则按时间逐个轮询
 8     server 127.0.0.1:7749 weight=3;
 9     server 127.0.0.1:8864 weight=5;
10     server 127.0.0.1:9981;    #默认weight为1
11     
12     #2、根据ip_hash分配服务器,每个ip固定访问一台服务器,可解决session问题,但通常session问题通常都是写入固定memcached或redis服务器来解决的。
13     ip_hash;
14     server 127.0.0.1:7749;
15     server 127.0.0.1:9981;
16     
17     #3、fair根据响应时间分配,好像要第三方插件支持
18     #4、url_hash根据url分配,好像也需要第三方插件支持
19 }
20 
21 server {
22     listen 80;
23     server_name itest.com; #当然 这块也可以直接用域名对应的ip地址
24     location / {
25         proxy_pass http://itest;
26     }
27 }

而后台的服务器,可以是nginx、apache、tomcat等,例如server 127.0.0.1:9981为nginx服务器,则其虚拟机最简配置如下:

1 server {
2     listen 9981;
3     root /sites/itest/9981;    #9981为文件夹,因为为了模拟多台服务器上,所以以路径名作区分
4     index index.html;
5 }

如果server 127.0.0.1:7749为apache服务器,其最简配置如下

1 <VirtualHost *:7749>
2     DocumentRoot /sites/itest/7749
3 </VirtualHost>

测试时,只要在/sites/itest/{7749|8864|9981}目录下添加不同内容index.html,访问看到不同itest.com正常会看到不同的index.html内容。

nginx反向代理第一次配置完成!经测试,已ok   呵呵!

posted on 2016-11-18 16:51  eaglezb  阅读(206)  评论(0编辑  收藏  举报

导航