






















CWoW Developer Group(CWDG)从2006年开始在一直使用 MoinMoinWiki 来构建一个魔兽世界游戏插件开发技术知识库, 这2年中wiki的版本也从1.5变更到了1.7.
moin1.6是一个变化最大的版本, 连不少wiki语法都改变了, 最显著的莫过于内连接的语法原先是["xxx"]现在与mediawiki一致了[[xxx]], 还有不少细节语法的改变, 这不知是一件好事还是坏事, 好事是和mediawiki大多语法兼容了方便内容移植, 坏事是googlecode的wiki还是在使用moin的老语法, 而且看起来来google并不打算向mediawiki类语法兼容而是继续保持下去这个风格. 但总之就是引起的1.5~1.6的升级困难, 除了常规步骤外需要做数据转换工作, 虽然moin提供了转换脚本. 时隔大半年我也忘记了当初是如何升级上来了, 惭愧, 只好在此介绍一些通用的优化与维护的经验. 适用环境: DreamHost, Linux.
一个好的站点目录结构设置能够使升级, 备份, 移植都非常方便. 这里仅以单wiki站点为例(moin支持多wiki站点). 目标是把我们的数据与wiki程序分离开.
一个安装好wiki(如何安装参考我以前的文章)通常包含4个部分
出于安全考虑, 把wiki实例部分放到了非web目录下, 这样除了1部分其余部分都会包含我们自己的数据, 需要做进一步整合.
#程序主目录
/lib/lib/python2.5/site-packages/MoinMoin
#共享资源目录
/lib/share/MoinMoin
/config
/data
/htdocs (主题目录)
/server
/underlay (在线帮助文件目录)
#wiki实例
/MoinMoin
/cwdgwiki (wiki实例目录)
/data
/pages (wiki数据)
/plugin (自定义扩展插件目录)
/user (此wiki下的用户目录)
...
/underlay
wikiconfig.py (此wiki实例的配置文件)
logconfig (此wiki实例的log配置文件)
#web目录
/wiki.cwowaddon.com
/theme (主题目录)
/img (其他图片文件目录)
moin.fcgi (web入口程序)
.htaccess
需要调整的地方集中在共享资源目录中.
data_underlay_dir = '/MoinMoin/cwdgwiki/underlay/' url_prefix_static = '/theme'
其余部分都是些模板文件, 不会被实际引用到, 因此可以把这个共享资源目录删掉了. 这下只留下了2部分我们自己的文件一部分是数据文件一部分是web需要的静态文件. 还有一点需要注意, 如果你对wiki写了一些自定义扩展如macro等, 一定要放在wiki实例目录下的plugin中. 日后升级只需要把wiki主程序删掉重新装一次就ok了.
性能永远是我们关注的主题, 在dreamhost的cgi模式下wiki的速度可以用龟速来形容, 尤其在升级到1.7后使用cgi每个页面需要50s的时间, 让人无法接受. 从3个方面来进行性能优化.
xapian_search = True
xapian_index_history = False
xapian_stemming = False
xapian_index_history 代表是否从历史版本中搜索, 一般情况下不需要.
xapian_stemming 是词根时态分词作用, 中文没有, 而且在中文下会有问题, 建议不要打开.
上面2项做完后wiki性能提高近10倍.
cd /lib/lib/python2.5/site-packages/MoinMoin/script/
python moin.py --config-dir=/MoinMoin/cwdgwiki --wiki-url=http://wiki.cwowaddon.com/ maint cleanpage
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。