跳到主要内容

Nginx 命令与配置速查

整理 Nginx 的检查、平滑重载、配置层级、路径转发和排障入口。完整 HTTPS、日志和 location 示例见 Nginx 常用配置。

检查与重载​

nginx -t # 检查语法并尝试打开引用文件
nginx -T # 检查并打印展开 include 后的配置
nginx -V # 版本与编译参数
sudo systemctl status nginx
sudo nginx -t && sudo systemctl reload nginx

systemctl 适用于使用 systemd 管理 Nginx 的环境;容器或其他安装方式可使用 nginx -s reload 等对应入口。nginx -T 读取磁盘配置,不是正在运行的旧配置快照;输出中也可能有敏感信息。

配置层级​

events {
worker_connections 1024;
}

http {
include mime.types;
server {
listen 80;
server_name wiki.example.com;
root /srv/wiki;

location / {
try_files $uri $uri/ =404;
}
}
}

这是结构示例,合并到已有配置时不要重复包裹 http。mime.types 的解析路径与安装配置有关;站点目录也要让 worker 用户具有读取与逐级目录查找权限。

location 与反向代理​

写法用途
location = /health精确匹配
location /api/前缀匹配
location ^~ /assets/命中最长此前缀时,跳过正则竞争
location ~ \.php$区分大小写的正则
location ~* \.(jpg|png)$不区分大小写的正则
location /api/ {
proxy_pass http://127.0.0.1:3000/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}

在这个普通前缀 location 中,带 URI / 的 proxy_pass 把 /api/users 转成上游 /users;不带尾部 / 的 proxy_pass http://127.0.0.1:3000; 保留 /api/users。正则 location、变量和 rewrite 场景另有规则,不应只按「有没有斜杠」机械套用。

重定向与排错​

server {
listen 80;
server_name wiki.example.com;
return 301 https://wiki.example.com$request_uri;
}
curl -I http://127.0.0.1/ -H 'Host: wiki.example.com'
tail -n 100 /var/log/nginx/error.log
tail -f /var/log/nginx/access.log
现象优先查看
403目录逐级权限、index、访问控制与安全模块
404实际匹配的 server/location、root/alias、URI 转换
502上游是否监听、连接错误和应用日志
504上游耗时、超时位置和应用负载

日志路径以实际配置为准。TLS 内容解析可用 证书工具,解析结果不代表证书链已被信任。

来源与许可​

本页由 Jacob’s Wiki 于 2026-11-05 对 IT-Tools 原文作中文摘译、重组和补充,保留常用操作,并非逐行全译。原文归 IT-Tools 项目贡献者所有。

本页译文与改编内容按 GNU GPL 3.0 提供,不附带担保;本站 Markdown 源码可用于修改和再分发。

返回开发运维速查目录