nginx真是不错

昨天系统遭遇了一次SYN flood攻击。缘由估计是某个用户因为作弊被惩罚后, 心中不满,要给我们点厉害尝尝。

结果我们还真是尝到厉害了,一台重要的服务器,差不多瘫痪了。这台服务器因为放在外地一个简陋的机房(便宜啊),没有任何的防火墙设备可以使用,基本上只能硬扛。服务器上跑的主要是Django的应用,因为之前这台服务器有别人部署的应用,需要用Apache,所以用的是prefork+mod_python的方式。在攻击下,内存和SWAP很快就耗尽了,SSH都很难登上去。只好打电话找人重启服务器。但是只要一启动Apache,负荷立刻就上来了。用netstat 查看了一下,SYN_RECV的数目有上千个,调整了很多防SYN攻击的参数,没太多效果。周末,又快下班了,郁闷的很。

实在没办法了,打算换成nginx + fastcgi + django的模式。于是跟另外一个服务器的用户说明情况,决定把Apache停掉。切换很顺利,不到半小时就全准备好了,把服务起来后,很忐忑的等待。nginx还真是很给面子。所有的应用可以正常访问了。虽然攻击还在继续,但是系统负荷还在可以承受的范围内。总算可以下班了。

今早上起来,看到攻击已经停止了。再调整了一下django的进程数目, load average降到1一下,心情舒畅。

你可能感兴趣的:(apache,nginx,django,python,服务器,防火墙)