本人从2007年开始使用MediaWiki,已经有10多年的经验,最开始使用的时候是非常赞同Wiki的理念、非常佩服Wikipedia,可惜在国内Wiki网站的发展并不好,后来我逐步把建站平台改为Drupal了,但以前MediaWiki建成的网站还在一直维护,例如:查号吧、邮编库、繁体实用查询等,访问量也都还不错、不断更新,也把一些MediaWiki使用经验记录在本博客中。

很早前开始使用MediaWiki的时候就听说了MemCache,但一直没有用过,直到前几个月下力气做Drupal优化,才安装尝试了Memcache,果然是效果明显,对数据库的压力下降了很多,命中率在80%左右,这样即使安装在单台服务器上,也会让该服务器的负载下降不少。当时记录了一篇博客《Drupal单服务器设置Memcache缓存》。
而Memcache的典型应用其实是部署在专门的缓存服务器上,我曾经看过Wikipedia的服务器拓扑图,缓存服务器的数量还不少。我们近期在准备撤掉部分以前的独立服务器转用云平台,所以在试用阿里云的时候留意了有专门的开放缓存服务O
以前做wiki网站的时候,在MediaWiki官方网站看到过设置Wiki Farm或者Wiki Family的办法,也就是把多个wiki站点共享一套MediaWiki程序,但设置起来有些不太方便(Drupal是默认就支持这种共享设置的),就一直没有采用,而是每增加一个站点就单独用一套MediaWiki安装程序。即使后来扩展了多语言、手机版也是如此,所以一台服务器上如果有几十个wiki站点的话,就用几十套程序,显得比较乱,每次修改什么地方,需要批量处理或者逐个处理。现在用了APC加速PHP后,几十套内容几乎一样的程序对内存的占用也很大,需要精简合并。
经过一些天的尝试,
MediaWiki的升级并不轻松,因为我们已有的网站都有不少地方采用了特别的扩展程序、进行了特别设置、甚至进行了源程序的改动,所以有不少细节需要检查、修复和改进,这次时隔4年后进行1.16.0到1.23.5的升级也遇到好些问题,下面进行记录。
上周已经将一个测试站点从1.16.0升级到1.23.5,后面将陆续升级其它网站,步骤记录如下:
这一部分是每次升级都一样的:
自从2010年底转向Drupal平台后,对MediaWiki就关注少了,老网站只是维护,平台升级也一直没有做过。这一说就过去差不多4年了,MediaWiki还是用的1.16.0,中间接到过升级的邮件列表提示都没有时间去管,用百度站长工具中的漏洞扫描发现网站系统过时、有安全漏洞也顾不上去修补,勉强这样维持着,除了部分网站的发帖巡查、留言回复以外,最多只是做部分扩展程序(例如Form)的添加调整、垃圾信息的屏蔽等简单工作。
不过这终究也不是办法,只要MediaWiki做的网站还在继续用,迟早还是需要花一些时间精力去做升级维护,除非彻底废弃以前的Wiki网站或者设法迁移
今年6月份以后Google在中国大陆就完全无法访问了,搞得我们以前嵌入过Google地图、Google搜索等API代码的网站也打开困难,用Google DFP投放的AdSense广告也收益下降、匹配变差,前一阵子不得已把放在国内服务器上的中文网站进行了一轮修改,全面用百度相应的产品百度地图、百度搜索、百度联盟、百度广告管家等软件来替换Google的产品。
Drupal网站中的查找和修改比较容易,而MediaWiki网站就麻烦一些,一些页面和模板都是很多年前设置的,难以记忆,Wiki原代码中的HTML代码也无法通过Wiki搜索直接找到。后来找了一个直接在数据库中
最近想把一些下载到的Word或者PDF文档放置到以前的MediaWiki网站中去,格式转换有些麻烦,网上可以找到一些工具,但似乎都不是很适合我来用。
Word文档可以另存HTML文件(使用过滤的HTML格式可以去掉图片等附加文件),但打开HTML查看源文件会发现大量字体css代码需要清理。
我想尝试搞个PHP小程序来进行过滤,如下:
<?php /* * input的html内容简化到output1,然后转成mediawiki格式的output2 * James Qi 2013-11-10 */ if (isset($_POST['i
前几年一直用MediaWiki,从2006年到2010年,在2011年初改用Drupal后,以前的Wiki网站就基本上停止了更新,MediaWiki的版本也停在了1.16,后来还遇到不少网友站长咨询这方面的事情,我也只好告诉对方后面的版本我都不熟悉了。
虽然网站平台停止了更新,但运用还在继续,除了把一些站的留言关闭外,还是有几个历史悠久的网站保留了用户留言、交互的功能,依然需要解决一些遗留的小问题。近期花了一些时间来解决下面几个问题,记录如下:
这两年国外的垃圾信息没有停,间隔着几天发几条、几十条,挺讨厌的,但又没有到必须用技
从用MediaWiki做网站开始,服务器负载一直就是个问题,为了解决这个问题,我们添加了各种缓存,如MediaWiki的多种缓存机制,包括File Cache,也加上了外部的Squid。后来做Drupal网站并不需要Squid,但因为服务器上已经安装了Squid,我们也只好把Drupal架设在Squid之后,另外Drupal也采用了内部core缓存和Boost缓存。
这些缓存机制可以解决不少问题,但缓存主要对数据量小、每页访问多的网站有明显效果,而对于数据量很大、每页访问少的网站起不到明显效果,有时甚至因为缓存文件过多起到反效果,而且缓存更新机制也有些小问题。
前几年用MediaWiki平台来搭建网站,曾经使用中文简体、繁体自动转换的办法来做出MediaWiki克隆繁体版,方便港澳台及海外华人浏览访问,效果还不错。
去年又使用不同的皮肤文件来实现了MediaWiki网站的手机版,适应手机上网、平板电脑的发展趋势,同样得到了预期效果。
也想过把自动转换的繁体版再加上手机版,但一直没有去实现,这几天把四个主要的站点做了这个工作:
2002-2023 v11.7 a-j-e-0