GNU/Linux >> Znalost Linux >  >> Linux

Kompletní návod k nastavení pro Lighttpd, lehký webový server

Existuje webový server, který je velmi konzervativní, pokud jde o využití zdrojů a nároky na paměť. Tento server je známý jako lighttpd (vyslovuje se „lighty“). Nastavení jedné instance lighttpd může být trochu složitější, takže tento návod slouží jako jasný návod, jak správně nakonfigurovat server lighttpd na Linuxu.

Porozumění konfiguračnímu souboru pro každou instanci webového serveru je klíčem k úspěšnému spuštění lighttpd. Tento tutoriál také pokryje přidání podpory PHP pro vaše webové servery.

Lighttpd ​Možnosti konfigurace

Po instalaci lighttpd začneme vytvořením souboru, který definuje nastavení webového serveru. Nazvěme to ‚example.conf‘ v domovském adresáři. Jednoduše zkopírujeme výchozí konfigurační soubor nalezený v /etc/lighttpd. Toto je standardní soubor „.conf“, takže platí běžná pravidla syntaxe, to znamená, že například všechny znaky za „#“ jsou považovány za komentáře.

$ cp /etc/lighttpd/lighttpd.conf ~/webservers/example.conf
$ vim ~/webservers/example.conf # Or whatever editor you wish 

Serverové moduly

Pole ‚server.modules‘ obsahuje pole modulů, které server používá. Nyní do seznamu přidáme další dva:„mod_fastcgi“ a „mod_setenv“. Mod_fastcgi nám umožní přidat podporu PHP. Mod_setenv nám umožní předat hlavičku, která serveru umožní odesílat požadavky do jiných domén, což je užitečné pro načítání externích knihoven.​

POZNÁMKA:Pokud chcete do seznamu zahrnout také ‚mod_status‘, vložte před něj ‚mod_setenv‘.

Nastavení serveru

Podívejme se na následující sekci:

server.document-root = "/var/www/html"
server.upload-dirs = ( "/var/cache/lighttpd/uploads" )
server.errorlog = "/var/log/lighttpd/error.log"
server.pid-file = "/var/run/lighttpd.pid"
server.username = "www-data"
server.groupname = "www-data"
server.port = 80 

Tato pole jsou skutečně samozřejmá. Toto jsou výchozí hodnoty nalezené v konfiguračním souboru v /etc/lighttpd . Protože se jedná o nový soubor, zkopírovaný z výchozího konfiguračního souboru, můžeme změnit, co chceme. Kořen dokumentu určuje nejvyšší úroveň adresáře viditelnou pro webový server. Pole ‚upload-dirs‘ obsahuje pole adresářů, do kterých se mají nahrávaná videa ukládat. Uživatelské jméno a název skupiny odpovídající těm, které se nacházejí ve vašem systému. Ve výchozím nastavení je vlastníkem souborů vytvořených touto instancí lighttpd uživatel „www-data“. Budete se muset ujistit, že do protokolu chyb lze zapisovat pomocí „www-data“ (popsáno o něco později).

V této konfiguraci změňme adresář kořenového adresáře dokumentu na ‘/var/www/mysite/html‘ .Dále změňte protokol chyb na jiný název:„/var/log/lighttpd/mysite/error.log“. Pak změňte port na 8080, chcete-li.

Podpora FastCGI a „setenv“

Protože jsme přidali tyto dva moduly:budeme muset vložit konfigurace do souboru pod nastavení serveru (pokud jsou spustitelné soubory pro „php“ a „php-cgi“ umístěny jinde, uveďte je místo toho):

fastcgi.server = ( ".php" => ((
"bin-path" => "/usr/bin/php-cgi",
"socket" => "/tmp/php.socket"
)))cgi.assign = ( ".php" => "/usr/bin/php" ) 

Udělali jsme lighttpd, že pokud byl ze serveru požadován PHP skript, měl by spustit PHP interpret na počítači, aby jej zpracoval. Modul FastCGI je to, co používáme ke spouštění skriptů PHP.

Pokud potřebujete povolit sdílení zdrojů mezi zdroji (CORS), přidejte tento řádek níže. setenv.add-response-header =( “Access-Control-Allow-Origin” => “*”) Chcete-li zadat pouze jednu doménu, nahraďte “*” požadovanou doménou.

Zde je obsah konfiguračního souboru:

Jak nainstalovat PHP

Pokud chcete podporu PHP, bude nutné nainstalovat PHP, konkrétně balíčky ‚php‘ a ‚php-cgi‘. Pro podporu MySQL je třeba nainstalovat také „php-mysql“. Webový server jsme již nakonfigurovali v konfiguračním souboru tak, aby umožňoval spuštění kódu PHP.

​Pár kroků navíc

Soubor protokolu

Protože umístění souboru protokolu, který jsme zadali v konfiguraci, je ve složce, která ještě neexistuje, lighttpd při spuštění vyvolá chybu. Nejprve budeme muset vytvořit složku:

$ sudo mkdir /var/log/lighttpd/mysite ​

