Nginx负载均衡详解_nginx负载均衡设置详解,2024年最新Linux运维高级架构进阶之数据传输与序列化

[复制链接]
发表于 2026-4-24 09:35:00 | 显示全部楼层 |阅读模式
先自我先容一下,小编浙江大学结业,去过华为、字节跳动等大厂,现在阿里P7
深知大多数步伐员,想要提拔技能,通常是自己探索发展,但自己不成体系的自学结果低效又漫长,而且极易遇到天花板技能故步自封!
因此网络整理了一份《2024年最新Linux运维全套学习资料》,初志也很简朴,就是盼望可以大概资助到想自学提拔又不知道该从何学起的朋侪。





既有恰当小白学习的零根本资料,也有恰当3年以上履历的小同伴深入学习提拔的进阶课程,涵盖了95%以上运维知识点,真正体系化!
由于文件比力多,这里只是将部门目次截图出来,全套包罗大厂面经、学习条记、源码课本、实战项目、大纲蹊径、教学视频,而且后续会连续更新
假如你必要这些资料,可以添加V获取:vip1024b (备注运维)

正文

upstream 模块:负载均衡模块,通过一个简朴的调理算法来实现客户端IP到后端服务器负载均衡。
在http的 upstream模块中,可以通过 server指令指定后端服务器的IP地点和端口,同时还可以设定每个后端服务器负载均衡调理中的状态。
常用的状态有:

  • weight:服务访问的权重,默认是1。
  • down:表现当前的server临时不到场负载均衡
  • backup:预留的备份呆板。当其他全部的非backup呆板出现故障大概忙的时间,才会哀求backup呆板,因此这台呆板的压力最轻。
  • max_fails:在fail_timeout时间内,允许哀求最大的失败次数,默以为1。当到达最大失败时,会在fail_timeout时间内不允许再次被选择。,返回 proxy_next_upstream 模块界说的错误。
  • fail_timeout:单元为秒,默认是10秒。指定一段时间内,哀求履历了max_fails次失败后,该server不能访问的时间(停息服务的时间)。max_fails可以和fail_timeout一起利用。
留意:当负载调理算法为ip_hash时,后端服务器在负载均衡调理中的状态不能是backup。
2.2 nginx负载均衡设置

nginx.conf 负载均衡的根本设置内容如下,以轮询战略为例:
  1. worker_processes  1;
  2. events {
  3.           worker_connections  1024;
  4. }
  5. http {
  6.                 # upstream模块:server\_group\_name 自定义服务组名
  7.     upstream  server_group_name {
  8.                     # server指令指定后端服务器的IP地址和端口
  9.         server    localhost:8080;
  10.         server    192.168.xxx.xxx:8081 down;
  11.         server    192.168.xxx.xxx:8082  max\_fails=3  fail\_timeout=20s;
  12.         server    192.168.xxx.xxx:8083;
  13.     }
  14.    
  15.                 # server模块
  16.     server {
  17.         listen       80;
  18.         server_name  localhost;
  19.         location / {
  20.                          # proxy\_pass:代理转发,将单体服务http://127.0.0.1:80,改为服务组名
  21.                          proxy_pass http://server_group_name/;
  22.                          # proxy\_redirect default;
  23.         }
  24.     }
  25. }
复制代码
二、Nginx负载均衡实战

欣赏结果:在欣赏器访问:http://192.168.xxx.xxx/test.html时,由于设置的负载均衡会将哀求均匀分发到两台服务器中,访问时会出现差别界面。。
1、准备工作

这里准备两台tomcat服务器,一台服务器的端口为8080,另一台服务器的端口也为8080吧;
在这两台tomcat服务器的webapps目次中的 ROOT文件夹中创建一个 test.html文件,用于测试。
  1. # 添加 html文件并加入内容
  2. echo "<h1>This is 8080 Port</h1>" > /usr/local/tomcat8080/webapps/ROOT/test.html
  3. echo "<h1>This is 8080 Port -------</h1>" > /usr/local/tomcat8080/webapps/ROOT/test.html
复制代码
启动两个tomcat服务。
  1. #启动tomcat8080
  2. #启动tomcat8080:
  3. /usr/local/tomcat8080/bin/startup.sh
  4. #关闭tomcat8080:
  5. #/usr/local/tomcat8080/bin/shutdown.sh
复制代码
欣赏器直接访问tomcat服务。

