基于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
相关推荐
德迅--文琪14 分钟前
SCDN是服务器吗?SCDN防御服务器有什么特点?
运维·服务器
ice___Cpu24 分钟前
Linux 基本使用和 web 程序部署 ( 8000 字 Linux 入门 )
linux·运维·前端
z2023050826 分钟前
linux 之0号进程、1号进程、2号进程
linux·运维·服务器
Hqst_Kevin2 小时前
Hqst 品牌 H81801D 千兆 DIP 网络变压器在光猫收发器机顶盒中的应用
运维·服务器·网络·5g·网络安全·信息与通信·信号处理
honey ball2 小时前
仪表放大器AD620
运维·单片机·嵌入式硬件·物联网·学习
秋已杰爱2 小时前
进程间关系与进程守护
运维·服务器
Flying_Fish_roe2 小时前
linux-软件包管理-包管理工具(Debian 系)
linux·运维·debian
BLEACH-heiqiyihu3 小时前
红帽9中nginx-源码编译php
运维·nginx·php
666786663 小时前
Mysql高级篇(中)—— SQL优化
linux·运维·服务器·数据库·sql·mysql
企业管理8MSaaS3 小时前
了解CRM销售自动化:类型、优势、策略和工具
运维·自动化