以前为了在MediaWiki网站上实现AMP版本和MIP版本可是费了不少力气,更早是用Vector做电脑版、WPtouch做手机版,然后用一个简单的Modern皮肤改为了AMP的皮肤,再后面又复制到MIP皮肤。
应该来说我们做AMP、MIP版本算是很快的,也找住了一波流量红利,但百度在把重点转向熊掌号后(再之后熊掌号也被放弃了,重点转向智能小程序),MIP慢慢淡化了,后来又取消了MIP的CDN缓存,沦为可有可无的东西。再就是我们网站自己开始采用免费或付费的CDN后,AMP的搜索引擎缓存优势也不明显了,反而是限制了我们网站的一些功能、维持一个版本增多了开发工作量。
去年我们将EmojiAll网站接入了CloudFlare,这个网站是用Drupal来搭建的,也遇到一些清除缓存等小问题,都是同事们逐步发现、逐步解决。最近陆续接入了其它一些域名,我也多花了一些时间来了解,下面记录一些要点。
先去网上搜了相关关键词,发现Drupal有一个专门的CloudFlare模块,其主要功能是:
- 显示访问者真实IP地址,而不是代理服务器的IP地址;
除了安装这个模块以外,Drupal 7还需要在settings.php中添加:
if (isset($_SERVER
去年10月我们在 www.emojiall.com 开启了CloudFlare的缓存和防护功能,当时用的免费到,直到今年才改为了付费的专业版,中间也摸索了很多地方。对我们来说最大的问题是不支持中国节点,也就是说中国浏览者还是需要访问放在国外的服务器上缓存内容。
于是我们也在寻找合适的国内CDN服务商,以前曾经尝试过阿里云的CDN、全站加速,这次从CloudFlare网站中的帮助文件看到百度云加速是他们在中国的合作伙伴,也提供免费套餐,于是就去看了看,发现百度云加速与CloudFlare有很多相似之处。
首先那我的个人博客作为接入百度云加速的首个尝试
我们使用的MediaWiki和Drupal都支持LAMP架构,安装包中都带有一个默认的.htaccess来支持Apache的设置,我们虽然以前也看过文章建议有服务器完整权限的用户不要用.htaccess而是使用httpd.conf,但为了修改.htaccess随时生效就偷懒没有把.htaccess中的设置迁移到httpd.conf中。
最近把几台国外服务器从8核CPU、16G内存升级为12核高主频CPU、48G内存,在花钱添置硬件性能的同时,也考虑到通过其它软件的办法来让网站访问更快,找了几篇文章:
- Apache英文官方文档:Whe
我们的Web服务器使用Apache有十年了,一直使用LAMP架构来做网站。很早也知道Nginx,据说性能上有明显优势,但怕麻烦就一直没有尝试。
最近有个网站在与某互联网大厂做合作对接,对方要求我们的API接口速度上达到99分位在300ms以内、可靠性上达到99.9%以上,我们初期测试是很难达到的,后来商议了各种措施来优化和保障,其中就说到使用一个单独的Nginx为对方提供API接口。
于是4月初就在服务器上安装了一套Nginx,测试速度还是有明显改善的,而且与其它网站使用的Apache独立开来,在稳定性上也更有保证,下面来记录一下安装和使用的一些要
我们的EmojiAll.com网站有个配套的QQ群:774842773,建站、建群后也逐渐有对Emoji感兴趣的朋友加入,现在有上百人,大家交流的也都是与Emoji有关的信息。
前些天有位朋友寻找我们网站上的表情都是不可以动的么?这位朋友也许把Emoji误认
上次MediaWiki从1.23.5和1.24.2升级到1.27.0还是在2016年,选择1.27版本的原因是这是一个长支持周期的版本,可以在3年内不用大版本升级,但在2019年也到期了,本来应该升级到1.31这个长周期版本,不过也因为时间精力顾不过来而没有进行,到2020年的1.35又是一个新的长周期版本,我们2020年10月就进行了测试,后来人手不足搁置了一段时间,现在2021年3月再次回头来进行,终于是把剩下的小问题逐步解决,然后升级网站可以推出了,下面来记录一下需要进行的工作。
首先到MediaWiki官方网站,下载最新稳定版本,阅读1.35的发布说明,还需要
CDN是一个很老的概念了,印象中是很贵、只有大型网站负担得起,国内也有一些服务商提供免费的试用,很久前用过国内一个不知名的免费CDN(名字都忘记了),后来也用过阿里云的CDN免费试用,然后转成收费的(只用了一个很小的网站,流量很低,所以收费也很少)。
听说国外的CF (Cloudflare)提供免费CDN有几年了,不过一直都没有试用,去年我们把EmojiAll这个站放到了CF上,大约可以缓存30%-40%的访问,有一定的效果,尝试付费却没有支付成功,就一直用的免费版本。
我们EmojiAll.com这个网站算是做得很精细、逻辑有些复杂,各种数据库调用很多,不过因为数据库服务器采用阿里云RDS、负载不算很高,所以速度上还是可以的,前期主要注重功能,没有太注意性能优化。
最近因为ECS服务器搬家,发现新服务器的内网带宽比以前增加很多倍,然后打开Drupal的Devel模块查看数据库调用情况,发现sql语句非常多,一个典型页面调用sql语句达到800条之多,内容很多的页面sql语句超过4000条,虽说都还是可以在几秒内打开,但对于有优化强迫症的人来说,显然是无法忍受的。😖
以前其实想过要通过Memcache这种键值对缓存
维基百科应该说是人类知识的宝库,各种语言的词条都是成千上万人参与编辑的结果,而且也都是免费提供给全世界查看。我们的一些网站以前加上了维基百科的词条了解,但还没有嵌入过其内容,这次想到用Wikipedia的API来获取摘要信息,直接放在网站中供人观看。
Wikipedia是用MediaWiki软件搭建的,这里有API的介绍:API:Main page - MediaWiki(也有API中文介绍,但其中很多内容没有翻译,最好还是直接看英文的)。
我们目前全都是查询信息,也就是Query动作,主要用到三个接口:
- 重定向