推荐-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

相关推荐

  • socket编程原理

    1、问题的引入 1) 普通的I/O操作过程: UNIX系统的I/O命令集,是从Maltics和早期系统中的命令演变出来的,其模式为打开一读/写一关闭(open-write-read-close)。在一个用户进程进行I/O操作时,它首先调用“打开”获得对指定文件或设备的使用权,并返回称为文件描述符的整型数,以描述用户在打开的文件或设备上进行I/O操作的进程。然…

    Linux干货 2015-04-10
  • gitlab-ce并发超过30引起ip被封1小时的问题

    系统环境描述 System information System:     Ubuntu 14.04 Current User:   git Using RVM:  no Ruby Version: …

    Linux干货 2015-09-06
  • sed与vim

    sed工具 简介 Stream EDitor, 行编辑器 sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Se…

    Linux干货 2016-08-15
  • linux文件管理命令与命令行展开

    linux文件管理命令与命令行展开

    2017-12-11
  • 马哥教育网络班22期+第01周课程练习

    一、描述计算机的组成及其功能:     根据冯·诺依曼体系结构,把计算机划分为五大部件:运算器、控制器、存储器、输入设备、输出设备。 运算器(加法器):cpu的核心部件,也是计算机存在的价值之一,其采用二进制方式进行计算(因为电阻的存在,使得十进制无法精准处理);控制器:控制CPU读指令[立即数和间接数],指令含有运算器需要的数…

    Linux干货 2016-08-12
  • 软件包管理详解

      软件包管理器 1、功能: (1)将软件包打包成一个文件,其中包括: ①二进制程序 ②库文件 ③配置文件 ④帮助文件 (2)生成数据库,追中所安装的每一个文件。 2、软件包管理器的核心功能: (1)制作软件包 (2)安装、卸载、升级、查询、校验 3、不同发行版的不同的…

    2017-08-11

评论列表(1条)

  • stanley
    stanley 2016-03-27 22:14

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