执行 nginx -s reload 时提示 master process is not running,说明 nginx 主进程未在运行或 pid 文件丢失。处理方法是先检查 nginx 是否已启动,若未启动则使用 systemctl start nginx 或 /usr/sbin/nginx 命令启动服务;若已启动但报错,则通过 ps aux | grep nginx 确认进程状态,并手动创建或修复 pid 文件后再次重载。

Nginx 服务未启动时的处理方法
当系统完全未运行 Nginx 时,直接调用重载命令会因找不到主进程而失败。此时应使用系统服务管理器或二进制文件直接启动服务,确保主进程和 worker 进程正常生成。

sudo systemctl start nginx sudo systemctl status nginx
上述命令将启动 Nginx 服务并验证其状态。启动成功后,PID 文件(通常为 /run/nginx.pid)会被自动创建,后续即可正常使用 nginx -s reload 进行平滑重载。若使用二进制直接启动,可执行 /usr/sbin/nginx,同样会自动生成 PID 文件。
Nginx 进程异常或 PID 文件损坏的处理
若 Nginx 进程实际存在但重载失败,通常是因为 PID 文件缺失、权限错误或进程 ID 不匹配。此时需手动定位进程并重建 PID 文件,或重启服务以重置状态。

ps aux | grep nginx sudo kill -HUP $(cat /run/nginx.pid)
首先通过 ps aux 查找 Nginx 主进程的 PID。若 PID 文件存在但内容错误,可手动更新 /run/nginx.pid 为当前正确的 PID。若进程无响应,可使用 sudo systemctl restart nginx 强制重启服务,系统将重新生成 PID 文件并恢复正常运行。此后即可正常执行重载操作。
重载时配置语法错误导致的主进程退出
若 Nginx 在重载过程中因配置文件语法错误而退出主进程,会导致 master process is not running 错误。此时需先检查配置文件语法,修复错误后再重新启动服务。
sudo nginx -t sudo systemctl start nginx
使用 sudo nginx -t 测试配置文件语法,若返回错误信息,根据提示修改 /etc/nginx/nginx.conf 或相关包含文件。修复后再次测试,确认无误后使用 sudo systemctl start nginx 启动服务。此方法确保配置正确且主进程正常运行,避免重载失败。


















