当前位置:智汇导航 » 站长资讯 » 资讯文章 » 建站技术 » 文章详细 订阅RssFeed

就改了一行nginx配置,老站ip从500飙到2万

来源:本站原创 浏览:501次 时间:2026-11-05

半夜两点,我盯着监控屏幕,困得眼皮打架。网站那个cms跑了好几年了,日ip一直在500左右晃荡。老板天天催,我也懒得解释,反正就是那样。

说实话,那晚我本来只想修个bug。用户登录后偶尔会白屏,我以为是php内存不够,调到512M了还是没卵用。折腾了一宿,翻遍了error_log,就一个502 Bad Gateway反复出现,没其他线索。

后来上服务器排查,nginx的配置文件在/etc/nginx/conf.d/yourdomain.conf,看了下,location那块写的是fastcgi_pass 127.0.0.1:9000;。这个没问题,但往上翻,发现一个奇怪的地方:include里面有个fastcgi_params,可是里面有个变量SCRIPT_FILENAME指向的是$document_root$fastcgi_script_name;。正常。不对劲。

讲真,问题出在另一个地方。我同事之前加过一段防cc配置,limit_req_zone设置得极其严苛。rate=2r/s,burst=5。说白了,一个ip两秒请求超过5次直接503。这在搜索引擎蜘蛛看来就是服务器挂了。老站收录掉得厉害。

nginx配置

我把那几行注释掉,换成合理的burst参数。重启nginx。nginx -s reload下去。好家伙,第二天蜘蛛跟疯了一样来爬。第三天我看流量统计,直接飙到2万,我一算,涨了40倍。原来被那个规则给活活卡住了。老板以为我做了多大优化,其实我就改了一行。

还有个小细节,那会儿数据库用的是myisam,锁表严重,我把索引相关的几个表引擎换成innodb,数据库配置文件在/etc/mysql/my.cnf,加了一行innodb_buffer_pool_size=2G。这个改动对我来说顺手,效果挺明显,页面加载从3秒多降到800ms以内。

总结我的体会:不要瞎鸡巴优化,先把基础配置搞对。很多老站根本没那么大流量,全是自己上规矩把自己玩死的。

就这样吧,现在流量稳定在1.8万左右。那我没再动过配置。写着玩,仅供参考。