如果在节点A 上看到“连接被拒绝”(端口已关闭或服务器已关闭),则表示该服务因已释放或服务器已关闭而不可用。此时nginx自动将失败的请求转发给Node B。
假设第二次向A请求仍然失败,总共失败2次。然后,Nginx 自动将节点A 从存活列表中删除60 秒,然后继续将请求2 转发到节点B 进行处理。 60 秒后,再次尝试将请求转发到节点A.重复此循环,直到节点A 恢复正常.
在此过程中,客户端无法检测到故障。这是因为这两个请求都被转发了两次到节点B 并被成功处理。客户端不知道节点A的处理失败。这就是Nginx反向代理的优点。也就是说,客户端不需要直接连接到服务器。如果服务器上的各个节点停止或释放,客户端不会受到影响。
Tomcat只是一个Java Web容器,不能做这些事情。
不用Nginx,只用Tomcat的Http请求流程
以阿里云为例,域名管理后端可以配置二级域名映射,将1个公网域名拆分为10个二级域名。
因此,只使用Tomcat,而不使用Nginx。需要1个公网域名、10个二级域名、30台服务器、30个公网IP。
当我向我的老板提到这一点时,他说:“你疯了,滚出去,或者想出一些其他的解决方案,想想它的价值,并用它来交换公共网络上的IP“吧”。 \’。
Tomcat的DNS到IP地址的映射必须在公网,成本高昂。我感觉很痛苦。如果有软件可以将一个域名映射到30个内网IP就好了。
Nginx 恰好可以实现这一点。
如果Tomcat服务发布怎么办
例如,将多个二级域名映射到不同的文件目录。
bbs.abc.com,映射为html/bbs
blog.abc.com 映射到html/blog
http{
包括mime.types;
默认类型应用程序/八位字节流;
发送文件。
keepalive_timeout 65;
服务器{
听80;
服务器名称www.abc.com;
位置/{
根html/www;
索引index.htmlindex.htm;
}
}
服务器{
听80;
服务器名称bbs.abc.com;
位置/{
根html/bbs;
索引index.htmlindex.htm;
}
}
服务器{
听80;
服务器名称blog.abc.com;
位置/{
根html/博客;
索引index.htmlindex.htm;
}
}
}
例如,将不同的二级域名或URL路径映射到不同的Tomcat集群。
定义两个Tomcat集群,分别为serverGroup1和serverGroup2。
将group1 和group1 分别反向代理路径到serverGroup1 和serverGroup2。
uploadserverGroup1{#定义负载均衡设备的IP和状态
server192.168.225.100:8080;#默认权重值为1
server192.168.225.101:8082weight=2;#值越大负载权重越高
服务器192.168.225.102:8083;
server192.168.225.103:8084backup; #如果其他非备份服务器无法正常运行,该服务器将被认领。这称为热备份。
}
uploadserverGroup2{#定义负载均衡设备的IP和状态
server192.168.225.110:8080;#默认权重值为1
server192.168.225.111:8080weight=2;#值越大负载权重越高
服务器192.168.225.112:8080;
server192.168.225.113:8080backup;#仅当其他非备份服务器无法正常运行时才请求该服务器(称为热备份)。
}
服务器{#设置虚拟主机配置
Listen80;#监听端口
server_namepicture.itdragon.com;#监控地址,多个域名以空格分隔
location/group1{#默认请求后跟“/group1”表示启用反向代理。或者你也可以使用正则表达式
roothtml;#监听地址默认网站根目录位置
proxy_passhttp://serverGroup1;#代理转发
Indexindex.htmlindex.htm;#欢迎页面
Rejected127.0.0.1;#拒绝的IP
allowed192.168.225.133;#允许的IP
}
location/group2{#默认请求,后面跟“/group2”表示要启用反向代理。或者你可以使用正则表达式
roothtml;#监听地址默认网站根目录位置
proxy_passhttp://serverGroup2;#代理转发
Indexindex.htmlindex.htm;#欢迎页面
Rejected127.0.0.1;#拒绝的IP
allowed192.168.225.133;#允许的IP
}
error_page500502503504/50x.html;#定义错误提示页面
location=/50x.html{#配置错误提示页面
根html;
}
}
学习完上述课程后,您将需要Tomcat 和Nginx。
当然,你有足够的资金,无限的资源,无限的公网IP,无限的公网服务器,无限的域名,你就不能使用Nginx,服务发布了,你的网站崩溃了,你也无动于衷。
来源:juejin.cn/post/7280088532377534505
-就这样-
如果您喜欢这篇文章,请点击右上角分享文章给您的朋友
DNS不能自动摘掉故障的IP地址吗?
1. 分享2T架构师有用的学习资料
我能手动下掉故障的IP地址吗?
2. 10000+TB资源,阿里云盘,太棒了!
3.基本涵盖了Spring所有核心知识点的概览
· 结尾·
最后关注公众号互联网架构师,后台回复:2T,即可获取我整理的Java系列面试题及答案。这是非常完整的。
如果您觉得这篇文章有帮助或启发,请扫描上面的二维码以引起我们的关注。你们的支持是我继续写作的最大动力。
一键点赞、转发、观看3次
#上面是关于当你有Tomcat时为什么还需要Nginx。相关内容来源网络仅供参考。相关信息请参见官方公告。
原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/92515.html