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

摘要:负载均衡: 负载均衡是一种技术,用于在多个服务器之间分发传入的网络流量,以平衡服务器的负载,提高系统的可用性和性能。当您有多台服务器时,您可以使用负载均衡将请求分发到这些服务器上,从而防止单个服务器过载而影响用户体验。

反向代理: 反向代理是一种服务器配置,它将传入的客户端请求转发到后端服务器,并将响应从后端服务器返回给客户端。在负载均衡环境中,反向代理位于客户端和后端服务器之间。客户端将请求发送到反向代理,然后反向代理将请求转发到一个或多个后端服务器。反向代理还可以执行其他任务,如 SSL 终止、安全性增强、缓存等。

总结:在配置 Nginx 的负载均衡时,您将配置反向代理服务器,该服务器将负责将传入的请求分发给后端服务器。这种配置可以提高系统的可伸缩性和稳定性。通常情况下,您会使用 Nginx 的 upstream 指令定义后端服务器列表,并使用 location 块将请求转发给这些后端服务器。

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

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

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

bash 复制代码
[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都执行)

bash 复制代码
[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.启动服务进行测试

bash 复制代码
[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端的负载均衡

bash 复制代码
[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解析并测试

bash 复制代码
[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掉任意一个节点在进行测试

bash 复制代码
[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.节点恢复正常后在进行测试

bash 复制代码
[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
相关推荐
subin9934 分钟前
圣阳蓄电池企业口碑优势与核心运营策略FAQ解析
大数据·运维·人工智能·电源·ups
云计算磊哥@1 小时前
运维开发宝典055-大型网站nginx服务器管理全集1
服务器·nginx·运维开发
AC赳赳老秦1 小时前
GTD 工作法落地:用 OpenClaw 搭建收集-整理-执行-复盘全流程自动化工作流
大数据·运维·人工智能·信息可视化·自动化·deepseek·openclaw
DataX_ruby821 小时前
DCMM 2.0 贯标评估全解读:数据中台如何支撑九大能力域(2026版)
大数据·运维·人工智能·数据治理·数据中台
小手智联老徐2 小时前
Ubuntu 下 CuteCom 串口调试工具指南:安装、权限配置与数据记录
linux·运维·ubuntu
Felven2 小时前
麒麟信安操作系统掉电保护方案
linux·运维·麒麟信安·硬盘保护
泰和英杰2 小时前
2026 华为数字能源实操考点迭代:数据中心与光伏储能标准化故障排查方法论
运维·服务器·网络
明航咨询_贾老师2 小时前
RHCA Ansible高级自动化(DO374)认证信息整理
运维·自动化·ansible·rhca·红帽认证
zt1985q3 小时前
本地部署开源轻量级监控平台 Beszel 并实现外部访问
运维·服务器·网络协议·开源
BerryS3N3 小时前
GitHub Actions自动化运维实战:从CI/CD到云端部署的完整指南
运维·自动化·github