tmackan
V2EX  ›  NGINX

nginx Failed to read PID from file /run/nginx.pid: Invalid argument

By tmackan at 2016 年 8 月 22 日 · 9507 次点击

启动 nginx 后查看 status 显示

Redirecting to /bin/systemctl status nginx.service ● nginx.service - The nginx HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled) Active: active (running) since 一 2016-08-22 16:19:58 CST; 2min 51s ago Main PID: 13423 (nginx) CGroup: /system.slice/nginx.service ├─13423 nginx: master process /usr/sbin/nginx └─13424 nginx: worker process

8 月 22 16:19:58 iZ230ph83b2Z systemd[1]: Starting The nginx HTTP and reverse proxy server... 8 月 22 16:19:58 iZ230ph83b2Z nginx[13417]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok 8 月 22 16:19:58 iZ230ph83b2Z nginx[13417]: nginx: configuration file /etc/nginx/nginx.conf test is successful 8 月 22 16:19:58 iZ230ph83b2Z systemd[1]: Failed to read PID from file /run/nginx.pid: Invalid argument 8 月 22 16:19:58 iZ230ph83b2Z systemd[1]: Started The nginx HTTP and reverse proxy server. 8 月 22 16:22:39 iZ230ph83b2Z systemd[1]: Started The nginx HTTP and reverse proxy server.

Failed to read PID from file /run/nginx.pid: Invalid argument 这是为何, google 半天没解决,求大神指点。

12 条回复  •  2016-08-26 13:14:36 +08:00
tmackan
   1
tmackan  
OP
   2016 年 8 月 22 日
坐等大神
lostsquirrel
   2
lostsquirrel  
   2016 年 8 月 22 日
你确定你有`/run` 这个目录
tmackan
   3
tmackan  
OP
   2016 年 8 月 22 日
@lostsquirrel
这个文件的确存在
文件内容是
13423
ss098
   4
ss098  
   2016 年 8 月 22 日 via Android
@tmackan /run 应该是一个目录而不是文件,你备份一下这个文件然后创建 /run 目录。
lostsquirrel
   5
lostsquirrel  
   2016 年 8 月 22 日
把 nginx.pid 这个文件删除了再启动
lhbc
   6
lhbc  
   2016 年 8 月 22 日   ❤️ 4
因为 nginx 启动需要一点点时间,而 systemd 在 nginx 完成启动前就去读取 pid file
造成读取 pid 失败

解决方法很简单,让 systemd 在执行 ExecStart 的指令后等待一点点时间即可
如果你的 nginx 启动需要时间更长,可以把 sleep 时间改长一点

mkdir -p /etc/systemd/system/nginx.service.d
printf "[Service]\nExecStartPost=/bin/sleep 0.1\n" > /etc/systemd/system/nginx.service.d/override.conf

然后
systemctl daemon-reload
systemctl restart nginx.service
tmackan
   7
tmackan  
OP
   2016 年 8 月 22 日
@lhbc 你好, nginx 正常启动了
我用 uwsgi 开启了一个服务,分配了对应的端口号,防火墙也已经关闭,但是通过 IP 还是访问不了
可能是什么原因呢?
tmackan
   8
tmackan  
OP
   2016 年 8 月 22 日
@lhbc 显示拒绝了连接请求
lhbc
   9
lhbc  
   2016 年 8 月 22 日
@tmackan 指定了 server_name 的话,用 IP 可能无法访问
curl -I -H "host: <DOMAIN>" <IP>
替换 <> 里面的为你自己的域名和 IP ,测试看
tmackan
   10
tmackan  
OP
   2016 年 8 月 22 日
@lhbc server_name 填写的是 ip 地址
tmackan
   11
tmackan  
OP
   2016 年 8 月 22 日
@lhbc 还没有申请域名
填写的是 ip:端口号
tmackan
   12
tmackan  
OP
   2016 年 8 月 26 日
@lhbc 哥们你好,还得麻烦你有遇到这个问题吗?
http://www.v2ex.com/t/301307#reply2
感谢
› NGINX
› NGINX Trac
› 3rd Party Modules
› Security Advisories
› CHANGES
› OpenResty
› ngx_lua
› Tengine
在线学习资源
› NGINX 开发从入门到精通
NGINX Modules
› ngx_echo
© 2026 V2EX · 23ms · 3.9.8.5