Dále vytvořte soubor protokolu a změňte vlastnictví uživatele a skupiny souboru na uživatele „www-data“, jak je uvedeno v konfiguračním souboru.

$ sudo touch /var/log/lighttpd/mysite/error.log
$ sudo chown www-data /var/log/lighttpd/mysite/error.log
$ sudo chgrp www-data /var/log/lighttpd/mysite/error.log ​

Poté se pokusíme spustit server pomocí našeho konfiguračního souboru:

$ sudo lighttpd -f mysite.conf 

Zkopírujte soubor indexu

Nezapomeňte zkopírovat soubor indexu nalezený v adresáři /var/www/html do kořenového adresáře:

$ sudo cp /var/www/html/index.lighttpd.html /var/www/html/mysite/index.html   

Spuštění serveru

Doufejme, že se lighttpd spustí na pozadí bez tiskových chyb na obrazovce. Narazil jsem však na problém s jedním z příkazů „include_shell“ v konfiguraci:

include_shell "/usr/share/lighttpd/include-conf-enabled.pl" 

Pokud narazíte také na tento problém, jednou z možností je deaktivovat jej (přilepením „#“ na začátek řádku).

#include_shell "/usr/share/lighttpd/include-conf-enabled.pl" 

Pokud to chcete nebo potřebujete opravit, další možností je otevřít skript Perl uvedený v příkazu include_shell a změnit jeden z řetězců.

Najděte tento řádek:

my $enabled = “conf-enabled/*.conf”; 

Problém je v tom, že se jedná o adresář, na který tento skript odkazuje, ale jsou neúplné. Udělal jsem to, že jsem přidal místo, kde se říkalo, že se adresář nachází, do proměnné $enabled.

my $enabled = “/etc/lighttpd/conf-enabled/*.conf”; 

Použití změn

​Po změně konfiguračního souboru pro konkrétní server byste měli tuto instanci lighttpd zabít a restartovat. PID tohoto serveru lze snadno najít pomocí příkazu „ps“.

Pokud máte spuštěnou pouze jednu instanci lighttpd, jednoduše spusťte příkaz ‚killall‘.

$ sudo killall lighttpd   

Zobrazit ve vašem prohlížeči

Abyste si ověřili, že váš server běží a funguje správně, otevřete webový prohlížeč (ať už je to jakýkoli) a do adresního řádku zadejte „localhost:8080“ nebo „127.0.0.1:8080“. Pokud se stránka objeví s názvem „Placeholder Page“, váš server běží a doručuje HTML stránky správně.

Odstraňování problémů

​Pokud narazíte na problémy při spouštění serveru nebo i poté, možná budete muset problém vyřešit. Zde je několik příkladů a jak překonat zde nalezené problémy.

Soubory se stahují namísto správného zacházení

Pokud jste se pokusili otevřít svou stránku index.html ve svém webovém prohlížeči a on převzal iniciativu ke stažení souboru namísto jeho vykreslení, možná nemáte správně nakonfigurované typy MIME.

Ujistěte se, že se provádí skript Perl pro jejich konfiguraci.

include_shell "/usr/share/lighttpd/create-mime.assign.pl" 

​Tento příkaz nakonfiguruje váš webový server tak, aby správně zpracovával různé typy souborů.

Skripty PHP se nespouštějí

Ujistěte se, že máte nainstalované PHP a že konfigurační soubor obsahuje nastavení uvedená v tomto návodu.

Chyby HTTP 500

Tyto chyby vyžadují další zkoumání. Jedním z viníků může být chyba v kódu PHP. Ať už je příčina jakákoli, přečtěte si soubor protokolu, abyste zjistili, co se stalo.

Závěr

Měli byste mít správně nakonfigurovaný webový server, který úspěšně běží s lighttpd. Pokud potřebujete více než jeden lighttpd instance běží, ujistěte se, že porty uvedené v každém konfiguračním souboru se navzájem liší, jinak lighttpd vyvolá chybu.

Malý tip na kvalitu života

Soubory můžete spravovat, aniž byste museli spouštět editory jako root tím, že přenecháte plné vlastnictví adresáře sobě:

$ sudo chown -R your_username /var/www/html/mysite
$ sudo chgrp -R your_username /var/www/html/mysite

Linux
  1. 10 odlehčených webových prohlížečů s otevřeným zdrojovým kódem pro Linux

  2. LAMP vs. LEMP – tipy pro výběr Apache nebo nginx pro váš webový server

  3. Základy Vhosts

  1. Jak nastavit Raspberry Pi jako záložní server pro stolní počítače se systémem Linux a Windows

  2. Jak nainstalovat webový server Lighttpd na CentOS 7

  3. Kompletní návod, jak nastavit klíče SSH a připojení SSH

  1. Jak vytvořit uživatele SFTP pro kořen dokumentu webového serveru

  2. Jak nastavit Apache jako frontend proxy pro Node.js

  3. Jak nainstalovat webový server Lighttpd na CentOS 8