Nginx配置负载均衡

什么是负载均衡

把之前发送到一台服务器上的请求分发到多个服务器上 进行协同工作

前言

配置负载均衡至少需要准备三台虚拟机 其中一台虚拟机作为主虚拟机配置负载均衡进行分配,剩下两个虚拟机里面配置启动一个springboot项目,正常情况下剩下的两台虚拟机除了ip地址以外其余完全一样,我这里对项目进行了一点小小的改变便于分辨

一. Nginx使用服务启动

配置nginx快速启动,这里跟本章内容没有关系,不需要可直接跳过从 二 开始

1.创建nginx.service文件

切换到/lib/systemd/system/目录

创建命令

vim nginx.service

2.添加如下内容

在新建的nginx.service里面添加如下内容

⚠️注意 下方路径不一定跟我一样 务必使用自己的路径

复制代码
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/opt/nginx/nginxserver/sbin/nginx  -c /opt/nginx/nginxserver/conf/nginx.conf
ExecReload=/opt/nginx/nginxserver/sbin/nginx -s  reload
ExecStop=/opt/nginx/nginxserver/sbin/nginx  -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target

3. 命令

保存之后在控制台输入下方命令使配置生效

systemctl daemon-reload

之后使用之前的命令 找到nginx所在位置 先关闭nginx

nginx -s stop

然后使用配置完之后的命令启动

systemctl start nginx

查看状态

systemctl status nginx

4.常用命令

配置之后需要使文件生效

systemctl daemon-reload

退出并保存文件,执行systemctl enable nginx.service使nginx开机启动

#开机自启动

systemctl enable nginx.service

#停止开机自启动

systemctl disable nginx.service

#查询当前状态

systemctl status nginx.service

#启动服务

systemctl start nginx.service

#重新启动服务

systemctl restart nginx.service

#停止服务

systemctl stop nginx.service

#重新加载配置

systemctl reload nginx.service

二. 克隆虚拟机

首先准备工作,准备至少三台虚拟机,一个配置好的虚拟机,剩下两个建立副本修改ip

1.克隆虚拟机

  1. 关闭虚拟机ContOS 7 001

  2. 右键虚拟机------>管理------>克隆------>下一步------>下一步------>创建完整的克隆------>修改虚拟机的名称和安装路径------>完成

2.修改ip地址

因为配置负载均衡需要使用三台服务器,所以服务器的ip不能重复,下面开始更改ip

命令:

⚠️注意 复制或者看着输入的时候 vim /etc/sysconfig/network-scripts/ifcfg-ens到这里按tab键因为后面这两个XX你或许跟我会不太一样

vim /etc/sysconfig/network-scripts/ifcfg-ensXX

进来之后更改这个IPADDR即可然后重启虚拟机就更改完毕了

重新连接之后查看ip会发现更改成功就行了

3.克隆第二个虚拟机

同上⬆️⬆️

三. 配置

这里就是我所有的虚拟机,下面会在69这个虚拟机的nginx.conf配置文件里面将70 96配置到里面,在70和96里面分别运行两个项目,正常情况这两个项目是一样的,便于分辨我对这两个的数据库进行了一些修改

1.配置70 96 虚拟机

70 96 这两个虚拟机不需要进行任何的配置 只需要将打包好的jar包上传进来之后运行进行访问测试即可

我这里是用的是这两个打包好的springboot项目(自行准备或者私我问我要)

2.启动测试 70 96 虚拟机

3.对69服务器进行负载均衡配置

配置方向代理

4.访问

第一次访问

刷新页面之后

这样就配置完成了

相关推荐
舞动CPU5 小时前
linux c/c++最高效的计时方法
linux·运维·服务器
皮锤打乌龟5 小时前
(干货)Jenkins使用kubernetes插件连接k8s的认证方式
运维·kubernetes·jenkins
钰@5 小时前
小程序开发者工具的network选项卡中有某域名的接口请求,但是在charles中抓不到该接口
运维·服务器·小程序
wanhengwangluo6 小时前
云服务器和物理服务器的区别有哪些?
运维·服务器
秦jh_7 小时前
【Linux】多线程(概念,控制)
linux·运维·前端
yaosheng_VALVE7 小时前
稀硫酸介质中 V 型球阀的材质选择与选型要点-耀圣
运维·spring cloud·自动化·intellij-idea·材质·1024程序员节
看山还是山,看水还是。8 小时前
Redis 配置
运维·数据库·redis·安全·缓存·测试覆盖率
扣得君8 小时前
C++20 Coroutine Echo Server
运维·服务器·c++20
keep__go8 小时前
Linux 批量配置互信
linux·运维·服务器·数据库·shell
矛取矛求8 小时前
Linux中给普通账户一次性提权
linux·运维·服务器