当前位置: 首页 > news >正文

基于centos7.9通过nginx实现负载均衡以及反向代理

摘要:负载均衡: 负载均衡是一种技术,用于在多个服务器之间分发传入的网络流量,以平衡服务器的负载,提高系统的可用性和性能。当您有多台服务器时,您可以使用负载均衡将请求分发到这些服务器上,从而防止单个服务器过载而影响用户体验。
反向代理: 反向代理是一种服务器配置,它将传入的客户端请求转发到后端服务器,并将响应从后端服务器返回给客户端。在负载均衡环境中,反向代理位于客户端和后端服务器之间。客户端将请求发送到反向代理,然后反向代理将请求转发到一个或多个后端服务器。反向代理还可以执行其他任务,如 SSL 终止、安全性增强、缓存等。
总结:在配置 Nginx 的负载均衡时,您将配置反向代理服务器,该服务器将负责将传入的请求分发给后端服务器。这种配置可以提高系统的可伸缩性和稳定性。通常情况下,您会使用 Nginx 的 upstream 指令定义后端服务器列表,并使用 location 块将请求转发给这些后端服务器。

1.安装nginx(三台主机全部需要)

上传rpm包,使用yum安装
[root@node1 ~]# yum install nginx-1.22.0-1.el7.ngx.x86_64.rpm  -y

2.配置两台测试的web服务器(两台web服务器node3和node4都执行)

[root@node3 ~]# cd /etc/nginx/conf.d/
[root@node3 conf.d]# mv default.conf{,.bak}
[root@node3 conf.d]# vim vhost.conf
# 配置虚拟主机
server  {listen  80;server_name     bbb.itxuan.com;location / {root /usr/share/nginx/html/bbb;index   index.html      index.htm;}access_log /usr/share/nginx/html/bbb/logs/access_bbb.log main;
}server  {listen  80;server_name     www.itxuan.com;location / {root /usr/share/nginx/html/www;index   index.html      index.htm;}access_log /usr/share/nginx/html/www/logs/access_www.log main;
}

3.配置web测试页(node3,node4都执行)

[root@node3 conf.d]# mkdir -p /usr/share/nginx/html/{www,bbb}/logs
[root@node3 conf.d]# echo "`hostname -I ` www" > /usr/share/nginx/html/www/index.html
[root@node3 conf.d]# echo "`hostname -I ` bbb" > /usr/share/nginx/html/bbb/index.html

4.启动服务进行测试

[root@node1 ~]# systemctl start nginx
[root@node1 ~]# curl -H host:bbb.itxun.com 192.168.136.164
192.168.136.164  bbb
[root@node1 ~]# curl -H host:bbb.itxun.com 192.168.136.163
192.168.136.163  bbb

5.配置node1端的负载均衡

[root@node1 ~]# vim /etc/nginx/conf.d/default.conf 
upstream www_server_pools{server  192.168.136.163:80;server  192.168.136.164:80;
}
server {listen       80;server_name  www.itxuan.com;#access_log  /var/log/nginx/host.access.log  main;location / {#   root   /usr/share/nginx/html;#   index  index.html index.htm;proxy_pass      http://www_server_pools;}

nginx检查并重启服务

[root@node1 ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@node1 ~]# systemctl restart nginx

6.配置node1端hosts解析并测试

[root@node1 ~]# vim /etc/hosts
192.168.136.161         www.itxuan.com
[root@node1 ~]# for ((i=1;i<=4;i++)); do curl http://www.itxuan.com; done
192.168.136.164  bbb
192.168.136.163  bbb
192.168.136.164  bbb
192.168.136.163  bbb

7.stop掉任意一个节点在进行测试

[root@node3 ~]# systemctl stop nginx
[root@node1 ~]# for ((i=1;i<=4;i++)); do curl http://www.itxuan.com; done
192.168.136.164  bbb
192.168.136.164  bbb
192.168.136.164  bbb
192.168.136.164  bbb

7.节点恢复正常后在进行测试

[root@node3 ~]# systemctl start nginx
[root@node1 ~]# for ((i=1;i<=4;i++)); do curl http://www.itxuan.com; done
192.168.136.164  bbb
192.168.136.164  bbb
192.168.136.163  bbb
192.168.136.164  bbb
http://www.lryc.cn/news/128331.html

相关文章:

  • 前端原生写自定义旋转变换轮播图
  • linux tomcat server.xml 项目访问路径变更不生效
  • 介绍原型模式:快速构建和复制对象的设计模式
  • Unity的TimeScale的影响范围分析
  • 爬虫逆向实战(五)--猿人学第三题
  • [虚幻引擎] UE使用虚拟纹理在模型上显示挖空效果
  • vue3中reactive和ref的比较
  • Beats:使用 Filebeat 将 golang 应用程序记录到 Elasticsearch - 8.x
  • 【STM32+ESP8266上云连载①】给ESP8266烧录AT固件
  • 深入解析Spring基本概念和核心思想
  • Redis数据结构——快速列表quicklist、快表
  • excel统计函数篇3之rank系列
  • Flink 火焰图
  • kubectl get 中英文对照
  • R语言APSIM模型进阶应用与参数优化、批量模拟实践技术
  • 无涯教程-Perl - times函数
  • 《计算机网络:自顶向下方法》第五章--网络层:控制平面
  • Mysql存储引擎中InnoDB与Myisam的主要区别
  • 数据仓库 ODS->DWD->DWS->ADS
  • 【SpringBoot】SpringBoot获取不到用户真实IP怎么办
  • LightDB 23.3 plorasql 函数支持inout参数输出
  • SpringBoot第41讲:SpringBoot集成Redis - 基于RedisTemplate+Jedis的数据操作
  • 用 React+ts 实现无缝滚动的走马灯
  • 三维模型OSGB格式轻量化重难点分析
  • C#__事件event的简单使用:工具人下楼问题
  • 初识Spring-ioc
  • windows10 安装WSL2, Ubuntu,docker
  • Java面试题目汇总
  • 【ARM 嵌入式 编译系列 6 -- GCC objcopy, objdump, readelf, nm 介绍】
  • c语言每日一练(9)