网站被 CC 攻击的一次经历

一直感觉网站被攻击那都是新闻里的事情,可就是上个月,连续五六天收到服务器负载过高的警告邮件,看了一下进程记录发现是 PHP 占据了80%~90%的内存并且 System Load 都是100%,平均负载竟然是 “21.28 13.57 5.48″,这可不是开玩笑的。我又看了 Nginx 的访问日志,发现连续几天几乎在同一时刻有大量的 IP 疯狂请求网站,虽然比不上那些新闻中的攻击量,但也足够让我的小服务器挂掉。这时我意识到我网站被人盯上了,而且是 CC 攻击。于是乎,我便到处寻找防御的方法,这里呢,就记录一下整个过程,希望能帮助到那些跟我有同样遭遇的人。 想看更多?点我点我 “网站被 CC 攻击的一次经历”

Linux 下手动编译安装 PHP memcached 扩展

新版本的 WPJAM 可以使用 memcached 来缓存 SQL 查询,给 WordPress 带来神一般的优化效果,当然这些优化的前提是服务器要安装的有 memcached 并且 PHP 要安装 memcached 扩展。在使用宝塔面板装环境时,可以便捷地安装这些环境,但是在 Ubuntu 18.04 下,PHP 的 memcached 扩展怎么也安装不上(原因见这里:解决 Ubuntu 18.04 使用 gcc 7 版本导致编译安装 libmemcached 失败的问题 ),最后只能手动安装。这里呢,就记录一下我编译安装的过程,以防下次会再用到。

想看更多?点我点我 “Linux 下手动编译安装 PHP memcached 扩展”

解决 Ubuntu 18.04 使用 gcc 7 版本导致编译安装 libmemcached 失败的问题

最近换了一个服务器,在使用宝塔安装环境时,发现 php 的 memcached 扩展始终安装失败,查看了日志后发现是 libmemcached 编译失败,导致无法编译安装 memcached 扩展。我尝试手动编译 libmemcached 发现也是出错,提示:

clients/memflush.cc:42:22: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
   if (opt_servers == false)
                      ^~~~~
clients/memflush.cc:51:24: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
     if (opt_servers == false)
                        ^~~~~

于是乎查了一下本机的 gcc 版本是 7.3,猜测可能是 gcc 的新版本导致了这个问题,Google 了一下发现果然有这个 Bug,也有人放出了解决方案,这里具体说一下。 想看更多?点我点我 “解决 Ubuntu 18.04 使用 gcc 7 版本导致编译安装 libmemcached 失败的问题”