webshell实践,在nginx上实现负载均衡

1、配置多台虚拟机,用作服务器

在不同的虚拟机上安装httpd服务

我采用了三台虚拟机进行服务器设置:192.168.240.11、192.168.240.12、192.168.240.13

复制代码
[root@node0-8 /]# yum install httpd -y  #使用yum安装httpd服务

#开启httpd服务
[root@node0-8 /]# systemctl start httpd
[root@node0-8 /]# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/httpd.service.d
           └─php-fpm.conf
   Active: active (running) since Mon 2022-12-08 23:38:30 CST; 8 months 4 days ago

在服务器上创建标识文件

复制代码
[root@node0-8 /]# vim /etc/httpd/conf/httpd.conf  #查看httpd的配置文件所指向的网站主页文件路径
</Directory>

# Further relax access to the default document root:
<Directory "/var/www/html">

#在/var/www/html路径下创建index.html文件,文件内容标识不同的服务器端
#在虚拟机11上创建
[root@server79 /]# vim /var/www/html/index.html
这是主机11
#在虚拟机12上创建
[root@node0-8 /]# vim /var/www/html/index.html
这是主机12
#在虚拟机13上创建
[root@node1-79 /]# vim /var/www/html/index.html
这是主机13

使用Windows主机浏览器分别访问服务器

复制代码
[root@node1-79 /]# systemctl stop firewalld  #关闭服务器主机的防火墙
[root@node1-79 /]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

在新的虚拟机上配置nginx实现负载均衡

首先要安装nginx,随后再配置负载均衡

复制代码
[root@localhost ~]# nginx -V  #查看nginx所有配置文件的路径

#在添加所要代理的服务器前先测试与服务器之间是否信息互联
[root@localhost /]# ping 192.168.32.137
PING 192.168.32.137 (192.168.32.137) 56(84) bytes of data.
64 bytes from 192.168.32.137: icmp_seq=1 ttl=64 time=0.553 ms

#修改nginx的配置文件配置服务器代理
#在nginx的nginx.conf文件中添加以下内容
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
#在http模块中插入
 upstream servers {                          #upstream XXX(自定义命名)
        server 192.168.240.11;              #server 后面的地址为被代理的服务器的地址
        server 192.168.240.12;
        server 192.168.240.13;
    }
#在同一http模块下的server中的location修改为以下内容
location / {                              #/后面自定义命名路径名
            proxy_pass http://servers;      #这里的//后面的XXX必须与上端的upstream后面的相同
        }
        
#配置修改完毕后重加载nginx配置
[root@localhost sbin]# ./nginx -s reload

#关闭防火墙
[root@localhost sbin]# systemctl stop firewalld
[root@localhost sbin]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Tue 2023-08-12 15:08:34 CST; 7 days ago
     Docs: man:firewalld(1)

在浏览器上测试

修改代理服务器的权重

复制代码
#在原本的代理地址后面加上权重
[root@localhost sbin]# vim /usr/local/nginx/conf/nginx.conf
    upstream servers {
        server 192.168.32.137 weight=1;
        server 192.168.32.138 weight=5;
        server 192.168.32.147 weight=2;
    }
 

[root@localhost sbin]# ./nginx -s reload  #重新加载nginx的配置
相关推荐
尹人入圣几秒前
市面上IP驱动产业新场景新工具
运维·网络·python·tcp/ip
JieDavid2 小时前
奇智创达知识产权管理系统期限监控模块实操,告别人工期限疏漏,实现管理闭环!
大数据·运维·人工智能·经验分享·重构
工作10年+,存储芯片行业2 小时前
Linux NVMe 中断排查与性能优化:IRQ 优化(原理+排查)
linux·运维·性能优化·ssd·nvme·pcie·中断
geats人山人海2 小时前
linux 1.目录结构
linux·运维·服务器
应用市场3 小时前
嵌入式Linux从裸板到产品(一):全景地图与交叉编译环境,从四个上板翻车现场说
linux·运维·服务器
CIMPro孪大师3 小时前
CIMPro×DPE | 不止是爆炸动画,AI原生数字样机如何让设备培训与运维更高效
运维·ai-native
皓月盈江3 小时前
Linux系统PC与Linux系统服务器通过scp上传与下载文件
linux·运维·服务器·scp·文件上传·文件下载
对讲机数码科普3 小时前
危化厂区防爆专网通信建设实践:从合规框架到验收清单
运维·网络·架构
Ruiery3 小时前
Linux 6.6内核 CPU 启动深度解析(二):AP 拉起 — BSP 如何用 INIT-SIPI 唤醒其余 CPU
linux·运维·服务器
Lsetea3 小时前
OpenSSL verify报error 62:证书主机名不匹配与-verify_hostname排查
运维·https·ssl证书·openssl·san