Установка lighttpd из исходников на FreeBSD
Lighttpd — безопасный и быстрый веб сервер который распространяется по лицензии BSD. Он оптимизирован для высокопроизводительных средах с небольшим объемом памяти по сравнению с другими веб-серверами, служит для эффективного управления CPU-нагрузки из расширенным набором функций (FastCGI, SCGI, Auth, Output-Compression, URL-Rewriting и многие другие).
Lighttpd — является идеальным решением для сервера который страдает от проблем с нагрузками на него.
Скачаем lighttpd в виде исходного кода, на момент написания статьи последняя версия была— lighttpd-1.4.34 и можно скачать ее:
# wget http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.34.tar.gz
Распакуем ее:
# tar zxvf lighttpd-1.4.34.tar.gz
Перейдем в распакованную папку и начнем сборку lighttpd:
# cd lighttpd-1.4.34 # ./configure --prefix=/usr/local/lighttpd # make # make install
Добавим в автозагрузку процесс:
# echo 'lighttpd_enable="YES"' >> /etc/rc.conf
Скопируем пример конфига, потом мы его подправим:
# cd /usr/local/etc/ # cp lighttpd.conf.sample lighttpd.conf
Нужно отредактировать файл конфигурации lighttpd.conf.
lighttpd.conf
#Перечисляем модули, которые будет подгружать при старте lighttpd
server.modules = (
"mod_rewrite",
"mod_redirect",
"mod_alias",
"mod_access",
"mod_setenv",
"mod_accesslog" )
#Документ рут по умолчанию
server.document-root = "/usr/local/www/data/"
#Описываем лог файл куда будут писаться ошибки
server.errorlog = "/var/log/lighttpd.error.log"
#Установка lighttpd из исходников на FreeBSD
#Имена файлов, которые будут отдаваться по умолчанию, если имя файла не задано в запросе
index-file.names = ( "index.php", "index.html",
"index.htm", "default.htm" )
#Метод обработки запросов
server.event-handler = "freebsd-kqueue"
#Сопоставление MIMEType расширениям файлов
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",
)
#Идентификатор сервера
server.tag = "lighttpd"
#Файл для записи обработанных запросов
accesslog.filename = "/var/log/lighttpd.access.log"
#Запрещенные для отдачи имена файлов
url.access-deny = ( "~", ".inc" )
#Расширения файлов которые надо отдавать на обработку FastCGI процессам
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
#Принимаем запросы на 80-м порту
server.port = 80
#IP адрес на котором принимаем запросы
server.bind = "192.168.77.136"
#PID файл
server.pid-file = "/var/run/lighttpd.pid"
#Устанавливаем документ рут в зависимости от имени хоста
$HTTP["host"] == "192.168.77.136" { server.document-root = "/home/captain/www/" }
$HTTP["host"] == "192.168.77.136" { server.document-root = "/home/captain/www/" }
#Пользователь и группа от имени которых работает lightttpd
server.username = "www"
server.groupname = "www"
Создадим каталог и в нем будем хранить все логи по серверу:
# mkdir /var/log/lighttpd # touch /var/log/lighttpd/lighttpd.error.log # touch /var/log/lighttpd/lighttpd.access.log # chown www:www /var/log/lighttpd # chown www:www /var/log/lighttpd/lighttpd.error.log # chown www:www /var/log/lighttpd/lighttpd.access.log
Нужно отредактировать lighttpd.conf чтобы использовать логи, если Вы еще это не сделали раньше:
* server.errorlog = "/var/log/lighttpd/lighttpd.error.log" * accesslog.filename = "/var/log/lighttpd/lighttpd.access.log"
Запустим сервер lighttpd:
# service lighttpd start
Проверяем старт:
# ps -ax | grep lighttpd
Установка lighttpd из исходников на FreeBSD закончена. Если есть вопросы пишите.
Серьезно, ты сумел их подружить? И оно работает?
That kind of thinikng shows you’re an expert