Linux centos 7:nginx无法从文件/run/nginx读取PID。PID:参数无效
安装nginx后,我可以访问nginx欢迎页面。但是,当我运行Linux centos 7:nginx无法从文件/run/nginx读取PID。PID:参数无效,linux,nginx,centos7,systemd,Linux,Nginx,Centos7,Systemd,安装nginx后,我可以访问nginx欢迎页面。但是,当我运行systemctl status nginx时,会收到以下警告: systemd[1]:无法从文件/run/nginx读取PID。PID:无效 论据 你能告诉我这个问题的原因和解决方法吗?谢谢 详细回复信息: nginx.service - The nginx HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service;
systemctl status nginx
时,会收到以下警告:
systemd[1]:无法从文件/run/nginx读取PID。PID:无效
论据
你能告诉我这个问题的原因和解决方法吗?谢谢
详细回复信息:
nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2017-03-02 06:43:24 CST; 2s ago
Process: 24007 ExecReload=/bin/kill -s HUP $MAINPID (code=exited, status=0/SUCCESS)
Process: 8377 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
Process: 8374 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
Process: 8373 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Main PID: 8380 (nginx) CGroup: /system.slice/nginx.service
|-8380 nginx: master process /usr/sbin/ngin
`-8381 nginx: worker proces
Mar 02 06:43:24 VM_134_114_centos systemd[1]: Starting The nginx HTTP and reverse proxy server...
Mar 02 06:43:24 VM_134_114_centos nginx[8374]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Mar 02 06:43:24 VM_134_114_centos nginx[8374]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Mar 02 06:43:24 VM_134_114_centos systemd[1]: Failed to read PID from file /run/nginx.pid: Invalid argument
Mar 02 06:43:24 VM_134_114_centos systemd[1]: Started The nginx HTTP and reverse proxy server.
nginx.service-nginx HTTP和反向代理服务器
已加载:已加载(/usr/lib/systemd/system/nginx.service;已启用;供应商预设:已禁用)
活动:自2017-03-02星期四起活动(运行)06:43:24 CST;2秒前
进程:24007 ExecReload=/bin/kill-s HUP$MAINPID(代码=退出,状态=0/成功)
进程:8377 ExecStart=/usr/sbin/nginx(代码=退出,状态=0/成功)
进程:8374 ExecStartPre=/usr/sbin/nginx-t(代码=退出,状态=0/成功)
进程:8373 ExecStartPre=/usr/bin/rm-f/run/nginx.pid(代码=退出,状态=0/成功)
主PID:8380(nginx)CGroup:/system.slice/nginx.service
|-8380 nginx:主进程/usr/sbin/ngin
`-8381 nginx:工作进程
Mar 02 06:43:24 VM_134_114_centos systemd[1]:启动nginx HTTP和反向代理服务器。。。
Mar 02 06:43:24 VM_134_114_centos nginx[8374]:nginx:配置文件/etc/nginx/nginx.conf语法正常
Mar 02 06:43:24 VM_134_114_centos nginx[8374]:nginx:configuration file/etc/nginx/nginx.conf测试成功
Mar 02 06:43:24 VM_134_114_centos systemd[1]:未能从文件/run/nginx.PID读取PID:参数无效
Mar 02 06:43:24 VM_134_114_centos systemd[1]:启动nginx HTTP和反向代理服务器。
我不认为你能修好它 首先,请注意,就在Nginx启动之前,故意删除了PID文件。您可以在发布的输出中看到:
ExecStartPre=/usr/bin/rm -f /run/nginx.pid
为什么??答案是下面的评论:
因此,如果Nginx正常运行,您可以正常停止/启动它,我认为您可以忽略日志中的警告。重新启动服务器为我解决了错误。虽然不漂亮,但效果不错
# Nginx will fail to start if /run/nginx.pid already exists but has the wrong
# SELinux context. This might happen when running `nginx -t` from the cmdline.
# https://bugzilla.redhat.com/show_bug.cgi?id=1268621
ExecStartPre=/usr/bin/rm -f /run/nginx.pid