Nginx是大型架构核心,下面我详解Nginx常见命令@mikechen
基础控制类(必须掌握)
1️⃣ 启动 Nginx
nginx
👉 默认读取 /etc/nginx/nginx.conf
本质:
- 启动 master 进程;
- fork 多个 worker 进程处理请求;
2️⃣ 指定配置文件启动
nginx -c /path/to/nginx.conf
使用场景:
多实例部署;
测试环境切换配置;
3️⃣ 指定工作目录启动
nginx -p /usr/local/nginx/
会影响:
- logs;
- temp;
- cache 路径‘’
4️⃣ 停止 Nginx(快速停止)
nginx -s stop
特点:
- 直接杀 worker;
- 可能丢请求(不优雅);
5️⃣ 优雅停止(推荐)
nginx -s quit
流程:
- 停止接收新请求;
- 等待现有请求处理完;
- 再关闭进程;
6️⃣ 重载配置(核心高频)
nginx -s reload
本质:
- master 读取新配置;
- 启动新 worker;
- 旧 worker 处理完请求后退出;
👉 实现:无损发布(热更新)
7️⃣ 重启 Nginx(不推荐)
nginx -s stop && nginx
⚠️ 会有短暂中断
二、配置检查类(避免事故)
8️⃣ 检查配置语法
nginx -t
👉 输出:
- syntax is ok;
- test is successful;
9️⃣ 指定配置文件检查
nginx -t -c /etc/nginx/nginx.conf
🔟 查看完整配置(非常实用)
nginx -T
👉 会输出:
- 所有 include 文件;
- 最终生效配置;
⚠️ 排查线上问题神器
三、进程与信号控制(进阶)
1️⃣1️⃣ 平滑升级(USR2)
kill -USR2 `cat /var/run/nginx.pid`
👉 作用:
- 启动新版本 nginx
- 旧版本继续处理请求
1️⃣2️⃣ 平滑关闭旧进程
kill -WINCH `cat /var/run/nginx.pid`
1️⃣3️⃣ 强制关闭进程
kill -9 <pid>
⚠️ 不推荐(除非卡死)
1️⃣4️⃣ 重新打开日志
nginx -s reopen
使用场景:
- 日志切割(logrotate)
四、调试与运行模式
1️⃣5️⃣ 前台运行(调试神器)
nginx -g "daemon off;"
常用于:
- Docker 容器;
- 本地调试;
1️⃣6️⃣ 指定全局指令运行
nginx -g "worker_processes 4;"
临时覆盖配置
五、状态与监控类
1️⃣7️⃣ 查看进程
ps -ef | grep nginx
输出:
- master process;
- worker process;
1️⃣8️⃣ 查看端口占用
netstat -ntlp | grep 80
或:
ss -ntlp | grep nginx
1️⃣9️⃣ 查看实时日志
tail -f /var/log/nginx/access.log