nginx 与 php-fpm socket 所有者权限问题
配置完 ngix + php-fpm 后 nginx 报错:
2014/12/08 12:19:19 [crit] 27575#0: *4 connect() to unix:/var/run/php-fpm/vbox.dev.sock failed (13: Permission denied) while connecting to upstream, client: 192.168.56.101, server: vbox.dev, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm/vbox.dev.sock:", host: "vbox.dev"
相关配置如下:
php-fpm:
[vbox.dev]
user = nginx
group = nginx
listen = /var/run/php-fpm/vbox.dev.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
pm = dynamic
pm.max_children = 75
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
pm.max_requests = 500
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
文件权限:
ls -al /var/run/php-fpm/vbox.dev.sock
srw-rw----. 1 nginx nginx 0 Dec 8 12:19 /var/run/php-fpm/vbox.dev.sock
ps -ef | grep nginx:
root 27573 1 0 12:17 ? 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
nginx 27575 27573 0 12:17 ? 00:00:00 nginx: worker process
ps -ef | grep php-fpm
root 27587 1 0 12:19 ? 00:00:00 php-fpm: master process (/etc/php-fpm.conf)
nginx 27588 27587 0 12:19 ? 00:00:00 php-fpm: pool vbox.dev
nginx 27589 27587 0 12:19 ? 00:00:00 php-fpm: pool vbox.dev
nginx 27590 27587 0 12:19 ? 00:00:00 php-fpm: pool vbox.dev
nginx 27591 27587 0 12:19 ? 00:00:00 php-fpm: pool vbox.dev
nginx 27592 27587 0 12:19 ? 00:00:00 php-fpm: pool vbox.dev
nginx 27593 27587 0 12:19 ? 00:00:00 php-fpm: pool vbox.dev
nginx 27594 27587 0 12:19 ? 00:00:00 php-fpm: pool vbox.dev
nginx 27595 27587 0 12:19 ? 00:00:00 php-fpm: pool vbox.dev
nginx 27596 27587 0 12:19 ? 00:00:00 php-fpm: pool vbox.dev
nginx 27597 27587 0 12:19 ? 00:00:00 php-fpm: pool vbox.dev
www-data 27598 27587 0 12:19 ? 00:00:00 php-fpm: pool global-pool
求指点!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
以上 listen.owner listen.group 可不设定
listen.mode = 0666
另外建议sock文件放在/dev/shm目录下
此目录下将sock文件放在内存里面,有助于性能提升
Permission denied ...
在没有权限呀!
在root下执行。
你问题解决了么?没解决的话能让我看下你/var/run/php-fpm这个目录的权限么
原理就是你要看一下你nginx运行的用户(nginx配置文件中去看)要和php-fpm运行的用户一样(www.conf去看),一般报没有权限都是用户不一致导致的,因为php-fpm是有nginx去执行的,所以要以nginx运行的用户去运行php-fpm才有权限。