动力节点首页 全国咨询热线:400-8080-105

绑定手机号,登录
手机号

验证码

微信登录
手机号登录
手机号

验证码

微信登录与注册
微信扫码登录与注册

扫码关注微信公众号完成登录与注册
手机号登录
首页 > 文章

Nginx负载均衡详解

07-22 11:37 860浏览
举报 T字号
  • 大字
  • 中字
  • 小字

Nginx简介

Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。

Nginx应用场景

1.http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。

2.虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。

3.反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。

今天的实验主要是nginx来作为负载均衡服务器,同时实验中需要用nginx作为web服务器。

负载均衡策略主要是以下三种:

(1)轮循 每个请求逐个分发到后端服务器

(2)加权轮循 按照分配的权重将请求分发到后端服务器

(3)ip hash 轮询的基础上,保持一个客户端多次请求分发到一台后端服务器上

实验环境:

三台虚拟机:192.168.100.3 (负载均衡器) nginx-test01

192.168.100.4 (web服务器) nginx-test02

192.168.100.5 (web服务器) nginx-test03

操作系统:centos 7.3

具体操作:

(1)现在每台虚拟机上安装nginx,先下载安装包,然后逐个安装。

tar zvxf nginx-1.8.1.tar.gz 解压缩安装包
cd nginx-1.8.1 进入解压目录
./configure--prefix=/usr/local/nginx--user=nginx--group=nginx --with-http_stub_status_module --with-http_ssl_module 编译
make && make install 安装

编译过程中,可能因为环境的不同缺少部分包,需手动yum安装

(2)先安装nginx完成后,分别在两台机器上配置主页,但是两台服务器的主页内容不同,以便区分负载。

设置test02和03的主页

(3)开始设置负载均衡

编辑负载均衡服务器的主配置文件

vim /usr/local/nginx/conf/nginx.conf

在http里面,server外面定义后端服务器组用来做负载均衡(负载均衡可以将自身也作为web服务器轮询)。在server中引用定义的后端服务器组。

仅仅是作为普通轮询直接填写后端服务器IP地址即可,如果需要按照不同服务器的性能分配不同的权重,可在服务器后面加上权重。或者设置为IP hash。如下图:

加入权重的配置。保证充分利用服务器的性能。

IP hash的配置

保证在短时间内,同一个客户端的请求不被分配到其他的nginx-server上

IP hash的配置

保证在短时间内,同一个客户端的请求不被分配到其他的nginx-server上

保存退出,重新加载nginx。

nginx –s reload

访问负载均衡服务器,查看是否产生正常的轮询访问(为了直观对比使用命令行访问)

访问负载均衡服务器,产生不同的访问结果,对应两台后端服务器,说明负载均衡搭建成功。

动力节点在线课程涵盖零基础入门,高级进阶,在职提升三大主力内容,覆盖Java从入门到就业提升的全体系学习内容。全部Java视频教程免费观看,相关学习资料免费下载!对于火爆技术,每周一定时更新!如果想了解更多相关技术,可以到动力节点在线免费观看Nginx服务器视频教程学习哦!

0人推荐
共同学习,写下你的评论
0条评论
代码小兵872
程序员代码小兵872

30篇文章贡献98658字

作者相关文章更多>

推荐相关文章更多>

RabbitMQ使用及工作原理

代码小兵86504-19 19:55

Nginx反向代理的简单实例

代码小兵49806-21 15:40

Linux删除文件夹命令

代码小兵69607-21 11:32

Nginx配置详解

代码小兵12407-22 10:47

Linux更改ip地址的三种方式

代码小兵87207-21 12:51

发评论

举报

0/150

取消