Nginx是大型架构核心,下面我详解Nginx核心命令@mikechen
1. 查看 Nginx 版本
nginx -v
输出:
nginx version: nginx/1.28.0
作用:
- 查看当前安装版本
- 排查版本兼容问题
2. 查看详细版本信息
nginx -V
输出包含:
- 编译参数
- OpenSSL版本
- PCRE版本
- 模块信息
- 配置路径
例如:
--with-http_ssl_module
--with-http_v2_module
--with-stream
作用:
线上排查模块是否支持时最常用。
3. 启动 Nginx
nginx
或者
systemctl start nginx
检查:
ps -ef | grep nginx
4. 停止 Nginx(立即停止)
nginx -s stop
或
systemctl stop nginx
特点:
- 立即结束Worker
- 正在处理请求会中断
一般不建议线上使用。
5. 优雅停止 Nginx
nginx -s quit
特点:
- 等待请求处理完成
- Worker正常退出
- 线上推荐使用
这是大厂运维标准方式。
6. 重载配置(最常用)
修改配置后:
nginx -s reload
或者
systemctl reload nginx
特点:
- 不中断连接
- 不停机
- 新Worker加载新配置
- 老Worker处理完请求退出
这是线上使用频率最高的命令。
7. 检查配置文件是否正确(必须执行)
nginx -t
输出:
syntax is ok
test is successful
修改配置后建议:
nginx -t && nginx -s reload
避免配置错误导致服务无法启动。
8. 指定配置文件检测
nginx -t -c /etc/nginx/nginx.conf
适合:
- 多环境部署
- Docker
- Kubernetes
- 自定义配置
9. 查看最终加载配置
nginx -T
作用:
打印所有配置,包括:
- nginx.conf
- include文件
- upstream配置
- server配置
排查:
include conf.d/*.conf;
是否真正加载,非常方便。
10. 指定配置启动
nginx -c /etc/nginx/nginx.conf
例如:
nginx -c /home/nginx/conf/nginx.conf
适用于:
- 多实例
- 测试环境
- Docker
11. 查看进程
Linux:
ps -ef | grep nginx
或者
pgrep nginx
结果:
master process
worker process
worker process
可以快速查看:
- Worker数量
- 是否正常启动
12. 查看监听端口
Linux:
ss -lntp | grep nginx
或者:
netstat -lntp | grep nginx
查看:
80
443
8080
是否监听成功。
13. 查看实时日志(排查问题必备)
访问日志:
tail -f /var/log/nginx/access.log
错误日志:
tail -f /var/log/nginx/error.log
查看最近100行:
tail -100 error.log
结合:
grep
awk
less
能够快速定位线上问题。