Nginx

详情

Nginx 可作为 高性能 Web 服务器 / 反向代理 / 负载均衡器

  • 主要用途(在 Java 项目中):

    1. 反向代理:用户 → Nginx → Tomcat (隐藏后端真实 IP,统一入口)
    2. 静态资源服务:直接返回 /static/js/app.js,不经过 Tomcat(提升性能)
    3. 负载均衡:Nginx → [Tomcat1, Tomcat2],分摊流量
    4. SSL 终止:HTTPS 解密在 Nginx 做,Tomcat 只处理 HTTP
    5. 限流、缓存、安全防护(基础 WAF)
  • 为什么不直接让用户访问 Tomcat?

    • Tomcat 擅长运行 Java 逻辑,不擅长处理静态文件或高并发连接
    • Nginx 采用事件驱动模型,单机能扛数万并发连接,而 Tomcat 线程模型(每个请求一个线程)在高并发下易耗尽资源

关联网络

待办事项

  • 隐藏后端真实 IP有什么好处吗?
  • 事件驱动模型?
  • 线程模型?
  • WAF?
  • 如何配置反向代理呢?限流?缓存?负载均衡?
  • 配置多个应用服务器之后,如何保持一致性呢?比如用户使用多设备登录?
  • SSL?SSL终止?

演化日志

  • v0.1 (2026-01-30):补充关联网络、演化日志