|
|
www.lissyara.su
—> статьи
—> FreeBSD
—> WWW
—> Lighttpd + Apache
Lighttpd + Apache
Автор: helloworld.
Был сервер с виртуалхостами на обычной связке 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
| 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://forum.lissyara.su/viewtopic.php?f=8&t=15302.
размещено: 2009-02-10,
последнее обновление: 2009-02-10,
автор: helloworld
|
|
|
|
2014-07-27, lissyara
gmirror
Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9
Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту
Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis
Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
|
Статистика сайта
|
Сейчас на сайте находится: 9 чел.
|
За последние 30 мин было: 45 человек
|
За сегодня было 7800 показов, 866 уникальных IP
|
|
|
|
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
|
|
|
Комментарии пользователей [1 шт.]