首页 > 其他分享 >架构师之路-学渣到学霸历程-64

架构师之路-学渣到学霸历程-64

时间:2024-11-16 21:51:28浏览次数:3  
标签:Linux2 学霸 server nginx 学渣 64 proxy upstream root

负载均衡的方式:

今天继续分享nginx的负载均衡的几种方式,并且以实验的方式进行讲解;

继续保持输出以及分享,目前能做的也就是这些了;

1.url_hash说明

通过客户请求的url进行hash,在通过hash值来选择后端的server;

#修改前端的nginx的配置文件
[root@Linux2 nginx]# vim conf/nginx.conf
.........
    upstream web {.
    	#添加uri的hash
        hash $request_uri consistent;
        server 192.168.75.73 weight=1 max_fails=3 fail_timeout=9s;
        server 192.168.75.71 weight=1;
        }

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
           # root   html;
           # index  index.html index.htm;
           proxy_pass http://web;
           #proxy_next_upstream off;
           proxy_next_upstream error http_404 http_502;
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;
        }
#重启配置文件
[root@Linux2 nginx]# nginx -s reload
  • 验证
#这里先停掉75.73后端服务器的nginx
	#验证
[root@Linux2 nginx]# curl  192.168.75.72
这个是75.71的yum安装的nginx
	#再次启动192.168.75.73的nginx
[root@Linux3 ~]# /usr/local/nginx/sbin/nginx 
	#然后使用nginx的客户端验证
[root@Linux2 nginx]# curl  192.168.75.72
这个是75.71的yum安装的nginx
2.根据相应时间均衡

fail算法会根据后端节点的服务器的响应事件来分配请求,时间段的优先分配;

需要借助一个模块master.zip来进行实现;

前端服务器重新编译配置模块

#准备好 nginx-upstream-fair-master.zip
	#查看一个
[root@Linux2 ~]# ls nginx-upstream-fair-master.zip 
nginx-upstream-fair-master.zip
	#解压压缩包
[root@Linux2 ~]# unzip nginx-upstream-fair-master.zip 
	#修改源码bug
[root@Linux2 ~]# sed -i 's/default_port/no_port/g' nginx-upstream-fair-master/ngx_http_upstream_fair_module.c 

#进入到nginx的源码目录进行重新编译
	#编译前首先看看编译的原来参数
