Nginx反向代理与负载均衡概念理解及模块使用

目录
  • Nginx负载均衡概念
  • upstream模块的使用方法
  • upstream模块说明
  • http_proxy_module模块
  • 完整的案例

Nginx负载均衡概念

准确来说,Nginx是作为Nginx Proxy反向代理使用的,因为这个反向代理功能表现出负载均衡的效果,所以称之为Nginx负载均衡。
实现负载均衡的效果主要依赖两个组件:

ngx_http_proxy_module

ngx_http_upstream_module

前者是proxy代理模块,用于把请求传给服务器节点或upstream服务器池
后者是负载均衡模块,可以实现网站的负载均衡功能及节点的健康检查

upstream模块

Nginx负载均衡功能依赖ngx_http_upstream_module模块,支持的代理方式包括proxy_pass、fastcgi_pass、memcached_pass等;允许Nginx定义一组或多组节点服务器组,使用proxy代理方式把网站请求发送到事先定义好的upstream组。

upstream模块的使用方法

基本的配置案例

upstream www_server_pools {
  server 192.168.1.1;
  server 192.168.1.2;
  server 192.168.1.3;
}

较完整的配置案例

upstream www_server_pools {
  server 192.168.1.1:80 weight=1;
  server 192.168.1.2:80 weight=2;
  server 192.168.1.3:80 weight=2 max_fails=1 dail_timeout=10s;
}

使用域名的配置案例

upstream backend {
  server backend1.yyang.com weight=3;
  server backend2.yyang.com:8080;
  server unix:/tmp/backend3;
}

upstream模块说明

  • server 192.168.1.1:80 #可以是ip也可以是域名
  • weight=1 #权重值,默认为1,数越大接受的请求比例越大
  • max_fails=1 #尝试连接后端主机失败的次数
  • backup #热备配置
  • fail_timeout=10s #距离下次检查的时间

http_proxy_module模块

proxy_pass指令

通过location将符合匹配的请求抛给定义好的upstream节点池。

proxy_pass案例

location / {
  proxy_pass http://www_server_pools;
}

完整的案例

worker_processes	1;
events {
	worker_connections	1024;
}
http {
	include		mine.types;
	default_type	app/octet-stream;
	sendfile	on;
	keepalive_timeout	65;
	upstream www_server_pools {
		server 192.168.1.1:80 weight=1;
		server 192.168.1.2:80 weight=1;
		server 192.168.1.3:80 weight=1;
	}
	server {
		listen 80;
		server_name www.yyang.com;
		location / {
			proxy_pass http://www_server_pools;
		}
	}
}

以上就是Nginx反向代理与负载均衡概念模块的详细内容,更多关于Nginx反向代理与负载均衡概念的资料请关注我们其它相关文章!

(0)

