Nginx, простой и быстрый HTTP сервер и почтовый прокси сервер.
Его автор, Игорь Сысоев, ведет очень активную разработку.
Cоздать простой HTTP сервер для отдачи статики очень просто.
Пример простого конфига:
user www; #Пользователь от которого будет работать nginx
worker_processes 1; #количество процессов которые будут обслуживать запросы клиентов
error_log /var/log/nginx/nginx-error.log; #Лог файл в которые будут выводится записи об ошибках
pid /var/run/nginx.pid; #Место где сохраится PID
events {
use kqueue; #Это метод обслуживания соединений,
#под современными FreeBSD
#kqueue самый быстрый метод
worker_connections 1024; #Количество оденовременных соединений,
#которые будет обслуживать 1
# рабочий процесс(worker)
}
http { #Тут начинается описание части непосредственно
#отвечающей за HTTP
include mime.types; #Файл в котором описаны все возможные MIME
#types(типы документов),
#возвращаемые в заголовке
default_type application/octet-stream; #Mime type,
#который возвращается по умолчанию(в случае,
#если описание в файле не найдено
log_format main ‘$remote_addr — $remote_user [$time_local] $request ‘
‘»$status» $body_bytes_sent «$http_referer» ‘
‘»$http_user_agent» «$http_x_forwarded_for»‘; #Определяем формат
#log файла
server { #Тут начинается конфигурация
#виртуального сервера
listen 89.252.34.107:80 default; #Тут определяется на каком
#ip и порту слушает наш сервер
server_name hilik.org.ua www.hilik.org.ua; # Имена на которые
#откликается наш сервер
access_log /var/log/nginx/hilik.org.ua-access.log main; #путь к файлу
#и формат
# в котором логируются все запросы к серверу
location / { #Мощный механизм
#в nginx, устанавливает конфигурацию
#сервера в соответствии с URI
#запроса, что очень удобно
#location можно описывать
#регекспом
root /home/www/htdocs/hilik.org.ua; #Описывает корневой
#каталог сервера
autoindex on; #Директива разрешает выводить
#список файлов в случае отсутствия
#индекса
index index.html; #Индексный файл сервера
}
}
}
Приведенная конфигурация, позволяет запустить в работу простой вебсервер. На сегодняшний день, не смотря на то, что не вышла версия 1.0 nginx, он все больше и больше набирает популярность. Релиз 1.0 Игорь Сысоев обещает выпустить к тому моменту, когда полностью определится с API сервера.
Самые сильные стороны nginx проявляются в роли проксирующего сервера, обеспечивающего отказоустойчивость и балансировку нагрузки.
Мое личное мнение — не в версиях счастье. Главное, что nginx позволяет решать задачи, которые с помощью других инструментов(apache, lighthttpd) решить намного сложнее.