Ngnix 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;
}

启动服务:[[email protected] ~]# /usr/local/nginx/sbin/nginx
重启服务:[[email protected] ~]# /usr/local/nginx/sbin/nginx -s reload

2.node1上的配置

[[email protected] ~]# yum install httpd -y 安装httpd
[[email protected] ~]# service httpd start 启动httpd服务
[[email protected] ~]# echo “This is node1 page” > /var/www/html/index.html 定义一个主页面。

3.node2上的配置

[[email protected] ~]# yum install httpd -y 安装httpd
[[email protected] ~]# service httpd start 启动httpd服务
[[email protected] ~]# echo “This is node2 page” > /var/www/html/index.html 定义一个主页面。配置不同的页面,方便我们区分。

4.打开浏览器输入代理服务器的地址192.168.1.11进行测试:

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

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

[[email protected] ~]# service httpd stop

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

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

[[email protected] ~]# service httpd start

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

时间: 2024-10-27 16:55:16

Ngnix Proxy模块的应用之负载均衡的相关文章

apache基于mod_jk模块实现代理及负载均衡Tomcat Cluster

一.基于mod_jk模块实现apache代理tomcat 上篇博文已经学习了nginx代理和负载均衡tomcat及apache基于mod_proxy模块代理tomcat; 现在来学习下apache基于mod_jk模块实现代理及负载均衡Tomcat Cluster 1.基于httpd代理tomcat时可以使用httpd的两个模块 1)mod_jk:第三方模块 mod_jk是ASF的一个项目,是一个工作于apache端基于AJP协议与Tomcat通信的连接器,它是apache的一个模块,是AJP协议

nginx的upstream模块实现负载均衡

通过nginx搭建负载均衡,这里通过这个upstream模块来实现,在nginx.org的官网可以看到相应的模块 proxy模块也可以实现负载均衡. 第一.打开lamp和lnmp  两个web服务器 Nginx-proxy这台服务器安装nginx,负载均衡需要nginx 安装nginx1.6.2 tar -xf nginx-1.6.2.tar.gz ls cd nginx-1.6.2 useradd -s /sbin/nologin -M nginx ./configure --user=ngi

Nginx一个实现负载均衡的强大web server

<转>nginx 这个轻量级.高性能的 web server 主要可以干两件事情: 〉直接作为http server(代替apache,对PHP需要FastCGI处理器支持): 〉另外一个功能就是作为反向代理服务器实现负载均衡 以下我们就来举例说明如何使用 nginx 实现负载均衡.因为nginx在处理并发方面的优势,现在这个应用非常常见.当然了Apache的 mod_proxy和mod_cache结合使用也可以实现对多台app server的反向代理和负载均衡,但是在并发处理方面apache

基于Apache+Tomcat负载均衡的两种实现方法

Apache+Tomcat实现负载均衡的两种实现方法 如果我们将工作在不同平台的apache能够实现彼此间的高效通信,因此它需要一种底层机制来实现--叫做apr Apr的主要目的就是为了其能够让apache工作在不同的平台上,但在linux上安装apache的时候通常都是默认安装的 [[email protected] ~]#rpm -qi aprName                 :apr                                        Relocation

Nginx反向代理、缓存、负载均衡服务器构建

代理服务可简单的分为正向代理和反向代理: 正向代理: 用于代理内部网络对Internet的连接请求(如VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标Web服务器的HTTP请求先发送到代理服务器上,然后由代理服务器去访问Web服务器, 并将Web服务器的Response回传给客户端: 反向代理: 与正向代理相反,如果局域网向Internet提供资源,并让Internet上的其他用户可以访问局域网内资源, 也可以设置一个代理服务器, 它提供的服务就是反向代理. 反向代理服务器接受来

apache + tomcat 负载均衡分布式集群配置

Tomcat集群配置学习篇-----分布式应用 现目前基于javaWeb开发的应用系统已经比比皆是,尤其是电子商务网站,要想网站发展壮大,那么必然就得能够承受住庞大的网站访问量:大家知道如果服务器访问量过大,就会出现服应用务器崩溃的情况,这个时候怎么办,难道就只能去重启服务器吗?好,如果是一般的小型公益网站到也无所谓,但如果是比如像大型航空公司售票等电子商务网站,每天每小时都有大量的订单业务,如果这些售票系统一旦崩溃后,再去重启,这些时间和客户的损失就直接会影响到航空公司的利益,这些损失如何去避

nginx 作为反向代理实现负载均衡的例子

nginx 这个轻量级.高性能的 web server 主要可以干两件事情: 〉直接作为http server(代替apache,对PHP需要FastCGI处理器支持): 〉另外一个功能就是作为反向代理服务器实现负载均衡 以下我们就来举例说明如何使用 nginx 实现负载均衡.因为nginx在处理并发方面的优势,现在这个应用非常常见.当然了Apache的 mod_proxy和mod_cache结合使用也可以实现对多台app server的反向代理和负载均衡,但是在并发处理方面apache还是没有

(转)ubuntu apache2 的负载均衡和反向代理

apache功能其实很是强大,最近一段时间研究了下apache的反向代理和负载均衡,反向代理网协的外网出口和我的博客出口就是通过apache的反向代理实现的,总结一下,重点说说负载均衡的配置. 首先说先实验环境吧 操作系统:DEBIAN 5.03(Ubuntu也可以同理配置) 一.安装apache加载模块 apt-get install apache2然后进入到apache的配置目录cd /etc/apache2apache的反向代理和负载均衡其实利用的都是反向代理的原理,至于什么叫做反向代理可

Tomcat反向代理+负载均衡的四种方法配置

环境拓扑 环境说明: IP地址 功能描述 nginx or httpd 172.16.4.100 代理服务器,将用户请求分发到后端的Tomcat服务器实现反向代理和负载均衡 Tomcat-01 172.16.4.101 后端实际提供服务的服务器 Tomcat-02 172.16.4.102 后端实际提供服务的服务器 系统环境都如下所示: [[email protected] ~]# cat /etc/redhat-release CentOS release 6.6 (Final) [[emai