服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - Nginx - Linux上搭载Nginx负载均衡配置使用案例详解

Linux上搭载Nginx负载均衡配置使用案例详解

2022-07-22 13:27一品堂.技术学习笔记 Nginx

这篇文章主要介绍了Linux上搭载Nginx负载均衡配置使用案例详解,针对此情况而衍生出来的一种廉价有效透明的方法以扩展现有网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性的技术就是负

1,这里我们来说下很重要的负载均衡, 那么什么是负载均衡呢?

由于目前现有网络的各个核心部分随着业务量的提高,访问量和数据流量的快速增长,其处理能力和计算强度也相应地增大,使得单一的服务器设备根本无法承担。在此情况下,如果扔掉现有设备去做大量的硬件升级,这样将造成现有资源的浪费,而且如果再面临下一次业务量的提升时,这又将导致再一次硬件升级的高额成本投入,甚至性能再卓越的设备也不能满足当前业务量增长的需求。
针对此情况而衍生出来的一种廉价有效透明的方法以扩展现有网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性的技术就是负载均衡(load balance)。

2, 负载均衡的种类

1)一种是通过硬件来进行解决,常见的硬件有netscaler、f5、radware和array等商用的负载均衡器,但是它们是比较昂贵的
2)一种是通过软件来进行解决的,常见的软件有lvs、nginx、apache等,它们是基于linux系统并且开源的负载均衡策略.

3, 这里我们只来说nginx(其他的大家有兴趣可以自行查阅相关文档)

