Nginx 使用详解 + 同类工具对比 + 安装命令 + 常用操作指南(含代码注释)
一、Nginx 简介与核心功能
1.1 什么是 Nginx?
Nginx(发音为 “engine x”)是一个高性能的 HTTP 和反向代理服务器,同时也支持 IMAP/POP3 代理服务。它以高并发、低资源消耗和模块化架构著称。
1.2 核心功能
功能描述反向代理将客户端请求转发到后端服务器负载均衡多个服务器之间分发流量HTTP 缓存提升访问速度,减少后端压力SSL/TLS 支持支持 HTTPS 加密通信静态资源服务高效处理图片、CSS、JS 等静态文件URL 重写支持 Rewrite 规则进行路径映射
二、Nginx 与其他同类工具对比
特性NginxApacheHAProxyEnvoy性能(高并发)⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐易用性⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐模块扩展性⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐反向代理能力⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐负载均衡⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐SSL/TLS 支持⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐实时监控⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐社区活跃度⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐适用场景Web 服务器、API 网关、负载均衡器传统网站托管高性能负载均衡微服务网关、Service Mesh
✅ 推荐:Nginx 是目前最主流的轻量级反向代理服务器之一,适合大多数 Web 架构。
三、Nginx 在不同平台上的安装方式
3.1 Linux(Ubuntu / Debian)
sudo apt update
sudo apt install nginx
启动 & 设置开机自启:
sudo systemctl start nginx
sudo systemctl enable nginx
3.2 Linux(CentOS / RHEL)
sudo yum install epel-release
sudo yum install nginx
启动 & 开机自启:
sudo systemctl start nginx
sudo systemctl enable nginx
3.3 macOS(使用 Homebrew)
brew install nginx
brew services start nginx
配置文件路径:/usr/local/etc/nginx/nginx.conf
3.4 Windows
从官网下载 Nginx for Windows
解压后运行:
cd nginx-1.26.2
start nginx
停止服务:
nginx -s stop
重启服务:
nginx -s reload
四、Nginx 常用命令详解
命令说明nginx启动 Nginxnginx -s stop强制停止 Nginxnginx -s quit安全退出(等待当前请求完成)nginx -s reload重新加载配置文件nginx -t检查配置文件语法是否正确nginx -v查看版本号nginx -V查看编译参数(包括启用的模块)
五、Nginx 典型配置示例(带详细注释)
示例 1:基础反向代理配置
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://localhost:8080; # 代理到本地 Spring Boot 应用
proxy_set_header Host $host; # 保留原始 Host 请求头
proxy_set_header X-Real-IP $remote_addr; # 记录真实 IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 传递原始 IP
proxy_set_header X-Forwarded-Proto $scheme; # 协议类型(http/https)
}
}
示例 2:HTTPS 配置(Let’s Encrypt)
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3; # 使用现代加密协议
ssl_ciphers HIGH:!aNULL:!MD5; # 安全加密套件
location / {
proxy_pass http://localhost:8080;
include proxy_params;
}
}
# 强制跳转 HTTPS
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}
示例 3:负载均衡配置
upstream backend {
least_conn; # 最少连接数算法
server 192.168.1.10:8080 weight=3; # 权重越高,分配越多请求
server 192.168.1.11:8080;
server 192.168.1.12:8080 backup; # 备份节点,仅当其他不可用时启用
}
server {
listen 80;
location / {
proxy_pass http://backend;
}
}
示例 4:静态资源服务
location /static/ {
alias /var/www/html/static/; # 映射本地目录
expires 30d; # 设置缓存过期时间
add_header Cache-Control "public"; # 允许浏览器缓存
}
六、Nginx 日常维护建议
任务命令或方法查看运行状态systemctl status nginx查看日志位置默认 /var/log/nginx/access.log 和 /var/log/nginx/error.log修改配置后生效nginx -t && nginx -s reload查看监听端口`netstat -tuln查看进程信息`ps aux
七、总结表格:Nginx 核心知识点汇总
类别内容主要用途反向代理、负载均衡、Web 服务器、缓存服务器安装平台Linux、macOS、Windows安装命令apt install nginx, yum install nginx, brew install nginx, 手动解压常用命令nginx, -s stop, -s reload, -t, -v, -V配置文件路径/etc/nginx/nginx.conf, /etc/nginx/sites-available/核心模块HTTP Core, Proxy, Upstream, SSL, Gzip, Rewrite日志路径/var/log/nginx/access.log, /var/log/nginx/error.log推荐用途API 网关、微服务代理、前后端分离部署、CDN 边缘节点替代方案Apache、HAProxy、Envoy、Traefik
✅ 结语
Nginx 是现代 Web 架构中不可或缺的一部分,无论是做反向代理、负载均衡还是静态资源服务器,都表现出色。结合 Let’s Encrypt 可轻松实现 HTTPS,是开发人员、运维工程师必须掌握的核心技能之一。
如需我提供:
自动化脚本(一键部署 HTTPS + Spring Boot);Docker 化部署方案;Nginx + Redis 缓存集成; 请告诉我你的具体需求,我可以继续为你定制方案。