所以Nginx以守护进程模式启动,但是root,确认了这个命令:
root@test:/home/vagrant# ps -edf | grep nginx
root 7331 1 0 13:42 ? 00:00:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
www-data 7333 7331 0 13:42 ? 00:00:00 nginx: worker process
但如果我:
root@test:/home/vagrant# /etc/init.d/nginx restart
* Restarting nginx nginx [fail]
但是当我跑步时:
root@test:/home/vagrant# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
只有当我回到用户vagrant
时才会这样:
[13:46:58] vagrant@test:/home/vagrant $ nginx -t
2016/04/21 13:47:01 [emerg] 7390#7390: open() "/run/nginx.pid" failed (13: Permission denied)
如果我:
root@test:/home/vagrant# ls -l /run/nginx.pid
-rw-r--r-- 1 root root 5 Apr 21 13:45 /run/nginx.pid
那么为什么赢得nginx重启?我究竟做错了什么?我的意思是,root
没有足够的许可没有意义,是吗?
为什么sudo nginx -t
没有显示任何错误消息?
答案 0 :(得分:0)
您的配置文件user www www;
中有这个指令吗?
如果是,用户www
(或您设置的对象)是否可以访问 pid文件和网站目录?
额外:如果需要,可以使用pid path;
指令移动 pif文件。