推荐-Nginx Proxy模块的应用之负载均衡

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 reload

2.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进行测试:

Alt texttest-1.gif

可以看到成功的进行了负载均衡。

5.将node2上面的httpd服务停掉,进行测试。

[root@node2 ~]# service httpd stop

Alt texttest-2.gif

代理服务器检测到了node2的健康状态不正常,则后续的请求全部发给了node1进行响应。

6.将node2上面的httpd服务启动,再进行测试。

[root@node2 ~]# service httpd start

Alt texttest-3.gif

在代理服务器检测到node2的健康状态正常后,又将用户的请求负载至两台node上。

原创文章,作者:张小凡,如若转载,请注明出处:http://www.178linux.com/13536

(0)
张小凡张小凡
上一篇 2016-03-27 22:08
下一篇 2016-03-27 22:16

相关推荐

  • 第十二周:httpd和lamp

    看了一下作业内容,发现所有的都在51cto上写过了。这里就不在做了。 毕竟当时几篇博客写下来,还是非常繁琐的,不想在写。 文档地址:RHEL6.8编译安装LAMP环境:httpd-2.4+mysql5.6+php5.5;基于LAMP环境部署WordPress: http://afterdawn.blog.51cto.com/7503144/1876171 配…

    Linux干货 2016-12-09
  • 位置变量在Shell脚本编程中的作用

    位置变量:         如果要向一个shell脚本传递信息,可以使用位置参数完成此功能;参数相关数目传入脚本,此数目可以任意多,但只有前9个可以被访问,使用shift命令可以改变这个限制;参数从第一个开始,在第九个结束;每个访问参数前要加$符号;第一个参数为0,表示预留保存实…

    Linux干货 2016-08-15
  • linux终端的类型与linux发展历史

    一、linux console的类型与说明 说明:        1 由于虚拟终端的实现,人们可以多用户多任务的在一台计算机操作系统上工作             2 在80或90年代的旧电脑上,人们只能用分屏这样的方法来实现多用户,多任务的工作  …

    Linux干货 2013-07-03
  • Shell 脚本作业(8月11号)

    1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。 #!/bin/bash # author:huiping # version:1.0.1 # date:2016-08-11 # describe:&nb…

    Linux干货 2016-08-15
  • MySQL基础知识

    1、SQL:结构化查询语言(Structured Query Language): DDL:Data Definition Language(数据定义语言): 其语句包括动词CREATE和DROP。在数据库中创建新表或删除表(CREAT TABLE 或 DROP TABLE);为表加入索引等。DDL包括许多与人数据库目录中获得数据有关的保留字。它也是动作查询…

    2017-11-20
  • DNS服务基础

    DNS服务:是一种工作在应用层的特定应用,也是.c/s架构模式的,DNS的是一种应用层协议,他的端口是UPD协议的53号端口,()根据应用场景不同也会用到tcp协议)这就意味着DNS是默认通过UDP协议进行通信的 我们访问任何一个网站都是通过主机名的方式进行访问的;例如www.baidu.com,这是个主机名.称之为FQDN(完全限定域名) 常见的顶级域中的…

    Linux干货 2016-11-07

评论列表(1条)

  • stanley
    stanley 2016-03-27 22:14

    哈哈,动图尽显专业,用心在写文章。鉴定完毕,赞!