rmdir.cn
🌐

Nginx

Nginx 命令、配置与故障排查

基础命令

6 条

查看 Nginx 版本

nginx -v

查看编译参数与模块信息

nginx -V

检查配置语法与引用文件

nginx -t [-c 配置文件] [-p 前缀目录]

检查并展开磁盘上的配置文件

nginx -T [-c 配置文件]

向 master 发送平滑重载信号

nginx -s reload

优雅退出 Nginx

nginx -s quit

服务管理

4 条

启动 systemd 管理的 Nginx 服务

sudo systemctl start nginx

检查 Nginx 服务运行状态

systemctl status nginx [--no-pager] [--full]

通过 systemd 重载 Nginx 配置

sudo systemctl reload nginx

在维护窗口重启 Nginx 服务

sudo systemctl restart nginx

配置示例

6 条

部署普通静态文件和 Next.js 静态导出

server {
    listen 80;
    server_name example.com;
    root /srv/www/site;
    index index.html;
}

为客户端路由应用配置首页回退

location / {
    try_files $uri $uri/ /index.html;
}

转发 HTTP 请求并理解路径替换规则

location /api/ {
    proxy_pass http://127.0.0.1:3000;
}

配置多上游轮询与最少连接策略

upstream app_backend {
    server 127.0.0.1:3001;
    server 127.0.0.1:3002;
}

配置 TLS 证书及 HTTP 到 HTTPS 跳转

server {
    listen 443 ssl;
    server_name example.com;
    ssl_certificate /etc/nginx/certs/example.com/fullchain.pem;
    ssl_certificate_key /etc/nginx/certs/example.com/privkey.pem;
}

压缩文本资源并验证响应头

gzip on;
gzip_vary on;
gzip_types text/css application/javascript;

故障排查

2 条

关联访问日志、错误日志和服务日志

tail -n 100 日志路径

定位上游连接和响应异常

curl -v --connect-timeout 5 --max-time 10 http://127.0.0.1:3000/health