相关推荐

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

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

  • 详解 Nginx 负载均衡和反向代理配置和优化

    Nginx 负载均衡和反向代理配置和优化 DNS 轮询方式: 介绍: DNS 轮询是指一个域名可以绑定到多个的 ip 服务器上, 用户在访问的时候 dns轮询访问这几个 ip 的服务器, 达到负载均衡的目的. 可以使用 linux 命令 dig domain 来查看情况. 缺点: 1. 可靠性低. 如果某一个服务器宕机了, 那么dns 在轮询到这个服务器的话是不会有响应的,即使去掉此 ip , 那么个电信服务商的 dns 是存在缓存, 在一定的时间内也是可以访问到此服务器的.尽管在一定程度上解决

  • 浅谈Nginx七层反向代理和负载均衡

    1.介绍 1.1 Nginx不仅是一个出色的web软件,其七层代理和负载均衡也是相当出色.Nginx做前端代理,当用户请求服务时,可以根据url进行判断,然后分配到不同的后台webserver上. 1.2 Nginx的负载均衡实现原理:首先在http模块中配置使用upstream模块定义后台的web server的池子,名为proxy-web,在池子中我们可以添加多台后台webserver,其中状态检查.调度算法都是在池子中配置:然后在serverr模块中定义虚拟主机,但是这个虚拟主机不指定自己

  • 关于nginx负载均衡和反向代理的讲解

    目录 负载均衡 负载均衡分类 1.DNS负载均衡 2.IP负载均衡 3.链路层负载均衡 4.混合型负载均衡 负载均衡算法 1 轮询 2 随机 3 最少链接 4 Hash(源地址散列) 5 加权 反向代理 负载均衡 负载均衡是有多台服务器以对称的方式组成一个服务器集合,每台服务器都能具有等价的地位,都可以单独对外提供服务而无需其他服务器辅助.通过某种负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地相应用户的请求.均衡负载能够平均分配呵护请求到服务器阵

  • Nginx反向代理与负载均衡实战篇

    反向代理 反向代理指的是以代理服务器接收用户的的访问请求,代理用户向内部服务器重新发起请求,最后把内部服务器的响应信息返回给用户.这样,代理服务器对外就表现为一台服务器,而访问内部服务器的客户端用的就是代理服务器,而不是真实网站访问用户. 为什么使用反向代理 可以起到保护网站安全的作用,因为任何来自Internet的请求都必须先经过代理服务器. 通过缓存静态资源,加速Web请求. 实现负载均衡 反向代理例子 环境说明 假如有AB两个服务器.A服务器提供web资源,并且只给内网访问.B服务器有两块

  • Nginx反向代理与负载均衡概念理解及模块使用

    目录 Nginx负载均衡概念 upstream模块的使用方法 upstream模块说明 http_proxy_module模块 完整的案例 Nginx负载均衡概念 准确来说,Nginx是作为Nginx Proxy反向代理使用的,因为这个反向代理功能表现出负载均衡的效果,所以称之为Nginx负载均衡.实现负载均衡的效果主要依赖两个组件: ngx_http_proxy_module ngx_http_upstream_module 前者是proxy代理模块,用于把请求传给服务器节点或upstream

  • 详解Nginx反向代理和负载均衡部署指南

    Nginx反向代理和负载均衡部署指南,具体如下: 1.  安装 1) 从Nginx官网下载页面(http://nginx.org/en/download.html)下载Nginx最新版本(目前是1.5.13版本)安装包: 2)  解压后复制到部署目录. 2.  启动和停止Nginx Nginx目前只支持命令行操作,操作前先进入Dos命令环境,并进入Nginx部署目录. 1) 启动Nginx:start nginx 2)  停止Nginx:nginx -s stop 3)修改配置后重启:nginx

  • 利用Nginx反向代理与负载均衡搭建多人测试环境详解

    前言 假如我们使用 git 进行版本控制,在一个大型网站中,开发人员在不同的分支上开发不同的需求,当一个需求开发完成需要测试,我们会把这个分支告诉测试人员,然后测试人员在测试机的网站目录拉取这个分支进行测试. 设想这样一个场景:当只有一个分支提测的时候,在测试机上可以直接拉取这个分支的代码进行测试,但是如果同时有多个分支都要同时进行测试,那么就没办法在一台测试机上同时进行了. 因为这台测试机网站目录只有一个,我们无法同时拉取不同分支的代码,那么如何在一台测试机上同时支持多人测试不同的分支呢? 实

  • CentOS基于nginx反向代理实现负载均衡的方法

    本文实例讲述了CentOS基于nginx反向代理实现负载均衡的方法.分享给大家供大家参考,具体如下: nginx做负载均衡的优点: 1.工作在网络的7层之上,可以针对http应用做一些分流的策略,比如针对域名.目录结构,它的正则规则比HAProxy更为强大和灵活,这也是它目前广泛流行的主要原因之一,nginx单凭这点可利用的场合就远多于LVS了 2.nginx对网络稳定性的依赖非常小,理论上能ping通就就能进行负载功能,这个也是它的优势之一:相反LVS对网络稳定性依赖比较大,这点本人深有体会

  • 详解Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解

    注,操作系统为 CentOS 6.4 x86_64 , Nginx 是版本是最新版的1.4.2,所以实验用到的软件请点击这里下载: CentOS 6.4下载地址:http://www.jb51.net/softs/78243.html Nginx下载地址:http://www.jb51.net/softs/35633.html 一.前言 在前面的几篇博文中我们主要讲解了Nginx作为Web服务器知识点,主要的知识点有nginx的理论详解.nginx作为web服务器的操作讲解.nginx作为LNM

  • Nginx反向代理及负载均衡如何实现(基于linux)

    这里来试验下nginx的反向代理. 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器. 在我们的java项目中的体现就是,通过80端口访问,Nginx接收到,然后进行转发给tomcat服务器,再将服务器的结果给返回. 这里需要修改nginx.conf文件. upstream backend { #代理的IP

  • windows安装nginx部署步骤图解(反向代理与负载均衡)

    一.下载安装Nginx(本文环境为windows xp 32bit环境) 解压nginx-1.0.11.zip,进入nginx-1.0.11,在命令行中执行命令让Nginx启动.具体操作如下图: 测试是否安装成功,输入地址:http://localhost:8090 浏览器显示结果如下图: OK,Nginx部署成功了. 二.关于Nginx的反向代理配置. 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器

随机推荐