LNMP一键安装包的Nginx 502 Bad Gateway错误可能原因及解决方法

第一种原因

第一种原因:安装lnmp一键安装包时php没安装成功而出现502 Bad Gateway,从0.9开始只要安装成功或失败都就会有提示。没安装成功一般原因是在安装php前,脚本中某些lib包可能没有安装上,造成php没有编译安装成功。可以看一下是否存在/usr/local/php/sbin/php-fpm ,如果没有肯定没安装成功。

解决方法:
可以尝试根据lnmp一键安装包中的脚本手动安装一下,看看是什么错误导致的,在网上搜索一下,或者把错误信息发上来。如果实在不会提供按http://lnmp.org/install.html这个安装时的lnmp.log日志文件(可以用winscp登陆下载lnmp.log,压缩并上传到本论坛),没有错误信息我们没法说什么原因。本方法只限于lnmp没安装成功,只要lnmp安装成功了这一项就没可能。

第二种原因

在php.ini里,eaccelerator配置项一定要放在Zend Optimizer配置之前,否则也可能引起502 Bad Gateway。php一些模块之间也可能会造成502,如Zend GuardLoader与Opcache,ioncube与Zend GuardLoader等,一般可以通过注释掉一个然后重启php-fpm,然后看是否还502进行排除。

第三种原因

在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的max_children值适当增加,如果php已升级到5.3.*以上且使用的是dynamic模式,需要调整pm.max_spare_servers参数的值。
也有可能是max_requests值不够用。

第四种原因

php执行超时,修改/usr/local/php/etc/php.ini 将max_execution_time 改为300

第五种原因

磁盘空间不足,如mysql日志占用大量空间清理一下磁盘上的文件,有部分剩余空间,重启即可恢复。

第六种原因

查看php-cgi或php-fpm进程是否在运行

第七种原因

将nginx.conf里的
fastcgi_connect_timeout
fastcgi_send_timeout
fastcgi_read_timeout都调大一点。

第八种可能原因

http://bbs.vpser.net/thread-1654-1-1.html

有时候也可能是自己修改过下面2处的配置,导致nginx配置文件里的设置和php-fpm上的设置不一样也会502。如果使用unix套接字,修改/usr/local/php/etc/php-fpm.cnf 里设置,php 5.2为

/tmp/php-cgi.sock

php 5.3及以上版本为listen = /tmp/php-cgi.sock ,同时/usr/local/nginx/conf/nginx.conf 及其/usr/local/nginx/conf/vhost/ 下面的虚拟主机配置里的fastcgi_pass unix:/tmp/php-cgi.sock; 不一致就必定502。
有时候unix套接字模式下可能会502,可以尝试改成tcp/ip的方式 php 5.2下

/tmp/php-cgi.sock

替换为

127.0.0.1:9000

php 5.3及以上版本listen = /tmp/php-cgi.sock替换为listen = 127.0.0.1:9000,nginx配置文件及虚拟主机配置文件里fastcgi_pass unix:/tmp/php-cgi.sock;替换为fastcgi_pass 127.0.0.1:9000; 之后重启试试。

还需要补充的就是不要按网上找到的教程随便修改配置,网上找到的可能会路径不一样,也可能会导致502或有相关的错误产生。

如果虚拟主机的日志文件过大也可能会造成502问题。
建议定期清空一下虚拟主机的日志文件。

十一

有些程序或者程序的主题有死循环或其他非常占用资源的代码也可能会引起502,可以尝试暂时注释掉可能的主机的配置文件,重启看看是否还会502。

十二

如果以上方法都试过,但还有时会出现502错,可以尝试添加502自动重启脚本:http://bbs.vpser.net/thread-1913-1-1.html

十三

实在找不到原因可以开启slowlog看看慢日志是否有相关有用的信息:http://bbs.vpser.net/viewthread.php?tid=10251&page=1&fromuid=3#pid30582

十四

升级PHP后出现502,可能php没升级成功。
如果是1.0之前的版本升级PHP到5.4或5.5后,可能是因为这个原因:http://bbs.vpser.net/thread-10763-1-1.html

十五

CentOS 6 下,wordpress访问后台、安装wp、安装插件报502错误的解决方法:http://bbs.vpser.net/thread-10767-1-1.html

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/3371.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
重蔚的头像重蔚管理团队
上一篇 2017年11月14日 10:59
下一篇 2017年11月15日 00:00

相关推荐

  • 我来教你nginx是什么意思,nginx是干嘛的2022年更新(nginx是什么意思)。

    Nginx是一个高性能的HTTP和反向代理服务器,主要用于网站服务器的负载均衡、高并发处理以及提供安全的网络服务。 Nginx 简介 什么是 Nginx? Nginx(发音为“engine x”)是一个高性能的HTTP和反向代理服务器,也是一…

    2024年6月28日
    00
  • 详解阿里云nginx服务器多站点的配置

    阿里云nginx服务器多站点的配置 今天配置了一下多站点,记录一下配置的过程... 1、首先要找到nginx 配置文件之所在,阿里云上的nginx.conf 文件上 /alidata/server/nginx-1.4.4/conf 中。 2、然后在conf目录下创建…

    2018年4月13日
    0203
  • 干货丨为什么Nginx这么火?原因在这里

    Nginx(“engine x”)一个具有高性能的HTTP和反向代理的WEB服务器,同时也是一个POP3/SMTP/IMAP代理服务器。 是由伊戈尔·赛索耶夫(俄罗斯人)使用C语言编写的,Nginx的第一个版本是2004年10月4号发布的0.1.0版本。 另外…

    2023年5月13日
    04
  • 聊聊nginx动静分离怎么实现。

    Nginx动静分离的实现方法是将动态和静态请求分开,这里所说的不是将动态页面和静态页面物理分离,可以理解为:Nginx处理静态页面,Tomcat处理动态页面。具体实现方法可以参考以下链接 。 什么是动静分离? 动静分离…

    2024年7月23日
    00
  • nginx 504 Gateway Time-out如何处理

    今天程序在执行一项excel导出任务的时候 出现了nginx超时的提示 nginx 504 Gateway Time-out 排查过程: 查看该任务 发现内容是一个数据量20000条信息 每条信息有50个字段 在执行导出为excel的时候 出现了该问题 执…

    2018年4月13日
    0293
  • 总结PHP-FPM与Nginx的通信机制

    【相关学习推荐:php图文教程】 PHP-FPM 介绍 CGI 协议与 FastCGI 协议 每种动态语言( PHP,Python 等)的代码文件需要通过对应的解析器才能被服务器识别,而 CGI 协议就是用来使解释器与服务器可以互相通信。PHP …

    2022年6月18日
    0107
  • 经验分享自建cdn。

    自建CDN,全称为内容分发网络(Content Delivery Network),是一种通过在各地部署服务器,将用户请求的静态资源(如图片、视频、CSS、JS等)缓存到离用户最近的服务器上,从而提高用户访问速度和体验的技术,自建CDN不仅…

    2024年6月18日
    00
  • 我来教你网站空间vps租用怎么管理。

    网站空间和VPS租用的管理通常包括以下几个方面:1.域名管理:购买和续费域名,设置域名解析。2.服务器管理:选择合适的服务器,安装和配置服务器软件,管理服务器安全。3.网站管理:上传和备份网站文件,设置网站权…

    2024年7月17日
    00

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息