配置四层均衡实验
今天分享的就是Nginx的最后一个学习内容,也是nginx的均衡负载;
和上面不一样的是:这个存在于四层IP层面的均衡负载;
突然这里会想到一个内容:LVS,这个不就是能够解决吗?
这里讲述就是nginx的,就是什么都能实验,不然为何nginx为何这么火的存在?
来一块看看;
1.配置四层均衡实验
规划:
- 前端服务器:192.168.75.72
- 后端服务器:192.168.75.73
- 后端服务器:192.168.75.71
使用到四层均衡配置的话,主要是stream和upstream的配置,但是ngiinx默认编译的时候没有编译进去,所以需要重新编译;
四层均衡主要作用在传输层,并不是再应用层
前端服务器配置stream模块
192.168.75.72是前端服务器
#查看原来的编译参数:
[root@Linux2 nginx-1.26.2]# nginx -V
nginx version: nginx/1.26.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
configure arguments: --prefix=/usr/local/nginx --add-module=../nginx-upstream-fair-master
#进入源码目录
#预编译-->这里是添加stream
[root@Linux2 nginx-1.26.2]# ./configure --prefix=/usr/local/nginx --add-module=../nginx-upstream-fair-master --with-stream
#编译、安装
[root@Linux2 nginx-1.26.2]# make && make install
#直接升级
[root@Linux2 nginx-1.26.2]# make upgrade
#然后查看一下是否添加到stream模块
[root@Linux2 ~]# nginx -V
nginx version: nginx/1.26.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
configure arguments: --prefix=/usr/local/nginx --add-module=../nginx-upstream-fair-master --with-stream
实验四层的均衡负载
- 修改配置文件
#修改配置文件
[root@Linux2 ~]# cd /usr/local/nginx/
[root@Linux2 nginx]# vim conf/nginx.conf
#只保留如下这个配置即可
......
#在event指令块下面添加
events {
worker_connections 1024;
}
#这里就是指定stream模块
stream {
#同样也用upstream模块,指定 这个web均衡组
upstream web {
#配置服务器的时候一定要指定端口80
server 192.168.75.71:80;
server 192.168.75.73:80;
}
#设置server的规则-->这个直接在stream指令块里头
server {
#这个server要卸载stream上
listen 80;
server_name localhost;
#连接上游服务器超时间,超过则选择另外一个服务器
proxy_connect_timeout 3s;
#tcp连接闲置时间,超过则关闭
proxy_timeout 10s;
#均衡组
proxy_pass web;
}
}
..........
#重载配置文件
[root@Linux2 nginx]# sbin/nginx
[root@Linux2 nginx]# nginx -s reload
验证:
- 开启后端的nginx
- 然后直接访问前端
#启动nginx
[root@Linux1 ~]# nginx
[root@Linux3 ~]# /usr/local/nginx/sbin/nginx
#验证-->这里是直接访问前端服务器
[root@Linux2 nginx]# curl 192.168.75.72
这个是75.71的yum安装的nginx
[root@Linux2 nginx]# curl 192.168.75.72
这个是75.73的主页资源
2.实现端口转发
- 直接修改配置文件
- 然后主要是修改端口即可
#修改配置文件
[root@Linux2 nginx]# vim /usr/local/nginx/conf/nginx.conf
..............
events {
worker_connections 1024;
}
stream {
upstream web {
#修改一下转发的端口
server 192.168.75.71:22;
server 192.168.75.73:80;
}
server {
listen 2222;
proxy_connect_timeout 3s;
proxy_timeout 10s;
proxy_pass web;
}
}
#重载配置文件
[root@Linux2 nginx]# nginx -s reload
验证:
- 我们一直在做nginx的实验,
- 然后我们尝试一下远程连接72这台服务器,并且指定一下端口号
#远程连接前端,注意IP ,192.168.75.72-->它会直接连接到73
[root@Linux2 nginx]# ssh 192.168.75.72 -p2222
分享环节:
hi,亲爱的朋友们:
- 感谢你们耐心完这个笔记,如果笔记中出现的一些软件包、资源找不到的可以直接留言&私聊,我看见了就回复;
- 资源免费共享;有需要滴滴,(仅仅是我有的)
我的坚持初衷:💕立志要成为一名架构师
- 不断地去坚持学,其中的各种各样的难度,不言而喻~!
- 坚持不是一件容易的事情,但它却是成功的关键。做起来吧~!
如果你也想要坚持:那么组团吧,咋们一块互相监督;一天一点分享也是进步;最怕就是孤军奋战!加油吧,追梦人~!