我在开始看我的NGINX的error.log文件的级别:警告......可能是一个愚蠢的想法,并会导致我崩溃我的服务器,因为我工作了任何错误发生,但嘿,我们是书呆子,这是为什么我们在这里
我每次重新启动服务器时都会注意到[warn]和[emerg]弹出窗口,显示:
[warn] 8041#0: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1
[emerg] 8041#0: open() "/run/nginx.pid" failed (13: Permission denied)
Run Code Online (Sandbox Code Playgroud)
我的nginx.conf文件的顶部是:
user www-data;
worker_processes auto;
pid /run/nginx.pid;
Run Code Online (Sandbox Code Playgroud)
对我而言,向我展示了一些事情.
该错误告诉我NGINX没有访问/run/nginx.pid的权限,这使我看到了所述文件的用户权限.
sudo ls -la /run/nginx.pid
Run Code Online (Sandbox Code Playgroud)
揭示了:
-rw-r--r-- 1 root root 5 Jun 18 05:34 /run/nginx.pid
Run Code Online (Sandbox Code Playgroud)
然后尝试:
ps -ef | grep nginx
Run Code Online (Sandbox Code Playgroud)
生产:
root 5914 1 0 05:34 ? 00:00:00 nginx: master process /u
www-data 5917 5914 0 05:34 ? 00:00:00 nginx: worker process
Run Code Online (Sandbox Code Playgroud)
划痕头
现在,有人可以告诉我为什么,或者NGINX如何设法创建具有root所有权的主进程,现在工作进程是由www-data拥有的?
或者更重要的是,任何人都有一些关于如何应对这个[emerg]错误的建议?
我首先想到的是刚刚尝试和改变/run/nginx.pid文件的所有权,看看nginx怎么喜欢它,但我有种觉得,即使我这样做手工这一次,当我重新启动服务器,我我会遇到同样的问题.
我的第二个想法是,在NGINX中我可以在其他地方定义我的工作流程启动.
谢谢.
编辑
该/etc/systemd/system/multi-user.target.wants/nginx.service文件的内容是:
[Unit]
Description=A high performance web server and a reverse proxy server
After=network.target
[Service]
Type=forking
PIDFile=/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t -q -g 'daemon on; master_process on;'
ExecStart=/usr/sbin/nginx -g 'daemon on; master_process on;'
ExecReload=/usr/sbin/nginx -g 'daemon on; master_process on;' -s reload
ExecStop=/usr/sbin/nginx -s quit
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
小智 9
我今天在 Centos 7 服务器上遇到了同样的错误。
nginx.pid”失败(13:权限被拒绝)
对我来说,结果证明是 SELinux 的问题。我做了以下工作以使其再次工作:
systemctl stop nginx
touch /var/run/nginx.pid
chcon -u system_u -t httpd_var_run_t /var/run/nginx.pid
systemctl start nginx
Run Code Online (Sandbox Code Playgroud)
跑步
ls -Z nginx.pid
Run Code Online (Sandbox Code Playgroud)
应该输出
-rw-r--r--。root root system_u:object_r:httpd_var_run_t:s0 nginx.pid
| 归档时间: |
|
| 查看次数: |
8510 次 |
| 最近记录: |