2、Nginx负载均衡设置

第一步:修改Nginx的设置文件
vim /usr/local/nginx/conf/nginx.conf
设置内容如下,以轮询战略为例:
  1. worker_processes  1;
  2. events {
  3.           worker_connections  1024;
  4. }
  5. http {
  6.     # upstream模块:自定义服务组名
  7.     upstream my_tomcat_server {
  8.              server 192.168.xxx.1xx:8080;
  9.              server 192.168.xxx.2xx:8080;
  10.     }
  11.     server {
  12.              listen       80;
  13.              server_name  192.168.xxx.xxx;  # 指定虚拟主机的IP,或者外网域名
  14.    
  15.              location / {
  16.                       root   html;
  17.                     index  index.html index.htm;
  18.                       # proxy\_pass:代理转发,指定我们配置负载均衡的服务名my\_tomcat\_server
  19.                       proxy_pass http://my_tomcat_server;
  20.                       # 增加下面内容
  21.                     proxy_set_header   Host             $host;
  22.               proxy_set_header   X-Real-IP        $remote\_addr;
  23.               proxy_set_header   X-Forwarded-For  $proxy\_add\_x\_forwarded\_for;
  24.              }
  25.     }
  26. }
复制代码
留意:假如遇到 nginx 设置了https upstream,然后访问跳转失败,直接报404。
办理方法:在nginx的设置文件中添加下面内容。
  1.         # 增加下面内容
  2.         proxy_set_header        Host                    $host;
  3.         proxy_set_header        X-Real-IP               $remote\_addr;
  4.         proxy_set_header        X-Forwarded-For         $proxy\_add\_x\_forwarded\_for;
复制代码
第二步:重启Nginx
修改 nginx完之后,生存退出,重启Nginx。
/usr/local/nginx/sbin/nginx -s reload
  1. # 先执行停止命令再执行启动命令
  2. [root@centos7 sbin]# /usr/local/nginx/sbin/nginx -s quit
  3. [root@centos7 sbin]# /usr/local/nginx/sbin/nginx
复制代码
第三步:欣赏器访问OK
在欣赏器访问:http://192.168.xxx.xxx/test.html时,由于设置的负载均衡会将哀求均匀分发到到这两台服务器中,以是,访问时会出现差别界面。

第四步:关闭服务
  1. #关闭Nginx
  2. /usr/local/nginx/sbin/nginx -s quit
  3. #关闭tomcat
  4. /usr/local/tomcat8080/bin/shutdown.sh
复制代码
三、Nginx负载均衡分配战略先容

1、轮询[默认]

轮询方式是Nginx负载默认的方式。
该战略会使得每个哀求按时间序次逐一分配到差别的后端服务器,假如此中某个后端服务器 down 掉,该战略能自动从轮询列表中剔除该服务。
轮询方式是将全部哀求按序次轮替地分配到后端服务器上,它均衡地对待后端的每一台服务器,而不关心折务器实际的毗连数和当前的体系负载。
末了的话

迩来很多小同伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给各人!
资料预览

给各人整理的视频资料:

给各人整理的电子书资料:

假如本文对你有资助,欢迎点赞、收藏、转发给朋侪,让我有连续创作的动力!
网上学习资料一大堆,但假如学到的知识不成体系,遇到题目时只是浅尝辄止,不再深入研究,那么很难做到真正的技能提拔。
必要这份体系化的资料的朋侪,可以添加V获取:vip1024b (备注运维)

一个人可以走的很快,但一群人才华走的更远!岂论你是正从事IT行业的老鸟或是对IT行业感爱好的新人,都欢迎参加我们的的圈子(技能交换、学习资源、职场吐槽、大厂内推、口试辅导),让我们一起学习发展!
点赞、收藏、转发给朋侪,让我有连续创作的动力!**
网上学习资料一大堆,但假如学到的知识不成体系,遇到题目时只是浅尝辄止,不再深入研究,那么很难做到真正的技能提拔。
必要这份体系化的资料的朋侪,可以添加V获取:vip1024b (备注运维)
[外链图片转存中…(img-h0Sf9hvL-1713386007475)]
一个人可以走的很快,但一群人才华走的更远!岂论你是正从事IT行业的老鸟或是对IT行业感爱好的新人,都欢迎参加我们的的圈子(技能交换、学习资源、职场吐槽、大厂内推、口试辅导),让我们一起学习发展!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表