四海艺文

 找回密码
 欢迎注册

QQ登录

只需一步,快速开始

查看: 3374|回复: 0

linux-lnmp服务器502r报错误的原因及与解决方法

[复制链接]

1237

主题

1956

帖子

1万

积分

版务管理

恋花飞舞

Rank: 7Rank: 7Rank: 7

积分
18817
发表于 2019-3-19 08:47:18 | 显示全部楼层 |阅读模式
一、在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的max_children值适当增加。
  也有可能是max_requests值不够用。

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

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

四、查看php-cgi进程是否在运行

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

六、目前lnmp一键安装包比较多的问题就是502 Bad Gateway,大部分情况下原因是在安装php前,脚本中某些lib包可能没有安装上,造成php没有编译安装成功。可以看一下是否存在/usr/local/php/sbin/php-fpm ,如果没有肯定没安装成功 。在执行 #/root/lnmp restart 时会提示,找不到 /usr/local/php/sbin/php-fpm。

  解决方法:
  可以进入lnmp解压的安装包,执行如下命令:
  ./upgrade_php.sh   升级PHP版本,按提示输入php版本号,如5.3.6。若升级成功可解决问题。再#/root/lnmp restart 检查是否存在php-fpm.

  可以尝试根据lnmp一键安装包中的脚本手动安装一下,看看是什么错误导致的,如果实在不会提供按http://www.shyw.net/bbs/yxt753829-1-1.html这个安装时的lnmp.log日志文件.

七、在php.ini里,eaccelerator配置项一定要放在Zend Optimizer配置之前,否则也可能引起502 Bad Gateway

八、也可以尝试将unix套接字改成tcp/ip的,修改/usr/local/php/etc/php-fpm.cnf 里设置/tmp/nginx.socket 改成127.0.0.1:9000 ,同时/usr/local/nginx/conf/nginx.conf 及其/usr/local/nginx/conf/vhost/ 下面的虚拟主机配置里的fastcgi_pass  unix:/tmp/php-cgi.sock; 替换为fastcgi_pass  127.0.0.1:9000;  之后重启试试。

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

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

十一、按日志可能是php打开文件数的限制
打开php-fpm.conf 找到 rlimit_files 改成:65535
编辑 /etc/security/limits.conf 加上:
* soft nofile 65535
* hard nofile 65535
编辑/etc/sysctl.conf  底部添加fs.file-max=65535

echo “ulimit -SHn 65535″ >> /etc/rc.local
重启试试


  最后,如果以上方法都试过,但还有时会出现502错,可以尝试添加502自动重启脚本。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

手机版|联系我们|四海艺文 ( 粤ICP备19029400号 湘公网安备 43122302000013号  

GMT+8, 2019-12-9 17:33 , Processed in 0.242381 second(s), 41 queries .

©2007-2015 四海艺文

站点导航:四海.net

快速回复 返回顶部 返回列表