[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
	#开始进行编译
[root@Linux2 nginx-1.26.2]# ./configure --prefix=/usr/local/nginx --add-module=../nginx-upstream-fair-master
	#编译安装
[root@Linux2 nginx-1.26.2]# make && make install
	#直接升级
[root@Linux2 nginx-1.26.2]# make upgrade
	#检查是否安装成功
[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
  • 修改前端服务器的配置文件
#直接修改配置文件
[root@Linux2 nginx-1.26.2]# cd /usr/local/nginx/
[root@Linux2 nginx]# vim conf/nginx.conf
	#然后再均衡组添加fail模块
[root@Linux2 nginx]# vim conf/nginx.conf
........
    upstream web {
    	#注释掉原来的uri_hash
        #hash $request_uri consistent;
        	#添加fair配置
        fair;
        server 192.168.75.73 weight=1 max_fails=3 fail_timeout=9s;
        server 192.168.75.71 weight=1;
        }

    server {
        listen       80;
        server_name  localhost;
................
        location / {
           # root   html;
           # index  index.html index.htm;
           proxy_pass http://web;
           #proxy_next_upstream off;
           proxy_next_upstream error http_404 http_502;
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;
        }
#重载配置文件验证
[root@Linux2 nginx]# nginx -s reload
#验证
[root@Linux2 nginx]# curl 192.168.75.72
这个是75.73的主页资源
3.备用服务器实验

这里用71作为备用服务器,意思是只有主的服务器不能提供服务了,然后备用服务器才会顶上

#直接修改配置文件
[root@Linux2 nginx]# vim conf/nginx.conf
........
   upstream web {
        #hash $request_uri consistent;
        #fair;
        server 192.168.75.73 weight=1 max_fails=3 fail_timeout=9s;
        	#这里直接指定71是backup即可
        server 192.168.75.71 weight=1 backup;
        }

    server {
        listen       80;
        server_name  localhost;
................
        location / {
           # root   html;
           # index  index.html index.htm;
           proxy_pass http://web;
           #proxy_next_upstream off;
           proxy_next_upstream error http_404 http_502;
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;
        }
#重载配置文件
[root@Linux2 nginx]# nginx -s reload
	#验证-->直接访问,会直接出73的结果
[root@Linux2 nginx]# curl 192.168.75.72
这个是75.73的主页资源
	#如果73的服务器挂了,71就会顶上
[root@Linux2 nginx]# curl 192.168.75.72
这个是75.71的yum安装的nginx

分享环节:

hi,亲爱的朋友们:

  • 感谢你们耐心完这个笔记,如果笔记中出现的一些软件包、资源找不到的可以直接留言&私聊,我看见了就回复;
  • 资源免费共享;有需要滴滴,(仅仅是我有的)

我的坚持初衷:

标签:Linux2,学霸,server,nginx,学渣,64,proxy,upstream,root
From: https://blog.csdn.net/Liang_GaRy/article/details/143824102

相关文章

  • 安卓 32 位和 64 位应用的技术区别 的详细表格化分析:
    安卓32位和64位应用的技术区别的详细表格化分析:对比项32位应用64位应用内存寻址能力最大支持4GB内存(通常约为2–3GB)理论上支持最大16TB内存,实际使用受到设备限制性能计算能力较弱,适用于内存和计算需求较低的应用更强的计算性能,适合内存密集型和......
  • springboot在线问答系统-毕业设计源码76418
    摘 要随着互联网趋势的到来,各行各业都在考虑利用互联网将自己推广出去,最好方式就是建立自己的互联网系统,并对其进行维护和管理。在现实运用中,应用软件的工作规则和开发步骤,采用Java技术建设在线问答系统。本设计主要实现集人性化、高效率、便捷等优点于一身的在线问答系......
  • DAY64||dijkstra(堆优化版)精讲 ||Bellman_ford 算法精讲
    dijkstra(堆优化版)精讲题目如上题47.参加科学大会(第六期模拟笔试)邻接表本题使用邻接表解决问题。邻接表的优点:对于稀疏图的存储,只需要存储边,空间利用率高遍历节点链接情况相对容易缺点:检查任意两个节点间是否存在边,效率相对低,需要O(V)时间,V表示某节点链接其他节点的数......
  • 架构师之路-学渣到学霸历程-62
    配置七层均衡实验今天分享的就是nginx的均衡负载的实验;从七层的角度来做这个负载均衡的实验;一个小小实验来进行验证;配置七层均衡实验实验规划:前端服务器:192.168.75.72后端服务器1:192.168.75.71后端服务器2:192.168.75.73注意:如果物理机不太行,可以使用多ip的虚拟主......
  • RTP --- H.264 NALU
    帧类型I帧:完整编码的帧叫I帧,是一个图像经过压缩后的产物,自身可以通过视频解压算法解压成一张单独的完整的图片IDF帧:序列的首个帧,IDF帧属于I帧。IDR帧因为附带SPS、PPS等信息,解码器在收到IDR帧时,需要做的工作就是:把所有的PPS和SPS参数进行更新。将参考帧队列清空,将已解码......
  • H.265流媒体播放器EasyPlayer.js H.264/H.265播放器chrome无法访问更私有的地址是什么
    EasyPlayer.jsH5播放器,是一款能够同时支持HTTP、HTTP-FLV、HLS(m3u8)、WS、WEBRTC、FMP4视频直播与视频点播等多种协议,支持H.264、H.265、AAC、G711A、MP3等多种音视频编码格式,支持MSE、WASM、WebCodec等多种解码方式,支持Windows、Linux、Android、iOS全平台终端的H5播放器,使用简单......
  • [oeasy]python0041_输出ASCII码表_英文字符编码_键盘字符_ISO_646
    输出ASCII码表_英文字符编码_键盘字符_ISO_646回忆上次内容上次输出了从0到122序号对应的所有字符 fornuminrange(123):print(num,chr(num),sep=":")字符类型包括数字大小写字母符号   添加图片注释,不超过14......
  • 代码随想录算法训练营day46| 647. 回文子串 516.最长回文子序列
    学习资料:https://programmercarl.com/0647.回文子串.html#算法公开课动态规划最后一部分:回文字符串子串是从原字符串中连续截取的;子序列可以是从原字符串中不连续提取出元素构成的学习记录:647.回文子串(难构造dp数组,dp数组是从原字符串截取[i,j]范围的片段是否是回文字符串,布尔......
  • 无插件H5播放器EasyPlayer.js视频流媒体播放器点播H264、H265需求(点播mp4、Hls)
    EasyPlayer.js视频流媒体播放器属于一款高效、精炼、稳定且免费的流媒体播放器,可支持多种流媒体协议播放,无须安装任何插件,起播快、延迟低、兼容性强,使用非常便捷。EasyPlayer.js播放器不仅支持H.264与H.265视频编码格式,也能支持WebSocket-FLV、HTTP-FLV、HLS(m3u8)、WebRTC、ws-fm......
  • [LeetCode] 2064. Minimized Maximum of Products Distributed to Any Store
    Youaregivenanintegernindicatingtherearenspecialtyretailstores.Therearemproducttypesofvaryingamounts,whicharegivenasa0-indexedintegerarrayquantities,wherequantities[i]representsthenumberofproductsoftheithproducttype......