首页 > 其他 > 详细

1.6-常见的502问题解决

时间:2015-09-11 06:47:26      阅读:244      评论:0      收藏:0      [点我收藏+]

在使用nginx打开论坛时,网站根目录正确,但是打开网页502

这这时候可以查看nginx的错误日志,在配置文件中有定义:/usr/local/nginx/logs/nginx_error.log

可以看到 unix:/tmp/wyp.sock failed (13: Permission denied)这一行,说明nginx没有权限读取sock文件,所以造成502。如果是监听的IP,则没有这个问题。

ls /tmp/wyp.sock 可以看到其他没有任何权限,这时候有两种解决办法:

1:修改/tmp/wyp.sock的权限777  (临时起效,服务重启后失效

2:在/usr/local/php/etc/php-fpm.conf中,监听nginx的身份nobody

配置如下:在服务配置中插入以下代码

listen = /tmp/wyp.sock

listen.owner = nobody

listen.group = nobody


因为wyp.sock是php启动后产生的文件,nginx默认没有权限。

监听nginx的用户身份后,才给予权限读取。



个人疑问:

1.lamp环境下,discuz的目录需要改为daemon.才有读写权限安装

2.lnmp环境下,discuz的目录需要改为php-fpm才有读写权限安装

是不是,我可以认为,discuz是一个php的安装脚本或程序,php要执行,必须的有相关目录的权限。apache因为是调用php模块,模块属于自身的一部分。所以php的相关操作,身份还是apache本身。即daemon

而nginx只是代理了php,把相关请求转交给php,最终的执行身份是php-fpm。所以这里的所有者有了区别。

1.6-常见的502问题解决

原文:http://llzdwyp.blog.51cto.com/6140981/1693671

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!