Nginx是大型架构核心,下面我详解Nginx常用命令@mikechen
1. 查看Nginx版本
nginx -v
输出:
nginx version: nginx/1.26.0
作用:
- 查看当前版本;
- 验证Nginx是否安装成功;
2. 查看详细版本信息
nginx -V
输出示例:
nginx version: nginx/1.26.0
built by gcc 11.2.0
configure arguments:
--with-http_ssl_module
--with-http_v2_module
...
作用:
- 查看编译参数;
- 查看支持模块;
- 查看安装路径;
3. 启动Nginx
nginx
作用:
- 启动Nginx服务
- 默认读取配置文件
通常:
/usr/local/nginx/sbin/nginx
4. 指定配置文件启动
nginx -c /usr/local/nginx/conf/nginx.conf
作用:
- 使用指定配置文件启动;
- 多环境部署非常常见;
例如:
nginx -c /data/nginx/test.conf
5. 检查配置文件是否正确
nginx -t
输出:
nginx: configuration file test is successful
作用:
- 检查语法错误;
- 上线前必须执行;
推荐流程:
nginx -t
nginx -s reload
6. 查看完整配置
nginx -T
作用:
- 输出所有配置
- 包含include文件
适合:
- 排查配置覆盖问题
- 查看最终生效配置
7. 平滑重载配置
nginx -s reload
作用:
- 热更新配置
- 不中断用户请求
工作原理:
Master
↓
加载新配置
↓
创建新Worker
↓
旧Worker处理完请求退出
生产环境最常用命令之一。
8. 快速停止Nginx
nginx -s stop
作用:
- 立即终止进程
- 强制关闭
特点:
正在处理请求
↓
直接中断
一般不建议线上使用。
9. 优雅关闭Nginx
nginx -s quit
作用:
- 等待请求处理完成
- 再关闭进程
生产环境推荐。
10. 重新打开日志文件
nginx -s reopen
作用:
- 日志切割后重新生成日志文件
常见场景:
logrotate
执行后:
nginx -s reopen
11. 查看Nginx进程
ps -ef | grep nginx
输出:
root 1001 Master
nginx 1002 Worker
nginx 1003 Worker
作用:
- 查看Master进程
- 查看Worker数量
12. 查看监听端口
netstat -ntlp | grep nginx
或者:
ss -ntlp | grep nginx
输出:
tcp LISTEN 0 511 0.0.0.0:80
作用:
- 查看监听端口
- 检查启动状态
13. 查看访问日志
实时监控:
tail -f access.log
查看最近100行:
tail -100 access.log
统计PV:
wc -l access.log
作用:
- 分析流量
- 排查异常请求
14. 查看错误日志
tail -f error.log
常见错误:
502 Bad Gateway
504 Gateway Timeout
Connection refused
排查步骤:
用户报错
↓
查看error.log
↓
定位后端服务
↓
修复问题
15. 查看连接数
查看当前连接:
netstat -an | grep ESTABLISHED | wc -l
查看80端口连接:
netstat -an | grep :80 | wc -l
查看TCP状态:
ss -s
作用:
- 判断并发量
- 判断是否出现连接堆积