LNMP下 nginx出现502 Bad Gateway 解决

502 Bad Gateway是一种报错提示,这一错误并不意味着上游服务器已关闭(无响应网关/代理),而是上游服务器和网关/代理不同意的协议交换数据,相比之下,500是种内部服务器错误,99%是代码层面错误。

  1. 第一种原因:目前lnmp一键安装包比较多的问题就是502 Bad Gateway,大部分情况下原因是在安装php前,脚本中某些lib包可能没有安装上,造成php没有编译安装成功。解决办法:可以尝试根据lnmp一键安装包中的脚本手动安装一下,看看是什么错误导致的。
  2. 第二种原因:在php.ini里,eaccelerator配置项一定要放在Zend Optimizer配置之前,否则也可能引起502 Bad Gateway
  3. 第三种原因:在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的max_children值适当增加。
  4. 第四种原因:php执行超时,修改/usr/local/php/etc/php.ini将max_execution_time 改为300。
  5. 第五种原因:磁盘空间不足,如mysql日志占用大量空间。
  6. 第六种原因:查看php-cgi进程是否在运行。

—————-以上是网上的各种答案,在服务器各种检查,502还是没解决。

最后发现服务器的nginx虚拟主机/usr/local/nginx/conf/vhost/xxx.conf的fastcgi_pass配置和/usr/local/php/etc/php_fpm.conf的listen配置不一样,一个是 /tmp/php-cgi.sock,另一个是127.0.0.1:9000,配置成一样就ok,网站正常访问200状态。

QQ截图20170703105300

发表评论

电子邮件地址不会被公开。 必填项已用*标注