yamucha 发表于 2016-6-7 22:34:09

请教军哥:lnmp1.2-1.3版502错误的问题

军哥:遇到个小众问题,一直没有解决,来请教。从lnmp1.2开始我使用https://github.com/oott123/bpcs_uploader的bpcs_uploader php脚步将服务器的备份文件上传到百度云,每次上传时网站会出现502错误。(bpcs_uploader脚步见附件baidu.zip,运行脚本见附件baidubd.zip)。
系统环境:Mysql版本为:5.5.48(Default)php版本:5.4.45(Default)Nginx版本:1.10.0(php选择其它版本也是502)


1.这个问题在lnmp1.1上没有出现过。从lnmp1.2开始就出现,本来以为lnmp1.3不会出现,刚才试了还是502错误。
2.同样的环境和配置,我在oneinstack上测试不会出现502,在lnmp1.2 和1.3版测试都是502。
3.出现502后,必须使用lnmp restart 才可以恢复,我军哥推荐的使用crontab 中的 */5 * * * * sh /root/lnmp1.3-full/tools/check502.sh 不能解决。

因为比较小众,一直没有搜索到问题的原因和解决办法,有一直用顺手了军哥的lnmp,不想更换,所以来请教军哥!感谢了!

licess 发表于 2016-6-8 17:28:02

修改一下执行限制时间

发慢日志看一下

yamucha 发表于 2016-6-9 20:51:25

回复 2# 的帖子

感谢回复!
我按照502置顶帖:
第四种原因:
php执行超时,修改/usr/local/php/etc/php.ini 将max_execution_time 改为300 或直接改成0 不限制,同时还需要修改/usr/local/php/etc/php-fpm.conf 调整request_terminate_timeout的值
再/etc/init.d/php-fpm restart重启使其生效。
502故障仍然存在。开启慢日志如下:

pid 8644
script_filename = /home/vr-web/abc.com/www/index.php
str_replace() /home/vr-web/abc.com/www/wp-includes/pomo/entry.php:76
key() /home/vr-web/abc.com/www/wp-includes/pomo/mo.php:251
import_from_reader() /home/vr-web/abc.com/www/wp-includes/pomo/mo.php:27
import_from_file() /home/vr-web/abc.com/www/wp-includes/l10n.php:559
load_textdomain() /home/vr-web/abc.com/www/wp-includes/l10n.php:693
load_plugin_textdomain() /home/vr-web/abc.com/www/wp-content/plugins/woocommerce/woocommerce.php:346
load_plugin_textdomain() /home/vr-web/abc.com/www/wp-content/plugins/woocommerce/woocommerce.php:307
init() unknown:0
call_user_func_array() /home/vr-web/abc.com/www/wp-includes/plugin.php:525
do_action() /home/vr-web/abc.com/www/wp-settings.php:393
+++ dump failed
完整的PHP-fpm日志,见附件。

[ 本帖最后由 yamucha 于 2016-6-9 20:52 编辑 ]

yamucha 发表于 2016-6-9 21:08:12

回复 2# 的帖子

按照:
第三种原因:
在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的max_children值适当增加,如果php已升级到5.3.*以上且使用的是dynamic模式,需要调整pm.min_spare_servers和pm.max_spare_servers的值适当增加。最大值可以按内存xxMB/2/20 的整数来算(内存以MB为单位进行计算,/ 为除,取整数),最小值可以按内存/2/40 的整数来算,可以少点或多大,可以自己调整运行看看,同时pm.max_children也调整为和pm.max_spare_servers的值一样。
也有可能是max_requests值不够用。

问题依旧!

必须lnmp restart 或者service php-fpm restart 重启才可以。

yamucha 发表于 2016-6-9 21:12:47

回复 2# 的帖子

lnmp1.3下出现502错误的 /usr/local/php/etc/php-fpm.conf设置是这样的:
pid = /usr/local/php/var/run/php-fpm.pid
error_log = /usr/local/php/var/log/php-fpm.log
log_level = notice


listen = /tmp/php-cgi.sock
listen.backlog = -1
listen.allowed_clients = 127.0.0.1
listen.owner = www
listen.group = www
listen.mode = 0666
user = www
group = www
pm = dynamic
pm.max_children = 16
pm.start_servers = 10
pm.min_spare_servers = 8
pm.max_spare_servers = 16
request_terminate_timeout = 0
request_slowlog_timeout = 1
slowlog = /usr/local/php/var/log/slow.log另一台使用lnmp,可以正常运行,而没有502错误的/usr/local/php/etc/php-fpm.conf设置是这样的:;;;;;;;;;;;;;;;;;;;;;
; FPM Configuration ;
;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;
; Global Options ;
;;;;;;;;;;;;;;;;;;


pid = run/php-fpm.pid
error_log = log/php-fpm.log
log_level = warning

emergency_restart_threshold = 30
emergency_restart_interval = 60s
process_control_timeout = 5s
daemonize = yes

;;;;;;;;;;;;;;;;;;;;
; Pool Definitions ;
;;;;;;;;;;;;;;;;;;;;


listen = /dev/shm/php-cgi.sock
listen.backlog = -1
listen.allowed_clients = 127.0.0.1
listen.owner = www
listen.group = www
listen.mode = 0666
user = www
group = www

pm = dynamic
pm.max_children = 16
pm.start_servers = 10
pm.min_spare_servers = 8
pm.max_spare_servers = 16
pm.max_requests = 2048不清楚到底问题在什么地方,请教军哥。

[ 本帖最后由 yamucha 于 2016-6-9 21:16 编辑 ]

licess 发表于 2016-6-10 10:29:48

看慢日志woo那个插件可能是超时

php-fpm.conf里可以加上
emergency_restart_threshold = 30
emergency_restart_interval = 60s
process_control_timeout = 5s
试试
页: [1]
查看完整版本: 请教军哥:lnmp1.2-1.3版502错误的问题