Мы — долго запрягаем, быстро ездим, и сильно тормозим.

FreeBSD
  настройка
  подсчёт трафика
  программы
  почтовые системы
  Шелезяки
  Мелочи
  Файловая система
  WWW
  hosting
  mod_gzip
  mod_log_sql
  mod_geoip
  mod_bandwidth
  mod_accounting
  mod_bunzip2
  mod_mp3
  mod_shapvh
  mod_limitipconn
  mod_sqlinclude
  mod_auth_imap
  webalizer
  Apache + SSL
  auth_ldap
  Настройка AWStats
  apache 2.0
  mod_auth_external
  CMS - TYPO3
  phpBB-2/3
  mod_ntlm
  mod_ntlm2
  Nginx+php+fcgi
  OTRS на Apache1
  OTRS на Apache20
  ApacheStats
  mod_evasive
  Lighttpd
  nginx+php-fpm+mysql
  php + mssql
  MySQL + кодировки
  svn+apache+trac
  php5-oci8
  Lighttpd + Apache
  CMS Drupal 6.9
  Apache22+MySQL
  Оптимизация хоста для CMS
  блокировка spam на www
  PostgreSQL 8
  Apache 22 + PHP5 + suPHP
  lighttpd + mod_uploadprogress
  VirtualBox + phpVirtualBox
  DNS API
  Security
  system
  Games Servers
  X11
  Programming
Очумелые Ручки
OpenBSD
Cisco


www.lissyara.su —> статьи —> FreeBSD —> WWW —> Lighttpd

Lighttpd + FastCGI

Автор: AlkoGekS.


Сидя на работе, решил заморочиться и перевести всё с Apache на Lighttpd, так как слышал про него много хороших отзывов, плюсами из которых в первую очередь была быстрота. Ну и к тому же по статье Лиссяры у меня почему то не получилось завести FastCGI на Apache =) Значить сам Бог велел.
Итак приступаем. Ставить соответственно будем из портов.
Перед этим не забываем обновить их, так как совсем недавно версия сервера была обновлена.

#portsnap fetch update

Обновились, следующим шагом переходим в папку с сервером и устанавливаем его.

lexx# whereis lighttpd
lighttpd: /usr/ports/www/lighttpd
lexx# cd /usr/ports/www/lighttpd && make install clean

Вылезает окошко с опциями, я поставил его без опций: "IPV6, OPENLDAP, OPENSSL, VALGRIND, WEBDAV"
Все остальное выбрал.

После окончания установки лезем править конфиг

lexx# cd /usr/local/etc/
lexx# cp ./lighttpd.conf.sample ./lighttpd.conf
lexx# ee ./lighttpd.conf

Сразу бросается в глаза то, что сам конфигурационный файл не такой уж и большой как к  примеру файл апача.
Еще одно мое наблюдение: Некоторые опции отсутвствую в примерах, например для mod_alias. Но все по порядку.
Привожу свой файл lighttpd.conf который полностью рабочий (только опции которые важны для работы, все остальное у меня закоментировано):

## список всех модулей
server.modules              = (
                                "mod_rewrite",
                                "mod_redirect",
                                "mod_alias",
                                "mod_access",
#                               "mod_cml",
#                               "mod_trigger_b4_dl",
#                               "mod_auth",
#                               "mod_status",
#                               "mod_setenv",
                                "mod_fastcgi",
#                               "mod_proxy",
#                               "mod_simple_vhost",
#                               "mod_evhost",
#                               "mod_userdir",
#                               "mod_cgi",
#                               "mod_compress",
#                               "mod_ssi",
#                               "mod_usertrack",
#                               "mod_expire",
#                               "mod_secdownload",
#                               "mod_rrdtool",
                                "mod_accesslog" )

## Алиасы сервера: к примеру http://www.mysite.ru/phpmyadmin/
alias.url += ( "/phpmyadmin/" => "/usr/local/www/phpMyAdmin/" )

## Корневая папка сервера
server.document-root        = "/usr/local/www/"

## Лог ошибок. Автоматически не создается
server.errorlog             = "/var/log/lighttpd.error.log"

# Пример http://www.mysite.ru/index.php
index-file.names            = ( "index.php", "index.html",
                                "index.htm", "default.htm" )

## Где то читал что это важная опция =)
server.event-handler = "freebsd-kqueue"