nginx(发音同 engine x)是一款轻量级的web服务器/反向代理服务器及电子邮件(imap/pop3)代理服务器,并在一个bsd-like 协议下发行。由俄罗斯的程序设计师igor sysoev(伊戈尔·西索夫)所开发,供俄国大型的入口网站及搜索引擎rambler(漫步者)(俄文:рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:新浪、网易、腾讯等。
优点:
1:可运行linux,并有windows移植版。
2:在高连接并发的情况下,nginx是apache服务器不错的替代品nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达 50,000 个并发连接数的响应

4, 创建两台nginx服务器

由于自己在自己电脑上搭建, 所以 现在只模拟搭建两台nginx服务器.

负载均衡的功能:
转发
故障移除
恢复添加
高可用 ha

我们想要使用nginx那么就必须满足上面的四个条件.
我们配置负载均衡的目的是在于当用户访问我们的服务器的时候, 首先会通过 nginx服务器来决定转发到哪个tomcat服务器上去给用户提供服务, 当然这个概率是我们通过权重来配置的. 经过nginx指派之后, 我们就可以处理高并发的访问了, 这里就能达到负载均衡的目的.

5, 搭建nginx

首先我们需要大家两台机器, 两台机器分别安装了nginx和tomcat, ip分别为: 192.168.200.129. 192.168.200.130

Linux上搭载Nginx负载均衡配置使用案例详解

Linux上搭载Nginx负载均衡配置使用案例详解

接着我们需要将nginx和tomcat包分别拷贝到centos01和centos02上, 并且解压好, 这里就不再复述这个过程了.
然后我们需要关闭linux的防火墙, 否则的话启动了nginx也是连接不上的.

Linux上搭载Nginx负载均衡配置使用案例详解

我们还是来再看下解压吧:

Linux上搭载Nginx负载均衡配置使用案例详解

解压完之后我们需要编译安装:

?
1
2
3
4
5
6
7
8
9
10
11
12
./configure \
 --prefix=/usr/local/nginx \
  --pid-path=/var/run/nginx/nginx.pid \
  --lock-path=/var/lock/nginx.lock \
  --error-log-path=/var/log/nginx/error.log \
 --http-log-path=/var/log/nginx/access.log \
  --with-http_gzip_static_module \
 --http-client-body-temp-path=/var/temp/nginx/client \
  --http-proxy-temp-path=/var/temp/nginx/proxy \
 --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
 --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
 --http-scgi-temp-path=/var/temp/nginx/scgi

注意:上边将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录
mkdir -p /var/temp/nginx

Linux上搭载Nginx负载均衡配置使用案例详解

执行完上诉步骤后, 我们可以看到nginx目录下生成了makefile文件,我们接着往下:

Linux上搭载Nginx负载均衡配置使用案例详解

后使用make命令, 运行结束后在使用make install命令进行安装, 最后是启动nginx:

Linux上搭载Nginx负载均衡配置使用案例详解

查看是否启动成功:

Linux上搭载Nginx负载均衡配置使用案例详解

配置反向服务代理器:
什么是反向服务呢? 首先说下正向服务, 例如爬虫程序, 我们主动出击去获取资源. 而反向服务我们是等待用户来访问. 区别在于主动和被动.
配置文件nginx/conf/nginx.conf

Linux上搭载Nginx负载均衡配置使用案例详解

配置nginx转发条件

Linux上搭载Nginx负载均衡配置使用案例详解

重启nginx服务器

Linux上搭载Nginx负载均衡配置使用案例详解

为了测试, 我们在两个tomcat 服务器的index.jsp中分别加了这是来自于哪个ip下的tomcat. 如下图所示:

Linux上搭载Nginx负载均衡配置使用案例详解

Linux上搭载Nginx负载均衡配置使用案例详解

重启好nginx后, 我们再来访问192.168.200.129 这台机器, 我么可以发现其实访问的是129.168.200.130这台机器.

Linux上搭载Nginx负载均衡配置使用案例详解

负债均衡的配置, 配置转发的权重: (另一台centos02 依然按照centos01的配置)

Linux上搭载Nginx负载均衡配置使用案例详解

我们在这里配置了两台转发机器: 192.168.200.129和192.168.200.130, 它们的权重分别是2/3 和1/3, 也就是说访问三次192.168.200.129, 有两次是192.168.200.129上的tomcat来处理, 有一次是192.168.200.130上的tomcat来处理. 如果我们的tomcat服务器更多 那么就需要在这里配置更多, 权重根据实际需求来划分.

同上, 搭建另一台机器192.168.200.130的负载均衡:

Linux上搭载Nginx负载均衡配置使用案例详解

搭建keepalived:(keepalived需要依赖openssl)

这里如果我们的机器192.168.200.129 出现故障了呢? 那么怎么使用192.168.200.130上的nginx进行转发呢? 怎么设置主机和备机呢? 如果主机死了怎么进行故障移除呢? 如果主机从不可用到可用状态又怎么进行恢复添加呢? 这些功能都是可以通过keepalived来进行设置的.

Linux上搭载Nginx负载均衡配置使用案例详解

keepalived原理:

Linux上搭载Nginx负载均衡配置使用案例详解

首先keepalived可以在主机上产生一个虚拟的ip, 这里叫做vip(v是virtual的意思):192.168.200.150, keepalived会将这个vip绑定到交换机上.
当用户访问主机:192.168.200.129时, 交换机会通过这个ip和vip的对应找到192.168.200.129上的nginx进行处理.
如果当有一天192.168.200.129上的nginx挂掉的时候, keepalived会立即在备机上生成一个相同的vip:192.168.200.150, 当用户继续访问192.168.200.129时, 交换机上已经绑定了vip, 这时发现这个vip是存在于192.168.200.130上面的, 所以直接将请求转发到了备机上.
如果主机被修复好能够继续对外提供服务时, 这时keepalived会将主机上继续生成这个vip, 同时回收在备机上生成的vip. 这个是通过心跳检查来判断主机已恢复使用.

我这里已经提前安装好了oppenssl, 关于具体安装方法大家可以自行百度.
检查openssl 是否安装成功:

Linux上搭载Nginx负载均衡配置使用案例详解

keepalived的安装命令:

Linux上搭载Nginx负载均衡配置使用案例详解

查看keepalived的安装目录:

Linux上搭载Nginx负载均衡配置使用案例详解

编辑keepalived的配置文件:

Linux上搭载Nginx负载均衡配置使用案例详解

首先我们来清空配置文件(清空后会自动再生成一个keepalived.conf, 但是里面的内容为空)
关于为什么要清空, 因为我们已经配置好了一些相关内容, 直接使用即可.

Linux上搭载Nginx负载均衡配置使用案例详解

这里是来设置虚拟ip和eth1:
因为我的centos是拷贝过来的, 所以这里是eth1, 关于怎么查看, 我们在文章开头有查看本机ip: ifconfig, 那里面有显示我们的网卡就是eth1.

Linux上搭载Nginx负载均衡配置使用案例详解

Linux上搭载Nginx负载均衡配置使用案例详解

配置完成之后, 启动keepalived:

Linux上搭载Nginx负载均衡配置使用案例详解

检测keepalived是否启动成功:

Linux上搭载Nginx负载均衡配置使用案例详解

这里查看 我们的机器多了两个ip, 其实这两个ip都是虚拟ip

设置备机:|
这里的权重只要低于主机的100就好.

Linux上搭载Nginx负载均衡配置使用案例详解

启动备机的keepalived:

Linux上搭载Nginx负载均衡配置使用案例详解

当主机停止服务时, 备机即可接管继续服务:

Linux上搭载Nginx负载均衡配置使用案例详解

到此这篇关于linux上搭载nginx负载均衡配置使用案例详解.的文章就介绍到这了,更多相关linux搭载nginx负载均衡内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.cnblogs.com/ios9/p/15788584.html

延伸 · 阅读

精彩推荐
  • NginxNginx服务器进程数设置和利用多核CPU的方法

    Nginx服务器进程数设置和利用多核CPU的方法

    这篇文章主要介绍了Nginx服务器进程数设置和利用多核CPU的方法,这样便可以更大限度地提高Nginx运行效率,需要的朋友可以参考下 ...

    低调小一4402019-11-01
  • Nginxnginx部署.net core站点的方法

    nginx部署.net core站点的方法

    这篇文章主要介绍了nginx部署.net core站点的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 ...

    Sheldon_Lou17142019-12-24
  • Nginxnginx请求限制配置方法

    nginx请求限制配置方法

    这篇文章给大家介绍nginx请求限制配置方法,包括http协议的连接和请求,nginx配置语法,本文给大家介绍的非常详细,需要的朋友参考下吧...

    小志的博客8092021-08-17
  • Nginx详解nginx配置url重定向-反向代理

    详解nginx配置url重定向-反向代理

    这篇文章主要介绍了详解nginx配置url重定向-反向代理 ,nginx的重定向和nginx的反向代理的原理还是有区别的。有兴趣的可以了解一下。 ...

    shuocaocao4382019-11-18
  • NginxNginx下配置pathinfo及ThinkPHP的URL Rewrite模式支持

    Nginx下配置pathinfo及ThinkPHP的URL Rewrite模式支持

    这篇文章主要介绍了Nginx下配置pathinfo及ThinkPHP的URL Rewrite模式支持,使用Nginx运行ThinkPHP的必备配置,需要的朋友可以参考下 ...

    Nginx教程网2822019-10-29
  • NginxNginx(Tengine)启用 SPDY 支持的配置方法

    Nginx(Tengine)启用 SPDY 支持的配置方法

    当老迈的 HTTP 协议逐渐不能满足人们需求的时候,Google 的 SPDY 协议出现在面前,那么这个长期以来一直被认为是 HTTP 2.0 唯一可行选择的 SPDY 是什么呢?当...

    mdxy-dxy3562019-10-25
  • Nginxnginx 流量控制以及访问控制的实现

    nginx 流量控制以及访问控制的实现

    这篇文章主要介绍了nginx 流量控制以及访问控制的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友...

    _c G3932020-08-11
  • NginxNginx常用技巧使用实例汇总

    Nginx常用技巧使用实例汇总

    这篇文章主要介绍了Nginx常用技巧使用实例汇总,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...

    盗哥泡茶去了5742020-09-19