技术解析

nginx Failed to read PID from file /run/nginx.pid: Invalid argument
0
2021-05-25 12:22:18
idczone

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


坐等大神

你确定你有`/run` 这个目录


这个文件的确存在
文件内容是
13423

/run 应该是一个目录而不是文件,你备份一下这个文件然后创建 /run 目录。

把 nginx.pid 这个文件删除了再启动

因为 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

你好, nginx 正常启动了
我用 uwsgi 开启了一个服务,分配了对应的端口号,防火墙也已经关闭,但是通过 IP 还是访问不了
可能是什么原因呢?

显示拒绝了连接请求

指定了 server_name 的话,用 IP 可能无法访问
curl -I -H "host: "
替换 <> 里面的为你自己的域名和 IP ,测试看

server_name 填写的是 ip 地址

还没有申请域名
填写的是 ip:端口号

哥们你好,还得麻烦你有遇到这个问题吗?
http://www.v2ex.com/t/301307/>感谢

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服