Skip to content

Nginx技术栈总览

一句话定位:Nginx 是开源高性能 Web 服务器 + 反向代理服务器——靠事件驱动异步非阻塞 + master/worker 多进程扛起 5w 级并发,靠热部署平滑升级做到 7×24 不重启;三大用途:静态资源服务、反向代理(含缓存/负载均衡)、API 服务(OpenResty)。

核心特点

特点说明
高并发高性能事件驱动、异步非阻塞(类似 Node.js),单机可达 5w+ 并发连接
内存占用小极省内存,是 Nginx 最核心的考量
模块化扩展性好,大量第三方模块
热部署平滑升级可数月不重启,升级版本不断服务
高可靠连续运行几个月甚至更长不需重启

三大作用

  1. 静态资源服务:通过本地文件系统直接提供服务。
  2. 反向代理服务:延伸出缓存、负载均衡等能力。
  3. API 服务:OpenResty(Nginx + Lua)。

Nginx vs Node.js:理念类似(HTTP 服务器、事件驱动、异步非阻塞),但分工不同——Nginx 擅长底层资源处理(静态转发、反代、负载均衡),Node.js 擅长上层业务逻辑,二者常组合使用。

目录结构与启停命令

路径作用
/etc/nginx/nginx.conf主配置文件(自动 include conf.d/*.conf)
/etc/nginx/conf.d/子配置项存放处
/usr/share/nginx/html/静态资源目录
/var/log/nginx/日志目录
bash
systemctl start|stop|restart|reload|status nginx   # 启停/重启/重载/状态
nginx -s reload   # 热重启(重载配置,不断服务)
nginx -s quit     # 等 worker 处理完再关(优雅)
nginx -s stop     # 快速关闭
nginx -t          # 检查配置是否有问题
nginx -T          # 查看最终生效配置

配置文件层级(五段)

main   → user / worker_processes(auto) / pid / worker_rlimit_nofile
events → use epoll / worker_connections(1024) / accept_mutex
http   → log_format / sendfile / keepalive_timeout / include mime.types / include conf.d/*.conf
  server   → listen(80) / server_name / error_page
    location → root / alias / index / deny / allow / proxy_pass
    upstream → server ...(负载均衡后端)
  • worker_processes auto:worker 进程数 = CPU 核数;worker_cpu_affinity 可绑核避免缓存失效。
  • worker_connections:单 worker 最大并发连接数(并发上限 ≈ worker_processes × worker_connections)。

常见误解

  • 以为 Nginx 只能当 Web 服务器 → 它核心价值是反向代理 + 负载均衡 + 缓存,是网关层主角。
  • 以为 Nginx 是 Tomcat 的替代品 → Tomcat 是 Servlet 容器(跑 Java 应用),Nginx 是网关/静态资源层,通常 Nginx 反代 Tomcat
  • 以为 nginx -s restart 是热重启 → 热重载是 reload(发信号重读配置);restart 会中断服务。

关联

最近更新