Lighttpd – компактный веб-сервер, спроектированный с прицелом на максимальную эффективность при минимальных затратах ресурсов. Его архитектура изначально ориентирована на работу в условиях ограниченной оперативной памяти и невысокой вычислительной мощности. Это позволяет обслуживать большое количество одновременных соединений без существенной нагрузки на систему. За счёт неблокирующей модели обработки запросов и аккуратного управления ресурсами Lighttpd обеспечивает быструю отдачу контента и стабильную работу даже на слабых или нагруженных серверах. Благодаря этим качествам его нередко выбирают для размещения небольших сайтов, обслуживания HTTP-интерфейсов и API, а также в качестве фронтенд-слоя, который принимает входящий трафик и перенаправляет его ко внутренним приложениям или другим серверам.
Lighttpd нередко рассматривают в качестве замены более тяжёлым решениям вроде Nginx или Apache в ситуациях, где на первый план выходит экономия системных ресурсов и предсказуемость поведения сервера. Lighttpd выбирают, когда важно свести потребление оперативной памяти к минимуму, избежать сложной и разветвлённой конфигурации и получить устойчивую работу при большом количестве одновременных запросов. Особенно хорошо Lighttpd проявляет себя в задачах, связанных с быстрой раздачей статического контента и обслуживанием API, где требуется высокая скорость отклика без лишней нагрузки на инфраструктуру.
В статье разберём, как установить Lighttpd на VPS, работающий под управлением CentOS Stream 10 или Rocky Linux 9.
Как установить Lighttpd на CentOS Stream 10 и Rocky Linux 9
В стандартных репозиториях CentOS и Rocky Linux пакет Lighttpd отсутствует. Для его установки необходимо подключить EPEL (Extra Packages for Enterprise Linux) – дополнительный репозиторий с расширенным набором серверного программного обеспечения. Чтобы подключить EPEL, выполните команду:
$ sudo dnf install epel-release
По окончании установки репозиторий EPEL будет автоматически подключён и готов к использованию. Следующей командой запустите инсталляцию Lighttpd:
$ sudo dnf install lighttpd
Чтобы убедиться в успешном завершении установки, проверьте версию веб-сервера:
$ lighttpd -v

Затем запустите службу, созданную для управления Lighttpd, через систему инициализации:
$ sudo systemctl start lighttpd
Установите службу в автозагрузку, чтобы она могла автоматически запускаться вместе со стартом системы:
$ sudo systemctl enable lighttpd
Проверьте корректность работы службы через вывод её текущего состояния:
$ systemctl status lighttpd
Если сервис функционирует штатно, вывод команды не должен содержать сообщений об ошибках.

При этом в Rocky Linux веб-сервер может вывести предупреждение о потенциально небезопасной конфигурации IPv6. Выглядит оно примерно следующим образом:
(network.c.389) warning: please use server.use-ipv6 only for hostnames, not without server.bind / empty address; your config will break if the kernel default for IPV6_V6ONLY changes
Это означает, что в конфигурации Lighttpd включён параметр server.use-ipv6 = "enable" и при этом не задан параметр server.bind. В данном случае веб-сервер предупреждает о некорректной схеме привязки сокета. И при определённой конфигурации Lighttpd может слушать только IPv6, из-за чего доступ по IPv4-адресу может не работать. Проверить, какие порты и сетевые интерфейсы находятся в состоянии прослушивания, можно с помощью команды:
$ ss -tlpn
В нашем случае в выводе команды присутствует строка, указывающая на прослушивание порта 80 по IPv6 (HTTP), однако запись о прослушивании этого же порта по IPv4 отсутствует.

Чтобы исправить ситуацию, откройте конфигурационный файл Lighttpd:
$ sudo vi /etc/lighttpd/lighttpd.conf
Отключите IPv6, для чего установите в параметре server.use-ipv6 значение disable.
server.use-ipv6 = "disable"
Закройте файл с сохранением изменений, после чего перезапустите службу lighttpd:
$ sudo systemctl restart lighttpd
Настройка брандмауэра и проверка работоспособности Lighttpd
Чтобы можно было проверить работоспособность самого Lighttpd, откройте доступ к серверу для протокола HTTP. Для этого добавьте в брандмауэр Firewalld разрешающее правило для данного протокола:
$ sudo firewall-cmd --permanent --add-service=http
Чтобы добавленное правило вступило в силу, перезапустите конфигурацию брандмауэра:
$ sudo firewall-cmd --reload
После чего откройте браузер и перейдите по ссылке http://X.X.X.X, где замените X.X.X.X на IP-адрес вашего VPS.

Браузер должен вывести стандартную тестовую страницу, предназначенную для первичной проверки работоспособности сервера. Отображение данной страницы означает, что веб-сервер Lighttpd установлен и корректно функционирует.
