В один прекрасный момент я понял, что Apache на домашнем сервере - это слишком тяжело и решил поставить что-нибудь попроще и побыстрее. Мой выбор пал на lighttpd, так как у меня ранее был опыт работы с ним.
Передо мной встала задача перенести всё, что было поднято под апачем на lighttpd. А поднято было не так и много:
- Раздача локального зеркала дебиана
- веб интерфейс для торрента rtgui
- wiki-движок moinmoin
С первыми двумя я справился быстро. Публикация папки по http осуществляется просто:
alias.url += ("/debian/" => "/mnt/bkp/debian/" )
RеGui формально зависит от мета пакета http сервера, у него в зависимостях так же стоит libapache2-mod-scgi, что тянет за собой весь apache2. Но мне хочется избавиться от apache2 в системе, из-за чего я скачал дистрибутив rtgui с сайта. Для работы пакета требуется только php и scgi, php-cgi уже стоит. Для запуска пакета необходимо прописать scgi на lighttpd. Добавляем в главный конфиг загрузку mod_scgi и прописываем точку монтирования rpc от бекэнда и сам интерфейс.
alias.url += ("/rtgui" => "/var/www/rtgui")
scgi.server += (
"/RPC2" => (
"127.0.0.1" => (
"host" => "127.0.0.1",
"port" => 5000,
"check-local" => "disable",
"disable-time" => 0
)
)
)
Вот с запуском moinmoin у меня были проблемы. Сначала я думал, что где-то проблема с конфигурацией и долго вникал в тонкости работы lighttpd и moinmoin, но в конце концов увидел, что fcgi отваливается в зомби-процесс почти сразу после запуска. Прошло два дня, я сдался и включил логирование, начал изучать логи moinmoin. Оказалось, что для работы с fcgi, в отличии от wcgi, используемом в apache, не хватало пакета flup, который я и доустановил.
Итого в конфиг lighttpd было прописано
$HTTP["host"] == "wiki.home.net" {
alias.url += ("/moinstatic" => "/usr/share/moin/htdocs" )
url.rewrite-once = (
"^/moinstatic/(.*)" => "/moinstatic/$1",
"^/(.*)" => "/wiki-engine/$1"
)
fastcgi.server += (
"/wiki-engine" =>
(("socket" => "/tmp/moin.socket",
#"host" => "127.0.0.1",
#"port" => "6000",
"bin-path" => "/var/www/cgi-bin/moin.fcgi",
"check-local" => "disable",
#"fix-root-scriptname" => "enable",
"max-procs" => 4,
"docroot" => "/"
))
)
}
moin.fcgi нуждался в небольшой правке - там необходимо прописать, находится-ли wiki относительно корня или относительно некоторого пути. Было обнаружено опытным путем уже поле запуска wiki.
fix_script_name = '' #'/wiki-engine' # <-- adapt here as needed
Собственно всё. Проблемы решены, легкий и быстрый сервер работает стабильно и без нареканий.
Комментариев нет:
Отправить комментарий