当前位置: 首页 > news >正文

nginx反向代理和负载均衡

nginx反向代理和负载均衡

一、nginx负载均衡案例

主机Ip安装系统
Nginx192.168.100.10NginxCentos7
rs1192.168.100.20HttpdCentos7
rs2192.168.100.30HttpdCentos7
1、三台主机都关闭防火墙和selinux,还需要配置好yum仓库
2、nginx主机----部署了nginx服务
3、rs1、rs2主机上,安装httpd,然后添加一个测试网页
以rs1为例:
[root@stw2 ~]# cd /etc/yum.repos.d/
[root@stw2 yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo
[root@stw2 yum.repos.d]# rm -rf *
[root@stw2 yum.repos.d]# vim server.repo
[root@stw2 yum.repos.d]# cat server.repo 
[aa]
name=aa1
baseurl=file:///mnt
enabled=1
gpgcheck=0[root@stw2 yum.repos.d]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only
[root@stw2 yum.repos.d]# yum -y install httpd
[root@stw2 yum.repos.d]# echo "this is rs1" > /var/www/html/index.html
[root@stw2 yum.repos.d]# systemctl restart httpd
[root@stw2 yum.repos.d]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
4、在nginx主机上,修改配置文件,设置负载均衡
[root@stw ~]# nginx   //这里服务没起,先起服务,通过ss -anlt查看是否有80端口
[root@stw ~]# vim /usr/local/nginx/conf/nginx.conf
[root@stw ~]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@stw ~]# nginx -s reload

在这里插入图片描述

测试访问:

在这里插入图片描述

再次访问:

在这里插入图片描述

5、设置权重

如果想其中一台后端真实服务器,多承担一些访问量,可以去设置weight权重
[root@stw ~]# vim /usr/local/nginx/conf/nginx.conf
[root@stw ~]# nginx -s reloadupstream sss {server 192.168.100.20 weight=2;server 192.168.100.30;}
那么重载nginx并测试访问,此时会发现100.20主机(rs1),访问时,访问的2次后,才轮询到rs2中

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

6、设置端口

(1)首先修改rs1的httpd服务,侦听8080端口,并重启httpd服务
[root@stw2 yum.repos.d]# vim /etc/httpd/conf/httpd.conf 
[root@stw2 yum.repos.d]# systemctl restart httpd

在这里插入图片描述

还没有修改nginx配置文件时访问:(只能访问到rs2)

在这里插入图片描述

(2)修改nginx中的配置文件

upstream sss {server 192.168.100.20:8080;server 192.168.100.30;}
测试访问:

在这里插入图片描述

在这里插入图片描述

7、ip_hash配置

[root@stw ~]# vim /usr/local/nginx/conf/nginx.conf
[root@stw ~]# nginx -s reloadupstream sss {ip_hash;server 192.168.100.20;server 192.168.100.30;}
测试访问:(绑定了rs2的主机,每次访问都访问这台主机)

在这里插入图片描述

ip_hash这种负载均衡模式根据个人理解就是:例如多个用户通过nginx访问到了后端的httpd集群中,这个时候因为有不同用户,所以ip也不同,ip+hash算法计算的hash值都传到了httpd,nginx就记录了这个ip和hash值,那么下次同一个ip过来还是会分配到这个httpd的。

如果在集群中的某台服务器出现故障,我们想要从nginx的集群配置中移除掉,我们不可以直接的将那一行删掉,比如 server 192.168.100.10:8080 删掉,如果直接删掉会导致nginx的hash算法重新计算,那么用户的会话或者说缓存都会失效掉,所以这里如果不用这台服务器,直接比较为down即可,也就是 server 192.168.100.10:8080 down 这么做就可以了。

二、动静分离 ------nginx+tomcat

还是基于上面的环境添加一台tomcat,Tomcat:192.168.100.40
1、部署tomcat(略)
2、测试访问tomcat的测试网页

在这里插入图片描述

3、配置nginx,设置动静分离
[root@stw ~]# vim /usr/local/nginx/conf/nginx.conf
[root@stw ~]# nginx -s reload

在这里插入图片描述

测试访问:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

http://www.dtcms.com/a/418918.html

相关文章:

  • 外贸seo外贸推广外贸网站建设外贸网站建设网站域名信息查询
  • 新广告法 做网站的python和c++学哪个好
  • 数据科学与数据分析:真正的区别是什么?
  • default-route-advertise always 概念及题目
  • Python爬虫实战:获取东方财富网CPI信息与数据分析
  • Filebeat写ElasticSearch故障排查思路(上)
  • 网站开发进度安排文档青岛关键词优化排名
  • C# TCP 服务端与客户端代码分析与补充
  • 族蚂建站郴州网站建设费用价格
  • 对象分配在哪块内存?
  • AI Agent智能体如何突破“听懂却做不好”困局?多模态技术打通全链路
  • 图卷积网络 (GCN)
  • JMeter中常用的配置优化
  • 网站怎样做优化调整深圳vi设计深圳vi设计公司
  • 做教育培训网站需要资质么网站对联广告图片
  • 《Muduo网络库:实现Channel通道以及Poller抽象基类》
  • 安全系统架构
  • 中国画廊企业网站模板thinkphp做视频网站
  • C++ 位运算 高频面试考点 力扣 268. 丢失的数字 题解 每日一题
  • 【展厅多媒体】解析VR虚拟驾驶实现多场景自由切换
  • 网站建设吉金手指专业11青海省高等级公路建设管局网站
  • 厦门北京网站建设公司怎样给一个公司做网站
  • 58.Nginx的反向代理和负载均衡
  • 阿里云函数计算 AgentRun 全新发布,构筑智能体时代的基础设施
  • 做营销型网站价格wordpress 考试系统
  • 黄金网站app视频播放画质选择人力资源网站建设计划书
  • 我国省级档案网站建设状况wordpress插件events
  • 【CSS】flex布局
  • 【论文阅读】具身人工智能:从大型语言模型到世界模型
  • 【论文阅读】Segment Anything