nginx error 502

php5.3升级php5.6之后502报错,测试/usr/local/php/bin/php可以解析。可以确定是sock的问题。

vim /usr/local/php/etc/php-fpm.conf

[global]
pid = /usr/local/php/var/run/php-fpm.pid
error_log = /usr/local/php/var/log/php-fpm.log
[www]
listen = /tmp/php-fcgi.sock
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024

[root@VM_149_134_centos php-5.6.30]# vim /usr/local/nginx/conf/vhosts/default.conf

server
{
listen 80 default;
server_name localhost;
index index.html index.htm index.php;
root /data/wordpress;

location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/tmp/php-fcgi.sock;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
access_log /tmp/wordpress_access.log xingcheng;
fastcgi_param SCRIPT_FILENAME /data/wordpress$fastcgi_script_name;
}

最后找到是sock权限问题

[root@VM_149_134_centos php-5.6.30]# ls -l /tmp/php-fcgi.sock
srw-rw—- 1 root root 0 Mar 24 22:27 /tmp/php-fcgi.sock

更改权限后解析成功

[root@VM_149_134_centos php-5.6.30]# chmod 666 /tmp/php-fcgi.sock

注意:

1.检查nginx的 和php的连接方式要一样,例如均为fastcgi

2.检查/tmp/php-fcgi.sock权限,改成666或者777测试。确定原因后。

例如:www.sock文件对其他用户没有读取权限。
需要在/usr/local/php/etc/php-fpm.conf中加入
listen.owner= nobody
listen.group= nobody
listen.mode = 0666

3. 在/usr/local/nginx/conf/nginx.conf中定义error.log日志的位置和级别。
error_log /usr/local/nginx/logs/nginx_error.log crit;
通过错误日志排查报错原因,相应的去解决。

4.基于php-fpm的配置详解http://www.jb51.net/article/37749.htm

 

 

http://www.jb51.net/article/65797.htm

 

未经允许不得转载: » nginx error 502
微信公众号:这是个测试
关注我们,每天分享更多有趣的事儿,有趣有料!
12000人已关注
分享到:
赞(0) 打赏

评论抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