tomcat 和 nginx 中间件笔记

tomcat 和 nginx 中间件笔记

Aoi Komiya Lv3

前言

lenovo技术运维一面有被问倒;内网服务器A和B,B服务器80端口运行tomcat服务,A和B如何通信?不了解tomcat,并且当时答偏了,只讲了直接PING和网络故障排查的思路。面试完复盘学习整理了一下。

解答

  1. 直接ping访问 B 上的 Tomcat 服务
    1. 查看配置文件,确认B的Tomcat服务是否正在监听80端口
    2. 检查服务器B的80端口是否开放,以确保A能访问B的80端口
    3. 测试是否能通信,A发送HTTP请求到B(curl wget)
  2. 使用Nginx反向代理(负载均衡、安全性)
  3. SSH隧道中的端口映射(顺带了解了一下内网穿透)
  4. 通过内网域名或DNS进行通信,修改A的/etc/hosts,添加B的IP和域名映射

深入

稍微深入了解了一下相关的中间件概念

关于Tomcat

tomcat是 web容器,类似于Nginx

二者区别

  • Tomcat
    • 需要运行Java Web应用程序的环境。
    • 企业级应用、需要完整Java EE功能支持的项目。
    • 常用于处理动态资源,处理静态资源性能低(占用高)
  • Nginx
    • 高并发的Web服务器需求。
    • 常用于反向代理负载均衡、处理静态资源

Nginx 与 Tomcat互补,常在一个系统下使用——通过 Nginx 处理静态内容,并将动态请求代理到 Tomcat 上。

关于nginx

关于 Nginx 的反向代理,作如下分辨,帮助理解正代反代:

  • 反向代理:客户端请求Nginx,Nginx将请求转发给后端服务器。客户端并不知道后端服务器的存在。Nginx是后端服务器的代理人。
  • 正向代理:客户端通过代理服务器A访问外部服务器,代理服务器代表客户端与目标服务器通信。目标服务器并不知道客户端的存在。代理服务器A是客户端的代理人。

反代的好处:

  • 安全性:隐藏实际后端服务器
  • 负载均衡:配置规则分发给多个后端服务器
  • 缓存:可以缓存静态内容,减轻后端服务器压力
  • SSL终结:Nginx可以作为SSL终结点,在Nginx层处理SSL/TLS加密的请求,减轻后端服务器的加密负担。客户端与Nginx之间是加密连接,而Nginx与后端服务器之间可以是非加密连接。如此可以减轻后端服务器的计算负担。

后续

联想一面技术面还挺友好,两周之后发了二面邮件,一周后感谢信,大概是排序挂了(

也算是学到了一些东西吧。秋招的第一家面试结束。后续可能会整理一下面试题(

  • Title: tomcat 和 nginx 中间件笔记
  • Author: Aoi Komiya
  • Created at: 2024-09-23 19:14:00
  • Updated at: 2024-09-25 20:15:41
  • Link: https://blog.komiya.monster/2024/09/23/lenovo_interviwe_tomcat/
  • License: This work is licensed under CC BY-NC-SA 4.0.
On this page
tomcat 和 nginx 中间件笔记