Ngnix Proxy模块的应用之负载均衡
Proxy 模块介绍
在我之前的文章提到过,Nginx可以提供反向代理加速、基于应用层的负载均衡并能对后端
服务器做健康状态检测。下面我们就动手操作一下,看如何实现上述功能。
实验环境
主机名称 主要功能 外网地址 内网地址 code nginx代理服务器 192.168.1.11 192.168.10.1 node1 httpd应用服务器1 192.168.10.2 node2 httpd应用服务器2 192.168.10.3
如果之前没有接触过Nginx,请看我之前写过的博文Nginx的编译安装。
配置Proxy
一、配置反向代理,并利用node1与node2实现负载均衡。
1.code上的配置,编辑配置文件
vim /usr/local/nginx/conf/nginx.conf
在主配置文件的http段使用upstream定义一个集群,后面的httpserver是集群的名称。 upstream httpserver { server 192.168.10.2; server 192.168.10.3; } 之后在location / 中使用proxy_pass设置将用户的所有请求全部代理到刚才定义好的负载均衡集群中。 location / { proxy_pass http://httpserver; root html; index index.html index.htm; }
启动服务:[root@code ~]# /usr/local/nginx/sbin/nginx
重启服务:[root@code ~]# /usr/local/nginx/sbin/nginx -s reload2.node1上的配置
[root@node1 ~]# yum install httpd -y 安装httpd
[root@node1 ~]# service httpd start 启动httpd服务
[root@node1 ~]# echo “This is node1 page” > /var/www/html/index.html 定义一个主页面。3.node2上的配置
[root@node2 ~]# yum install httpd -y 安装httpd
[root@node2 ~]# service httpd start 启动httpd服务
[root@node2 ~]# echo “This is node2 page” > /var/www/html/index.html 定义一个主页面。配置不同的页面,方便我们区分。4.打开浏览器输入代理服务器的地址192.168.1.11进行测试:
可以看到成功的进行了负载均衡。
5.将node2上面的httpd服务停掉,进行测试。
[root@node2 ~]# service httpd stop
代理服务器检测到了node2的健康状态不正常,则后续的请求全部发给了node1进行响应。
6.将node2上面的httpd服务启动,再进行测试。
[root@node2 ~]# service httpd start
在代理服务器检测到node2的健康状态正常后,又将用户的请求负载至两台node上。
原创文章,作者:张小凡,如若转载,请注明出处:http://www.178linux.com/13536
评论列表(1条)
哈哈,动图尽显专业,用心在写文章。鉴定完毕,赞!