工作使我快乐,这句话说出来我自己都不信,工作中总会有解决不完的问题,往往前一个Bug解决了,后一个Bug就接踵而来,我们不是在解决Bug,就是在解决Bug的路上。但是,也正因为这种不断的解决问题,不断的突破,才对这份工作有了乐趣,并为之努力。
其实对于每一个项目来说,她就像是我们的“孩子”一样,总想让他变得好一点,再好一点…
背景
为了杜绝不良网名对我们的服务器IP进行直接访问,我在nginx配置那里做了一些“小小的”调整,如下:
server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; server_name _; rewrite ^(.*)https://zzzdc.com permanent; } |
大家估计也看出来了,就是我想让不明地址、IP访问都跳转到我们主站上。
表现
重启nginx服务后,我们服务器上所有存在的网站访问就出问题了。具体表现为:只要访问任何一个存放在服务器上的网站,服务器的CPU立马高负载(15~20%),导致再次访问时会进入一直pedding状态。
这可不行啊,要知道我们所有的网站都是在百度上投放信息流广告的,一旦网站出现问题,百度就会据登广告,这将会给广告商带来大大的损失,于是我放下了手头的工作,马上进行了排查。
过程
首先,我以为是近期更新网站时代码里某一处出了错误,于是我关掉了进行更新过的插件,然而,问题依旧存在;
然后,不是代码的问题,那可能是php-fpm进程太多导致的?查看了一下php-fpm的错误日志,都是一些Notice,并没有Erroor,所以这里也可以排除掉;
那么,再就是用户量太大?看一下Zabbix监控吧,发现CPU负载从早上10.30开始一直高负荷;那再看一下网站流量吧,从前一天晚上11点开始后就有大量的流量进来,也就是用户量激增到平时的十多倍。
昨晚11点干啥了?就是改nginx的配置了啊,那改了哪一处呢?病原在这儿:
rewrite ^(.*)https://zzzdc.com permanent; |
我理解的是他把无效域名和IP都转发到了我们的主战,从而引来了大量的不速之客(大流量),占完了CPU资源,导致后面进来的用户就会pedding状态,把这里改一下:
server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; server_name _; return 444 } |
总结
工作使我快乐,善待每一次线上版本的修改及理清处理问题的排查思路,今天就到这儿了。
最新评论
以前chatgpt还需要注册,现在直接就可以用了,确实是方便。只是需要用翻 墙工具才行,所以是不是还是要注意下IP?
科学上网指南 4 天前
看透了,还是面包重要!
阿志说钱 2024-01-16
写得很好,学习了!
阿志说钱 2024-01-16
这个头像用了这么多年都习惯了,如果有博客没有还真不习惯。
子痕 2024-01-14
文章谈到的观点值得去细细琢磨。支持博主的意见,感觉很好。
熊妈妈分享 2024-01-03
看得出来博主写这篇文章还是花了些心思的。之前也看过类似的文章,这篇再有说服力。
熊妈妈分享 2024-01-03
这篇文章和前面的文章有点类似,但是高度明显有提高。欢迎回访,或者做个友情链接。
熊妈妈分享 2023-12-29
www.gravatar.com 替换为 gravatar.cn 就行
Dabenshi 2023-12-12
没事可以多互动下的,多来访问,谢谢
励志你 2023-11-09
技术博客很少人写的了
励志你 2023-11-09