Lighttpd je webový server s otevřeným zdrojovým kódem známý svým vynikajícím výkonem v mnoha prostředích. Díky nízkým hardwarovým nárokům zvládá vysoký datový provoz i na málo výkonných systémech.
Tento tutoriál poskytuje krok za krokem vysvětlení, jak nainstalovat a nakonfigurovat Lighttpd na Ubuntu 18.04 a jak maximalizovat jeho výkon aktivací komprese dat, konfigurací virtuálního hostitele a vylepšením parametrů zachování.
Nejprve se připojte k serveru prostřednictvím připojení SSH. Pokud jste tak ještě neučinili, doporučujeme se podle našeho průvodce bezpečně připojit pomocí SSH. V případě lokálního serveru přejděte k dalšímu kroku a otevřete terminál svého serveru.
Instalace Lighttpd
Nejprve aktualizujte distribuční repozitáře, abyste měli jistotu, že stáhnete nejnovější verzi Lighttpd:
$ sudo apt update
Potom pokračujte v instalaci spuštěním následujícího příkazu:
$ sudo apt install lighttpd
Po dokončení instalace je služba Lighttpd připravena k povolení a spuštění, ale nejdříve může být nutné povolit Lighttpd pro poslech také na adresách ipv4.
Otevřete konfigurační soubor v /etc/lighttpd/lighttpd.conf pomocí svého oblíbeného textového editoru (vim / nano).
Komentovaná část, která konfiguruje použití portů, se nachází uvnitř souboru:
##
## bind to a specific IP
##
server.bind = "localhost"
Potom jej upravte následovně:
##
## bind to a specific IP
##
#
server.bind = "localhost"
$SERVER["socket"] == "0.0.0.0" { }
V tuto chvíli je vše připraveno ke spuštění služby:
$ sudo systemctl start lighttpd
Službu lze také nastavit tak, aby se spouštěla automaticky při spuštění systému:
$ sudo systemctl enable lighttpd
Konfigurace brány firewall
V případě brány firewall ve vašem systému ji nastavte tak, aby povolovala provoz HTTP a HTTPS pro váš počítač.
Chcete-li povolit provoz HTTP (Port 80) a HTTPS (Port 443), použijte následující příkazy:
$ sudo ufw allow 80
$ sudo ufw allow 443
Po dokončení všech kroků otestujte provoz webového serveru na adrese http://
Kořenový adresář dokumentu
Chcete-li upravit viditelný obsah na webovém serveru, stačí změnit obsah složky / var / www / lighttpd, jak je také uvedeno v konfiguračním souboru /var/etc/lighttpd.conf:
var.server_root = "/var/www"
##
## Document root
##
server.document-root = server_root + "/lighttpd"
Další informace o konfiguračním souboru naleznete v oficiálních dokumentech o všech dostupných možnostech:https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ConfigurationOptions.
Aktivace komprese dat
Jednou z prvních optimalizací, kterou lze na Lighttpd aktivovat, je komprese dat před odesláním. To sníží spotřebu šířky pásma vašeho webového serveru a také zrychlí přenos dat.
Chcete-li aktivovat kompresi, otevřete soubor v cestě /etc/lighttpd/modules.conf.
Sekci věnovanou modulu mod_compress naleznete:
##
## mod_compress
##
#include "conf.d/compress.conf"
Pro přečtení konfiguračního souboru modulu stačí odkomentovat zahrnutí řádek a poté jej aktivovat:
##
## mod_compress
##
include "conf.d/compress.conf"
Před provozem modulu vytvořte složku, kam Lighttpd normálně ukládá komprimované soubory. takže je později neregenerovat:
$ sudo mkdir /var/cache/lighttpd
$ sudo mkdir /var/cache/lighttpd/compress
Nyní změňte vlastníka složky a udělte oprávnění Lighttpd:
$ sudo chown lighttpd:lighttpd /var/cache/lighttpd/compress/
V tomto okamžiku restartujte službu:
$ sudo systemctl restart lighttpd
Instalace virtuálního hostitele
Níže je vysvětleno, jak nakonfigurovat virtuálního hostitele pomocí příkladu fantasy domény (vasedomena.com). Nejprve si připravte potřebné adresáře pro hostování webu:
mkdir -p /var/www/vhosts/yourdomain.com/htdocs
chown lighttpd:lighttpd /var/www/vhosts -R
Pomocí výše uvedených příkazů lze vytvořit celý adresářový strom. Nyní nastavte uživatele Lighttpd jako vlastníka složek.
Normálně není Lighttpd povoleno číst konfigurace virtuálního hostitele. Pokračujte tedy v aktivaci úpravou části uvedené níže v souboru /etc/lighttpd/lighttpd.conf:
#######################################################################
##
## custom includes like vhosts.
##
#include "conf.d/config.conf"
include "/etc/lighttpd/vhosts.d/*.conf" #enable the virtual host reading
##
######################################################################
Nyní lze vytvořit konkrétní soubor pro vaši doménu v /etc/lighttpd/vhosts.d/yourdomain_en.conf:
$HTTP["host"] == "yourdomain.com" {
var.server_name = "yourdomain.com"
server.name = server_name
server.document-root = vhosts_dir + "/" + server_name + "/htdocs"
##
## use a separate access log file
## At the moment, you cannot have different error log files.
##
accesslog.filename = log_root + "/" + server_name + "/access.log"
}
Jakmile je soubor uložen, restartujte Lighttpd, abyste použili všechny změny:
$ sudo systemctl restart lighttpd
Optimalizace Keep-Alive
Vylepšení parametrů http keep-alive může pozitivně ovlivnit řízení provozu, a proto může být užitečné pro další optimalizaci výkonu Lighttpd,Výchozí parametry serveru jsou následující (přítomné v souboru / etc/lighttpd/lighttpd.conf):
server.max-keep-alive-idle = 5
server.max-keep-alive-requests = 16
server.max-read-idle = 60
server.max-fds = 2048
server.max-write-idle = 360
Výše uvedené parametry udrží 16 připojení aktivních po dobu 5 sekund, i když je klienti již nemusí používat. To by mohlo vést k vyčerpání současně otevřených soketů (uvedeno jako maximální hodnota v server.max-fds). V případě vysokého provozu může být nutné omezit tyto limity:
server.max-keep-alive-idle = 4
server.max-keep-alive-requests = 4
server.max-read-idle = 30
server.max-write-idle = 120
Omezením časového limitu a počtu požadavků bude webový server častěji uzavírat spojení a umožňuje správu vyššího provozu.
Jakmile jsou změny aplikovány, nezapomeňte restartovat službu pomocí:
$ sudo systemctl restart lighttpd