常见的解决方法有如下两种:
1:php-cgi进程数不够用 (我就是采用此方法解决的)
vim php-fpmconf
修改其中的2个参数
(1)在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpmconf 将其中的max_children值适当增加
这个数值是不确定的 需要我们自己算的,这个值原则上是越大越好,php-cgi的进程多了就会处理的很快,排队的请求就会很少,减小出现502错误的机率。
一般来说,一台服务器的正常情况下每一个php-cgi要耗费的内存为20M左右。如果我就将此值设为80,那么也就是说大概要耗费服务器1600M内存。
查看一下当前系统中有多少个php-cgi进程在运行
netstat -anpo | grep php-cgi | wc -l
如果这个值接近你的在配置文件里面设置的值,说明需要增加
注:这要根据机器的实际情况而定,每个机器的硬件设施和环境不一样
参数为:<value name=”max_children”>80</value>
(2)另外一个参数就是php-cgi脚本的执行时间
<value name=”request_terminate_timeout”>0s</value>这里写0s的意思是让php-cgi一直执行下去,没有时间限制。
注意:如果你做不到这一点,也就 是说你的PHP-CGI可能出现某个BUG,或者你的宽带不够充足或者其他的原因导致你的PHP-CGI假死那么就建议你给 request_terminate_timeout赋一个值,这个值可以根据服务器的性能进行设定。一般来说性能越好你可以设置越高,20分钟-30分 钟都可以。
修改完这两个参数,重启一下php-cgi,看是否还出现502错误
2: php执行时间长
php执行超时,修改/usr/local/php/etc/phpini 将max_execution_time 改为300
重启一下php-cgi,看是否还出现502错误
3: php-cgi进程死掉
杀死其进程,重启php-cgitomcat无法访问webroot:
1、云服务器安全组配置规则未放开>
找到数据库链接类,更改数据库链接名和密码即可解决!
原因:源码要链接数据库,必须有用驱动链接到数据库,使用密码和账号链接,你修改了数据库的账号,就必须在源码的数据库链接类里面修改数据库用户名和密码,使其和修改后的数据库用户名密码一致,才可以正常链接到数据库!
此答案来自>欢迎分享,转载请注明来源:内存溢出
评论列表(0条)