經常導致伺服器停止回應的狀況,差點連我都無法遠端登入
最後終於狠下心,把 apache2 換成了 lighttpd
轉換的過程並不順利,需要若干小設定修改,mediawiki 才能正常運作
我總共改了:
/etc/lighttpd/lighttpd.conf
按照 MediaWiki 官方網站上提供給 Lighttpd 的設定說明,
開啟 mod_rewrite 和 mod_redirect,寫下給 mediawiki 的 rewrite 設定
假設 mediawiki 是放在名為 w 的這個目錄下
server.modules = (
"mod_access",
"mod_alias",
"mod_accesslog",
"mod_rewrite",
"mod_redirect",
"mod_evasive"
)
## 限制每個 ip 的連線數,使用 mod_evasive
evasive.max-conns-per-ip=2
## For MediaWiki
url.rewrite-once = (
"^/$" => "/w/index.php",
"^/wiki/([^?]*)(?:\?(.*))?" => "/w/index.php?title=$1&$2"
)
#url.redirect = (
# "^/(?!w|wiki|robots\.txt|favicon\.ico)(.*)" => "/wiki/$1"
#)
/etc/php5/cgi/php.ini
加入一行給 lighttpd 的設定
; For Lighttpd
cgi.fix_pathinfo = 1
開啟 lighttpd 的 fast-cgi
# lighty-enable-mod fastcgi
又裝上了 xcache 這個 php 加速器
抓下 xcache 的 source code,之後 apt-get install php5-dev
接著解開 source tarball,進入 xcache 目錄
執行
# phpize
./configure
# make install
最後修改
/etc/php5/cgi/conf.d/xcache.ini
把 xcache.size 設定成想要的大小
然後修改了 mediawiki 的 LocalSettings.php
$IP = "/var/www/w";
$wgArticlePath = "/wiki/$1";
$wgScriptPath = "/w";
終於大功告成,mediawiki 順利在 lighttpd 上運作了。