Документация по ОС FreeBSD Воскресенье, 28.04.2024, 09:20
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Apache [58]
DNS [25]
FTP [27]
Mail [74]
Samba [24]
Squid [46]
SSH [23]
VPN [35]
РРР [20]
Net [173]

Главная » Статьи » Сеть » Apache

Lighttpd + Apache [2009]
Был сервер с виртуалхостами на обычной связке Apache,PHP,MySQL.
Увы с увеличением количества виртуалхостов, Apache стал загружать систему под 100%. Но от таких вкусных вещей как mod_rewrite отказываться не хотелось.
В этой статье покажу как можно сделать связку Lighttpd + Apache. Весь статический контент сайтов (картинки, видео, музыка и т.д.) будет раздавать Lighttpd (с чем web-сервер справляется на отлично, youtube.com, wikipedia.org и др. тому пример), всю динамику (php, cgi скрипты) будем перенаправлять к Apache.

В этой статье я НЕ буду описывать как установить 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.
На пример, домен - http://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

P.S.: Я ни в коем случае не хочу устраивать Hollywar по поводу использования других связок по типу Nginx + FastCGI, Nginx frontend + Apache backend, Lighttpd + FastCGI. Каждый выбирает своё и под свои нужды.
Несколько слов о преимуществе использования описанной выше статьи Lighttpd frontend + Apache backend.
Пишет один из администраторов крупной зарубежной хостинговой компании:
Right out of the box, Lighttpd blew Apache away in terms of throughput. The problem with it is that it uses a LOT of CPU power. Durring the past high traffic event, my server was averaging around 50 hits/second while using 100% of dual - dual core Xeons. Then I came across two directives, server.event-handler and server.network-backend. You will have to set these based on your OS, as seen here , but what a difference. Once I restarted Lighttpd, I saw average traffic jump to over 125 hits/second, with a CPU time of 25% and under. What a difference! The switch to Lighttpd can be a lot of work, and a headache at times, but it’s WELL worth it for speed and performance!

Моя статья на английском.



Источник: http://www.lissyara.su/?id=1868
Категория: Apache | Добавил: oleg (12.02.2009) | Автор: helloworld
Просмотров: 1486 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024