全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 5742|回复: 18

[nginx] 还是nginx的502问题

[复制链接]
发表于 2010-10-27 16:06:44 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2010-10-27 16:09:20 | 显示全部楼层
重新启动下mysql和php看看
发表于 2010-10-27 16:10:54 | 显示全部楼层
worker_processes 4; worker_cpu_affinity 0001 0010 0100 1000;

这个设置也不错
 楼主| 发表于 2010-10-27 16:13:39 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2010-10-27 16:15:24 | 显示全部楼层
如果经常出现,可以定时重启。
crontab -e
定时任务。
添加
05 */2 * * * /root/lnmp restart
每隔2个小时自动重启。我一个小内存高IP的VPS,我设置成每隔30分钟重启一次。这样,哪怕502了,也不会影响太大。
发表于 2010-10-27 16:37:35 | 显示全部楼层
同求方案。
跑到200W PV。NGINX顶不住了。
也不知道是什么原因,页面读取很好,发帖回帖就巨慢。高峰期发帖基本502。但是帖子还是能发出去。
求帮忙
发表于 2010-10-27 18:03:31 | 显示全部楼层
出现gateway是php-fpm的问题,不是nginx的问题。。所有php是通过fastcgi交给后台的php-fpm做的。。
参考我刚回的一个帖子试试?
发表于 2010-10-27 18:04:27 | 显示全部楼层
因为nginx和php-fpm之间是通过fastcgi协议通信的,这个是网络协议,比起mod_php很不稳定。
导致504的的原因有:
1、脚本执行超时
2、所有fastcgi子进程都用光了。

可以依次尝试如下策略:
1、在nginx中:
  2、部分PHP程序的执行时间超过了Nginx的等待时间,可以适当增加nginx.conf配置文件中FastCGI的timeout时间,例如:
......
http
{
......
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
......
}
......
修改如上的超时参数

2、在php-fpm中
把max_children改大,比如30~50
把request_terminate_timeout改长,我建议可以到120s...代价是如果同时并发太多,max_children太少、也会挂掉。但是作为采集我想是一次性的、不经常的吧 还算OK。

如果还不行,可以改nginx的如下参数:
fastcgi_buffers由 4 64k 改为 2 256k;
fastcgi_buffer_size 由 64k 改为 128K;
fastcgi_busy_buffers_size 由 128K 改为 256K;
fastcgi_temp_file_write_size 由 128K 改为 256K。

重启nginx和php-fpm。。
发表于 2010-10-27 18:51:13 | 显示全部楼层
php-fpm.conf理面的這個參數把中斷時間延長試試看,推測是負擔太大了...2百萬PV
  1. <value name="request_terminate_timeout">30s</value>
复制代码
 楼主| 发表于 2010-10-27 19:40:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-17 06:08 , Processed in 0.067384 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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