HowTo: Lighttpd + Apache
Был сервер с виртуалхостами на обычной связке Apache,PHP,MySQL.
Увы с увеличением количества виртуалхостов, Apache стал загружать систему под 100%. Но от таких вкусных вещей как mod_rewrite отказываться не хотелось.
В этой статье покажу как можно сделать связку Lighttpd + Apache. Весь статический контент сайтов (картинки, видео, музыка и т.д.) будет раздавать Lighttpd (с чем web-сервер справляется на отлично, youtube.com, wikipedia.org и др. тому пример), всю динамику (php, cgi скрипты) будем перенаправлять к Apache.
В этой статье я НЕ буду описывать как установить Apache,php,mysql в одно единое. С настройкой можете ознакомиться в этом разделе по след статьям:
Apache2 + php5 + mod_fastcgi
Настройка хостинга под apache + PHP + MySQL
Установка и настройка Lighttpd.
# cd /usr/ports/www/lighttpd
# make install clean
# cd /usr/local/etc/
# cp ./lighttpd.conf.sample ./lighttpd.conf
# ee ./lighttpd.conf
Редактируем файл /usr/local/etc/lighttpd.conf. Так как Lighttpd будет обрабатывать только статику, настроек по минимуму:
server.modules = (
“mod_rewrite”,
“mod_redirect”,
“mod_alias”,
“mod_access”,
“mod_proxy”,
“mod_accesslog” )
Общая настройка Lighttpd описана в этой статье.
Добавим в конце файла последнее:
$HTTP["url"] =~ “^.*(html|php|cgi|/|\?|\?.*)$” {
proxy.server = (“” => ( (
“host” => “127.0.0.1″,
“port” => 8080 ) ) )
}
Все скрипты, оканчивающиея на .php,.cgi отправляем на Apache.
В конфиге Apache httpd.conf нужно всего лишь изменить следующие строки:
Listen 127.0.0.1:8080
Port 8080
На этом настройка связки закончена.
Не забудьте добавить в /etc/rc.conf: lighttpd_enable=”YES”
Если вы используете несколько виртуальных хостов в httpd.conf, то их нужно описать и в lighttpd.conf.
На пример, домен – www.domain.com
Добавим в lighttpd.conf:
$HTTP["host"] =~ “(^|\.)domain\.com$” {
server.document-root = “/usr/home/user/public_html/domain.com”
accesslog.filename = “/usr/home/user/log/access.log”
server.errorlog = “/usr/home/user/log/error.log”
}
Accesslog и Errorlog можно обрабатывать через WebAlizer, Awstats и др.
Несколько очень полезных ссылок:
1. Lighttpd and Joomla – A How To
2. Howto: Lighttpd web server setting up virtual hosting
Если есть желание поиграться с оптимизацией отдачи файлов через Lighttpd, можете поэкспериментировать со следующими настройками в lighttpd.conf:
server.max-worker=50
server.max-keep-alive-requests=250
server.max-keep-alive-idle=120
server.max-read-idle =120
Взято с lissyara.su

Leave a Reply