06、Nginx反向代理与负载均衡

这篇具有很好参考价值的文章主要介绍了06、Nginx反向代理与负载均衡。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

反向代理

这种代理方式叫做,隧道代理。有性能瓶颈,因为所有的数据都经过Nginx,所以Nginx服务器的性能至关重要

06、Nginx反向代理与负载均衡,Nginx,nginx,负载均衡,运维

负载均衡

把请求,按照一定算法规则,分配给多台业务服务器(即使其中一个坏了/维护升级,还有其他服务器可以继续提供服务)

06、Nginx反向代理与负载均衡,Nginx,nginx,负载均衡,运维

反向代理+负载均衡:

nginx.conf配置文件

启用proxy_pass,root和index字段就会失效

proxy_pass后的地址必须写完整 http://xxx,不支持https

当访问localhost时(Nginx服务器),网页打开的是http://xxx(应用服务器),网页地址栏写的还是localhost

http{ 		
 		server {
        listen       80;
        server_name  localhost;

        location / { 
        		proxy_pass http://xxx;
            #root   html/test; 
            #index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
		}
}
**定义地址别名 **

使用upstream定义一组地址【在server字段下】

访问localhost,访问都会代理到192.168.174.133:80192.168.174.134:80这两个地址之一,每次访问这两个地址轮着切换(后面讲到,因为默认权重相等)

http{
	upstream httpds{
		server 192.168.174.133:80; #如果是80端口,可以省略不写
		server 192.168.174.134:80;
	}
	server {
        listen       80;
        server_name  localhost;

        location / { 
        		proxy_pass http://httpds;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
		}
}
设置权重

访问使用哪个地址的权重

upstream httpds{
		server 192.168.174.133:80 weight=10;
		server 192.168.174.134:80 weight=80;
}
关闭
upstream httpds{
		server 192.168.174.133:80 weight=10 down;
		server 192.168.174.134:80 weight=80;
}

备用机

如果192.168.174.133:80出现故障,无法提供服务,就用使用backup的这个机器

upstream httpds{
		server 192.168.174.133:80 weight=10;
		server 192.168.174.134:80 weight=80 backup;
}
动静分离:

当用户请求时,动态请求分配到Tomcat业务服务器,静态资源请求放在Nginx服务器中

例子:

  • 如果请求的资源地址是location//的优先级比较低,如果下面的location没匹配到,就会走http://xxx这个地址的机器
  • 如果请求的资源地址是location/css/*,就会被匹配到nginx的html目录下的css文件夹中(我们把css静态资源放在这个位置)
server {
        listen       80;
        server_name  localhost;
				
				location / { # /的优先级比较低,如果下面的location没匹配到,就会走http://xxx这个地址的机器
        		proxy_pass http://xxx;
        }
        
        location /css {  # root指的是html,location/css指的是root下的css,所以地址就是html/css
        		root html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
}

使用正则

location ~*/(js|css|img){
	root html;
  index  index.html index.htm;
}
URL重写:
rewrite是URL重写的关键指令,根据regex(正则表达式)部分内容,重定向到replacement,结尼是flag标记。

rewrite    <regex>   <replacement>  [flag];
关键字				正则				替代内容     flagt标记

正则:per1森容正则表达式语句进行规则匹配
替代内容:将正则匹配的内容替换成replacement

flag标记说明:
last  #本条规则匹配完成后,继续向下匹配新的1ocation URI规则
break #本条规则匹配完成即终止,不再匹配后面的任何规则

redirect #返回302临重定向,游览器地址会显示跳转后的URL地址
permanent #返回301永久重定向,测览器地址栏会显示跳转后的URL地址

浏览器地址栏访问 xxx/123.html实际上是访问xxx/index.jsp?pageNum=123

server {
        listen       80;
        server_name  localhost;
				
				location / { 
						rewrite ^/([0-9]+).html$ /index.jsp?pageNum=$1  break;
        		proxy_pass http://xxx;
        }
      

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
}
网关服务器:

06、Nginx反向代理与负载均衡,Nginx,nginx,负载均衡,运维

上图中,应用服务器,不能直接被外网访问到,只能通过Nginx服务器进行访问(使用proxy_pass),这时候这台Nginx服务器就成为了网关服务器(承担入口的功能)

所以,我们启动应用服务器的防火墙,设置其只能接受这台Nginx服务器的请求

添加rich规则
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.174.135" port protocol="tcp" port="8080" accept" #这里的192.168.174.135是网关 服务器地址
移除rich规则
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.174.135" port port="8080" protocol="tcp" accept"
重启

移除和添加规则都要重启才能生效

firewall-cmd --reload
查看所有规则
firewall-cmd --list-all #所有开启的规则

先赞后看,养成习惯!!!^ _ ^ ❤️ ❤️ ❤️
码字不易,大家的支持就是我的坚持下去的动力。点赞后不要忘了关注我哦!
文章来源地址https://www.toymoban.com/news/detail-521883.html

到了这里,关于06、Nginx反向代理与负载均衡的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Nginx 反向代理负载均衡

    Nginx 反向代理负载均衡

    Nginx 反向代理负载均衡 普通的负载均衡软件,如 LVS,其实现的功能只是对请求数据包的转发、传递,从负载均衡下的节点服务器来看,接收到的请求还是来自访问负载均衡器的客户端的真实用户;而反向代理就不一样了,反向代理服务器在接收访问用户请求后,会代理用户

    2024年02月03日
    浏览(17)
  • Nginx反向代理和负载均衡

    Nginx反向代理和负载均衡

    ` 正向代理 反向代理 七层反向代理: (基于http协议) http { upstream 服务器组名称 { server IP1:PORT [weight=1 …]; server IP2:PORT; … 调度算法(rr轮询/加权轮询,least_conn最小连接,ip_hash,url_hash,fair); } server { location ~ … { proxy_pass http://服务器组名称; proxy_set_header HosT $host; proxy_set_he

    2024年02月03日
    浏览(21)
  • Nginx反向代理与负载均衡

    Nginx反向代理与负载均衡

    代理是在服务器和客户端之间假设的一层服务器,代理将接收客户端的请求并将它转发给服务器,然后将服务端的响应转发给客户端。 不管是正向代理还是反向代理,实现的都是上面的功能。 正向代理,意思是一个位于客户端和原始服务器(origin server)之间的服务器,为了从

    2023年04月26日
    浏览(8)
  • 【nginx实战】nginx正向代理、反向代理、由反向代理实现的负载均衡、故障转移详解

    【nginx实战】nginx正向代理、反向代理、由反向代理实现的负载均衡、故障转移详解

    本文将要讨论以下内容 正向代理与反向代理的基本概念 Nginx正向代理服务的配置指令、Nginx反向代理服务的配置指令 Nginx反向代理服务器的应用——负载均衡、故障转移 案例分析   正向代理的概念 局域网内的机器借助代理服务访问局域网外的网站,此代理服务器提供的服务

    2024年01月24日
    浏览(17)
  • Nginx的反向代理和负载均衡

    Nginx的反向代理和负载均衡

    Nginx作为面试中的大…小头目,自然是不能忽视的,而以下两点就是它能成为面试中头目的招牌。 反向代理和负载均衡 在此之前,我们先对Nginx做一个简单的了解 Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。因它的稳定性、丰富的功能

    2024年02月08日
    浏览(13)
  • Nginx【反向代理负载均衡动静分离】--中

    Nginx【反向代理负载均衡动静分离】--中

    示意图 示意图 负载均衡就是将负载分摊到不同的服务单元,既保证服务的可用性,又保证响应足够快 linux 下有Nginx、LVS、Haproxy 等等服务可以提供负载均衡服务, Nginx 提供了几种分配方式(策略): 轮询(默认) ​ 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服

    2024年02月09日
    浏览(16)
  • Nginx反向代理-负载均衡、webshell实践

    目录 1.nginx反向代理-负载均衡 1)搭建web项目 2)修改 nginx.conf的配置 2.webshell 实践 1)异或操作绕过 2)取反绕过  3)php语法绕过  1.nginx反向代理-负载均衡 1)搭建web项目 首先通过 SpringBoot+Freemarker 快速搭建一个 WEB 项目:springboot-web-nginx然后在该项目中,创建一个 IndexNgin

    2024年02月12日
    浏览(11)
  • Nginx【反向代理负载均衡动静分离】--上

    Nginx【反向代理负载均衡动静分离】--上

    需求1: 访问不同微服务 示意图 需求2: 轮询访问服务 示意图 解决方案: Nginx 反向代理 负载均衡 动静分离 高可用集群 Nginx 在分布式微服务架构的位置 Nginx 是什么? 能干什么? 是什么:Nginx (“engine x”) 是一个高性能的HTTP 和反向代理WEB 服务器 能干什么:反向代理负载均衡动静

    2024年02月08日
    浏览(11)
  • Nginx【反向代理负载均衡动静分离】--下

    Nginx【反向代理负载均衡动静分离】--下

    示意图 图解 一个master 管理多个worker ● 争抢机制示意图 图解 一个master Process 管理多个worker process, 也就是说Nginx 采用的是多进程结构, 而不是多线程结构. 当client 发出请求(任务)时,master Process 会通知管理的worker process worker process 开始争抢任务, 争抢到的worker process 会开启连

    2024年02月08日
    浏览(11)
  • 【Nginx】静态资源部署、反向代理、负载均衡

    【Nginx】静态资源部署、反向代理、负载均衡

    个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ nginx配置文件整体分为三部分: 全局块 :Nginx运行相关的全局配置 events块 :网络连接相关的配置 http块 :代

    2024年02月13日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包