基于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
相关推荐
松涛和鸣24 分钟前
Linux Makefile : From Basic Syntax to Multi-File Project Compilation
linux·运维·服务器·前端·windows·哈希算法
LF3_1 小时前
配置ssh免密登录
运维·ssh
再睡一夏就好1 小时前
深入Linux线程:从轻量级进程到双TCB架构
linux·运维·服务器·c++·学习·架构·线程
小小药1 小时前
09-vmware配置虚机连接互联网-nat模式
linux·运维·centos
广东大榕树信息科技有限公司2 小时前
如何通过国产信创动环监控系统优化工厂环境管理?
运维·网络·物联网·国产动环监控系统·动环监控系统
莫白媛2 小时前
Linux创作笔记综合汇总篇
linux·运维·笔记
studytosky2 小时前
Linux系统编程:深度解析 Linux 进程,从底层架构到内存模型
linux·运维·服务器·开发语言·架构·vim
java_logo2 小时前
Crawl4AI Docker 容器化部署指南
运维·docker·容器·crawl4ai·crawl4ai部署文档·crawl4ai部署教程·crawl4ai部署
可爱又迷人的反派角色“yang”3 小时前
redis知识点总集
linux·运维·数据库·redis·缓存
海奥华23 小时前
进程调度算法 笔记总结
linux·运维·服务器·笔记·学习