Nginx实现负载均衡(Linux环境)
一. Nginx定义
Nginx (engine x) 是一个高性能的HTTP和反向代理服务器。
二. Nginx特点
1. 占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好
2. 能够支持高达 50,000 个并发连接数的响应。
3. 无缓存的反向代理加速,简单的负载均衡和容错。
三 . 安装(另附博客)
四 . 简单使用
1. 参数说明
a) worker_processes:工作进程个数,可配置多个
b) worker_connections:单个进程最大连接数
c) server:每一个server相当于一个代理服务器
d) lister:监听端口,默认80
e) server_name:当前服务的域名,可以有多个,用空格分隔(我们是本地所以是localhost)
f) location:表示匹配的路径,这时配置了/表示所有请求都被匹配到这里
g) index:当没有指定主页时,默认会选择这个指定的文件,可多个,空格分隔
h) proxy_pass:请求转向自定义的服务器列表
i) upstream name{ }:服务器集群名称
2. 默认访问配置
下面我们对这段代码进行一些小小修改。就是将请求转向我们定义的服务器。
访问结果.
至此,反向代理已完成,这样所有请求都需经过代理服务器才能访问到正式服务器,某种程度上可以保护网站安全。
五. 负载均衡实现
负载均衡即是代理服务器将接收的请求均衡的分发到各服务器中。
负载均衡的优势在访问量少或并发小的时候可能并不明显,且不说淘宝双11、铁道部抢票这种级别的访问量、高并发,就是一般网站的抢购活动时,也会给服务器造成很大压力,可能会造成服务器崩溃。而负载均衡可以很明显的减少甚至消除这种情况的出现,下面我们说说实现方法。
1. 配置
定义服务器集群,(server中的地址是项目地址)
2. 其它参数解析
• proxy_connect_timeout:与服务器连接的超时时间,默认60s
• fail_timeout:当该时间内服务器没响应,则认为服务器失效,默认10s
• max_fails:允许连接失败次数,默认为1