本人從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