Nginx:常用基本命令与异常处理
Nginx日志 - ./nginx-1.6.0-ems/logs/nginx.pid
Nginx启动时应该使用cmd等命令行工具启动,双击启动同样会产生进程但会造成异常,判断条件是 ./nginx-1.6.0-ems/logs 目录下无nginx.pid文件。
Nginx如果启动失效可以在 ./nginx-1.6.0-ems/logs/error.log 的文档中查看错误日志。
常用命令
nginx -s reopen #重启Nginx nginx -s reload #重新加载Nginx配置文件,然后以优雅的方式重启Nginx(热更新),如果当前服务被占用,则可能失败 * nginx -s stop #强制停止Nginx服务 * nginx -s quit #优雅地停止Nginx服务(即处理完所有请求后再停止服务,若当前代理项目一直运行,则nginx也一直不会退出) nginx -t #检测配置文件是否有语法错误,然后退出 nginx -?,-h #打开帮助信息 nginx -v #显示版本信息并退出 nginx -V #显示版本和配置选项信息,然后退出 nginx -t #检测配置文件是否有语法错误,然后退出
killall nginx #杀死所有nginx进程
异常处理 - cannot find the file specified (nginx.pid)
假设碰到stop也无法关闭进程而报错的情况,大概率logs目录下也是没有生成.pid文件了。
检查并确认任务管理器中的Nginx进程,命令行窗口执行:
# 查看端口监听命令
netstat -ano
# 通过Nginx服务端口的pid,确认端口占用是Nginx
tasklist | findstr "PID"
# /f 强制结束进程,即强制终止指定进程而不提示用户
# /t 终止指定的进程及其子进程树
# /im 进程的映像名称,即要结束的进程的名称
# /pid 进程ID,即要结束的进程的ID
# 结束 process id 9452 的进程
taskkill /f /t /pid 9452
# or 结束所有名称为 nginx.exe 的进程
taskkill /f /t /im nginx.exe