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

2016-08-22 16:32:15 +08:00
 tmackan

启动 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 半天没解决,求大神指点。

7993 次点击
所在节点    NGINX
12 条回复
tmackan
2016-08-22 16:32:43 +08:00
坐等大神
lostsquirrel
2016-08-22 16:57:51 +08:00
你确定你有`/run` 这个目录
tmackan
2016-08-22 17:08:21 +08:00
@lostsquirrel
这个文件的确存在
文件内容是
13423
ss098
2016-08-22 17:13:35 +08:00
@tmackan /run 应该是一个目录而不是文件,你备份一下这个文件然后创建 /run 目录。
lostsquirrel
2016-08-22 17:26:27 +08:00
把 nginx.pid 这个文件删除了再启动
lhbc
2016-08-22 17:29:20 +08:00
因为 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
2016-08-22 18:02:41 +08:00
@lhbc 你好, nginx 正常启动了
我用 uwsgi 开启了一个服务,分配了对应的端口号,防火墙也已经关闭,但是通过 IP 还是访问不了
可能是什么原因呢?
tmackan
2016-08-22 18:06:21 +08:00
@lhbc 显示拒绝了连接请求
lhbc
2016-08-22 18:13:39 +08:00
@tmackan 指定了 server_name 的话,用 IP 可能无法访问
curl -I -H "host: <DOMAIN>" <IP>
替换 <> 里面的为你自己的域名和 IP ,测试看
tmackan
2016-08-22 18:28:21 +08:00
@lhbc server_name 填写的是 ip 地址
tmackan
2016-08-22 18:29:08 +08:00
@lhbc 还没有申请域名
填写的是 ip:端口号
tmackan
2016-08-26 13:14:36 +08:00
@lhbc 哥们你好,还得麻烦你有遇到这个问题吗?
http://www.v2ex.com/t/301307#reply2
感谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/300986

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX