nginx集群,带负载均衡(监听多个端口),超详细,轮询分发

  • 什么是集群?

通俗点理解就是好多计算机(服务器)组成一个计算机(服务器)小队,但是对外显只有一个计算机(服务器)

  • 我们为什么需要集群?

传统的web访问,压力大,响应请求的时间长,单点故障会有一部分用户无法访问网站

部署集群之后!一台服务器宕机了可以直接切换到另一台,不会影响网站的访问,⽤户处理速度也得到提升

  • 部署nginx集群需要什么?

1)VIP: ⼀个IP地址
2)分发器: nginx
3)数据服务器: Web服务器

任务描述:将172.201.1.102:9081  和  172.201.1.102:9082配成一个对外统一的集群服务,并将对外提供服务的端口命名为9099,并在172.201.1.103上部署,使得,不管是172.201.1.102服务还是172.201.1.103服务 只要有一个服务起来了,对外提供服务的网站都能够正常访问

Nginx负载均衡(监听多个端口)配置集群服务

这里我们需要设置Nginx同时监听9081和9082两个端口

  • 去哪里监听啊!

先在172.201.1.103服务器上找到nginx.conf

find . -name nginx.conf

如果找不到的话就敲cd /去根目录下再敲一遍find命令

然后我这里出现了三个不同路径的nginx.conf 

 那我们应该选择哪个编辑呢,别急!

一个一个cd到路径里然后 vim nginx.conf 看看他们listen的都是啥,就看这个地方

 以我这里举例

第一个第三个都是listen80端口 那我们打开一个浏览器,在地址栏输入当前IP地址加端口 ,我输入的是172.201.1.103:80 (查看当前服务器IP地址的命令:hostname -i)然后我进去之后是点不开的 没办法正常访问网页

第二个它listen8899端口 在浏览器地址栏输入172.201.1.103:8899 然后可以正常访问这个网页 

啊找到了 第二个路径的端口,在浏览器是可以访问的 就说明这个端口是起作用的,那我们就在这个路径下的nginx.conf添加!还记得我们想监听的端口吗

  • 写点什么可以让他监听我想监听的端口呢?

以下操作在cd /usr/local/nginx/conf 然后 vim nginx.conf 进入编辑页面后添加,也就是在我刚刚确定了的正确路径下的nginx.conf里添加(敲字母o插入,即可添加)(按esc键退出插入)(写完之后:wq!保存且退出)

#防错删,以下是我新添加的
    upstream jwlc {
        server 172.201.1.102:9081;
        server 172.201.1.102:9082;
     keepalive_requests 100;
    }

    server {
        listen 9099;
        server_name clustersvr;
        location / {
            proxy_pass http://jwlc;
        }
    }
ps:定义了⼀个名称为jwlc分发机制,会⾃动去upstream按照顺序⾃动分发访问
每个请求按时间顺序逐⼀分配到不同的后端服务器,如果后端服务器down掉,能⾃动剔除

 我的小逼逼叨:upstream后面跟的jwlc 是我们这边项目的一个缩写,你给改成web啥的都可以;前两个server后面跟的就是我想监听的端口加上了它的IP地址;keepalive是一行参数;后面server里的listen 9099 里的9099是我自己为对外提供服务的端口命名的,你给他命名八万啥的都行呀;server_name 后面名字无所谓的 你就随便给,叫localhost也行呢;最后http后面的jwlc和前面的一致就行

写进去之后就是这样

 

  •  这样就行了?这么简单?

下面我们来验证一下

验证集群

在浏览器地址栏输入部署集群的IP和自己命名的端口(我这输入172.201.1.103:9099)看看页面能不能正常访问,可以的话就是服务通了

验证子节点

1.在对应服务器上操作(172.201.1.102服务器),停掉9081端口

使用find命令也就是敲find . -name nginx.conf 找到nginx.conf  ,我在该服务器依旧是找到了三个不同路径的nginx.conf 一个个cd进去 vim nginx.conf 直到看见 listen 9081,并在listen 9081 前添加一个#号,把这个注释掉,下面这个图是我的操作过程 

(敲字母o插入,即可添加)(按esc键退出插入)(写完之后:wq!保存且退出)

 注释掉之后,进入nginx安装目录下的sbin下,敲./nginx -s reload 重启nginx

在浏览器输入停掉的端口的ip和你停掉的端口(我这里输入172.201.1.102:9081),因为停掉了所以不能访问,如果可以访问的话,就是依旧在监听这个端口,去敲more nginx.conf看一下,看见listen 9081 就说明没有注释掉,可能是前面那个步骤出错了,没有保存上之类的

在浏览器输入对外统一的集群服务端口和它的IP地址(我这里输入172.201.1.103:9099),前面部署了集群,所以页面可以正常访问

在浏览器输入另一个子节点的端口和它的IP地址(我这里输入172.201.1.102:9082),我又没有注释它,所以是可以正常访问的

2.在对应服务器上操作(172.201.1.102服务器),停掉9082端口

在上一步骤的位置里,把listen 9081前的#号删掉(光标放到#上,按字母x就可以把#删掉),放开9081端口,并用同样的方法找到listen 9082 并在前面添加#号 ,把9082那里注释了(写完之后:wq!保存且退出),然后重启nginx (./nginx -s reload

 

 在浏览器输入停掉的端口的ip和你停掉的端口(我这里输入172.201.1.102:9082),因为停掉了所以不能访问

在浏览器输入对外统一的集群服务端口和它的IP地址(我这里输入172.201.1.103:9099),前面部署了集群,所以页面可以正常访问

在浏览器输入另一个子节点的端口和它的IP地址(我这里输入172.201.1.102:9081),我依旧放开了它的注释了,所以是可以正常访问的

最后的最后!验证完了记得放开listen 9082 把它前面的#号删掉,然后:wq! 保存

现在就可以去摸鱼啦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值