服务器是租的腾讯云,双核CPU,4G内存,只跑nginx+php(mysql是另租的db server)
以前跑的一直很正常,最近几天用户反映经常502/504,等我接到消息打开网站时,又一切正常了!
这不,又来了
ssh到服务器上,第一件事儿是重启php,重启nginx
然后刷新网站,正常了
可是……没几秒钟,又502了
再重启php,重启nginx……
正常一会儿,又502……
好吧,这次是重启大法没用了!
查看nginx的error日志,发现有很多这样的日志出现
upstream timed out (110: Connection timed out) while reading response header from upstream
经过goolge大法,在 nginx.conf 配置里加上以下几行解决问题
fastcgi_buffer_size 128k;
fastcgi_buffers 6 128k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
fastcgi_intercept_errors on;
可究竟是为什么恢复正常了,自己也不太明白(哪位大拿清楚请指点一下)
我猜想原因是我们网站输出的html页面有几十k,默认的buffer不够大(是多大我也8晓得),于是php进程总是要读写硬盘导致速度过慢,于是响应不过来,堆积多了就卡502/504了……
———————— 一切正常的 分割线 ——————————
过了几个礼拜,今儿上午又出现502/504了
愁吖,这顽疾又来了
再重启php,重启nginx……
刷新网站……还是502……
查看nginx的error日志,发现有很多这样的日志出现
recv() failed (104: Connection reset by peer)
connect() failed (111: Connection refused)
咦,这是新的error日志喔
再看php的error日志,发现网站挂掉的那个时间点有这么两行
[11-Sep-2014 09:14:51] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 8 children, there are 0 idle, and 47 total children
[11-Sep-2014 09:14:52] WARNING: [pool www] server reached pm.max_children setting (50), consider raising it
再次启用google大法,不求甚解的修改了/etc/php-fpm.d/www.conf文件的这么几个参数
pm.max_children = 100
pm.start_servers = 30
pm.min_spare_servers = 20
pm.max_spare_servers = 70
重启php、nginx后,一切恢复正常
哪位大神给说说还有什么漏洞需要补上的么?以免以后502/504这两位大姨妈又来拜访……
以前跑的一直很正常,最近几天用户反映经常502/504,等我接到消息打开网站时,又一切正常了!
这不,又来了
ssh到服务器上,第一件事儿是重启php,重启nginx
然后刷新网站,正常了
可是……没几秒钟,又502了
再重启php,重启nginx……
正常一会儿,又502……
好吧,这次是重启大法没用了!
查看nginx的error日志,发现有很多这样的日志出现
upstream timed out (110: Connection timed out) while reading response header from upstream
经过goolge大法,在 nginx.conf 配置里加上以下几行解决问题
fastcgi_buffer_size 128k;
fastcgi_buffers 6 128k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
fastcgi_intercept_errors on;
可究竟是为什么恢复正常了,自己也不太明白(哪位大拿清楚请指点一下)
我猜想原因是我们网站输出的html页面有几十k,默认的buffer不够大(是多大我也8晓得),于是php进程总是要读写硬盘导致速度过慢,于是响应不过来,堆积多了就卡502/504了……
———————— 一切正常的 分割线 ——————————
过了几个礼拜,今儿上午又出现502/504了
愁吖,这顽疾又来了
再重启php,重启nginx……
刷新网站……还是502……
查看nginx的error日志,发现有很多这样的日志出现
recv() failed (104: Connection reset by peer)
connect() failed (111: Connection refused)
咦,这是新的error日志喔
再看php的error日志,发现网站挂掉的那个时间点有这么两行
[11-Sep-2014 09:14:51] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 8 children, there are 0 idle, and 47 total children
[11-Sep-2014 09:14:52] WARNING: [pool www] server reached pm.max_children setting (50), consider raising it
再次启用google大法,不求甚解的修改了/etc/php-fpm.d/www.conf文件的这么几个参数
pm.max_children = 100
pm.start_servers = 30
pm.min_spare_servers = 20
pm.max_spare_servers = 70
重启php、nginx后,一切恢复正常
哪位大神给说说还有什么漏洞需要补上的么?以免以后502/504这两位大姨妈又来拜访……