# Расширения
mimetype.assign             = (
  ".pdf"          =>      "application/pdf",
  ".sig"          =>      "application/pgp-signature",
  ".spl"          =>      "application/futuresplash",
  ".class"        =>      "application/octet-stream",
  ".ps"           =>      "application/postscript",
  ".torrent"      =>      "application/x-bittorrent",
  ".dvi"          =>      "application/x-dvi",
  ".gz"           =>      "application/x-gzip",
  ".pac"          =>      "application/x-ns-proxy-autoconfig",
  ".swf"          =>      "application/x-shockwave-flash",
  ".tar.gz"       =>      "application/x-tgz",
  ".tgz"          =>      "application/x-tgz",
  ".tar"          =>      "application/x-tar",
  ".zip"          =>      "application/zip",
  ".mp3"          =>      "audio/mpeg",
  ".m3u"          =>      "audio/x-mpegurl",
  ".wma"          =>      "audio/x-ms-wma",
  ".wax"          =>      "audio/x-ms-wax",
  ".ogg"          =>      "application/ogg",
  ".wav"          =>      "audio/x-wav",
  ".gif"          =>      "image/gif",
  ".jar"          =>      "application/x-java-archive",
  ".jpg"          =>      "image/jpeg",
  ".jpeg"         =>      "image/jpeg",
  ".png"          =>      "image/png",
  ".xbm"          =>      "image/x-xbitmap",
  ".xpm"          =>      "image/x-xpixmap",
  ".xwd"          =>      "image/x-xwindowdump",
  ".css"          =>      "text/css",
  ".html"         =>      "text/html",
  ".htm"          =>      "text/html",
  ".js"           =>      "text/javascript",
  ".asc"          =>      "text/plain",
  ".c"            =>      "text/plain",
  ".cpp"          =>      "text/plain",
  ".log"          =>      "text/plain",
  ".conf"         =>      "text/plain",
  ".text"         =>      "text/plain",
  ".txt"          =>      "text/plain",
  ".dtd"          =>      "text/xml",
  ".xml"          =>      "text/xml",
  ".mpeg"         =>      "video/mpeg",
  ".mpg"          =>      "video/mpeg",
  ".mov"          =>      "video/quicktime",
  ".qt"           =>      "video/quicktime",
  ".avi"          =>      "video/x-msvideo",
  ".asf"          =>      "video/x-ms-asf",
  ".asx"          =>      "video/x-ms-asf",
  ".wmv"          =>      "video/x-ms-wmv",
  ".bz2"          =>      "application/x-bzip",
  ".tbz"          =>      "application/x-bzip-compressed-tar",
  ".tar.bz2"      =>      "application/x-bzip-compressed-tar",
  # default mime type
  ""              =>      "application/octet-stream",
 )

## Лог доступа. Тоже не создается автоматически, следовательно создаем вручную
accesslog.filename          = "/var/log/lighttpd.access.log"

# Расширения для fastcgi
static-file.exclude-extensions = ( ".fcgi", ".php", ".rb", "~", ".inc", ".pl", ".yml" )

## Пид-файл сервера
server.pid-file            = "/var/run/lighttpd.pid"

# Виртуальные директории
$HTTP["host"] == "www.mysite.su" {
server.document-root = "/usr/home/Mysite/public_html/"
server.error-handler-404 = "/index.php?error=404" }

$HTTP["host"] == "www.mysite2.ru" {
server.document-root = "/usr/home/Mysite2/public_html/mysite2/"
server.error-handler-404 = "/index.php?error=404"}

## Просмотр пустых директорий
dir-listing.activate       = "enable"

## Пользователь, от которого работает сервер
server.username            = "www"

## Группа, от которой работает сервер
server.groupname           = "www"

## Конфигурация FastCGI (не забываем установить сам php)
fastcgi.server = ( ".php" =>( "localhost" =>
                ( "socket" => "/tmp/fcgi",
                     "max-procs" => 2,
                     "bin-environment" => (
                       "PHP_FCGI_CHILDREN" => "4",
                       "PHP_FCGI_MAX_REQUESTS" => "100"
                     ),
                "bin-path" => "/usr/local/bin/php-cgi",
                "broken-scriptfilename" => "enable"
)
)
)

Ну и напоследок, ресурсов стало кушать все это хозяйство намного меньше, работает тоже быстренько. Так что удачи :)



Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?t=11017.

размещено: 2008-03-21,
последнее обновление: 2008-03-22,
автор: AlkoGekS

оценить статью:

PbIXTOP, 2008-03-23 в 15:23:47

Все хорошо, но как заставить Lighttpd обрабатывать хосты от имен различных пользователей, чтобы повысить безопасность работы

barsykoff, 2008-06-10 в 16:28:36

to PbIXTOP:
http://trac.lighttpd.net/trac/wiki/Docs%3AModAuth

gx, 2009-02-14 в 3:07:26

server.event-handler = "freebsd-kqueue"
так что это за опция?))

во, 2009-07-24 в 18:55:58

почему то не работают php файлы. вчем проблема подскажет ктонить?

xakep, 2009-11-09 в 1:16:19

статья говно полно недачётов пора бы давно обновить ничего не работает !!

AlkoGekS, 2010-12-10 в 13:16:16

To xakep: Не работает - виновата кривизна рук! Напиши лучше статью, я не против.

вася, 2015-03-27 в 22:57:51

Пошли играть в контру


Оставьте свой комментарий:
Ваше имя:   *
e-mail:  
жирный
наклонный
подчёркнутый
ссылка
цвет
Нынешний год:   *
 


Хостинг HOST-FOOD

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
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS

Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT

В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat

Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp

Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration

Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster

HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS

История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire

Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
2011-01-28, Капитан
Температура в серверной

Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
2011-01-21, m4rkell
Syslog server

Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
2011-01-07, lissyara
Canon/gphotofs

Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
2010-12-13, Al
IPSec

Описание принципов работы IPSEC и способов аутентификации.
2010-12-07, manefesto
FreeBSD on flash

Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
2010-12-05, Fomalhaut
root ZFS, GPT

Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
2010-09-05, Cancer
Настройка аудиоплеера на ximp3

Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
подписка

    вверх      
Статистика сайта
Сейчас на сайте находится: 10 чел.
За последние 30 мин было: 31 человек
За сегодня было
55 показов,
6 уникальных IP
 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0633 секунд
Из них PHP: 41%; SQL: 59%; Число SQL-запросов: 86 шт.
Исходный размер: 113126; Сжатая: 20080