Jak nastavit webový server NGINX na vašem Raspberry Pi a proč právě NGINX? Je to lepší alternativa k Apache pro Raspberry Pi z několika různých důvodů.
Některé z důvodů, proč je NGINX na Raspberry Pi lepší, je ten, že má mnohem nižší využití paměti a obecně nižší využití CPU, což znamená, že z omezených zdrojů vašeho Raspberry Pi můžete získat více.
Ukážeme si také jak nakonfigurovat NGINX tak, aby využíval PHP-FPM, což vyžaduje trochu extra konfigurace, aby se dalo zprovoznit na rozdíl od PHP pro Apache.
I když je NGINX dobrou volbou pro RPI a vlastní server mi tento raspberry server budeme nakonec využívat pro provoz a hostování našeho blogu běžícím na Wordpresu stejně jako tento web který běží z Raspberry Pi 3 B+.
Zároveň doporučuji pořídit aktivní chlazení o kterém píši zde. Vše je kompatibilní s modelem pro 3D tisk který mám zde.
Co budeme potřebovat?
- Raspberry Pi (3B+ nebo RPI 4)
- SD kartu
- Napájecí zdroj pro Raspberry
Pokud to bude myslet s svým serverem vážně doporučuji koupit SSD disk cca 120GB a redukci ze SATA na USB. Posunete tím svůj server o úroveň výš a vyhnete se problémům s degradací paměťové karty při dlouhodobém zápisu a mazaní menších souborů.
V případě že jste zvolili verzi s SSD a RPI3b+ budete muset upravit rom pamět na vasem RPI. Jak to udelat zjistíte v tomto videu.
U Raspberry Pi 4 toto řešit nemusíte již je připraveno na boot z USB tedy z vašeho SSD disku. V tomto přídě vám doporučím můj vlastní 3D model pro efektní upevnění SSD a RPI tak aby váš server i dobře vypadal a mohl si v klidu stát na pracovním stole. Model najdete na mém profilu Printables.com
Pokud tedy již máme všechno připraveno můžeme se pustit do instalace a zprovoznění.
Instalace NGINX
Než začneme s nastavením webového serveru NGINX na Raspberry Pi, musíme se nejprve ujistit, že je naše Raspberry Pi aktuální spuštěním následujících dvou příkazů.
Měli bychom také spustit následující příkaz k odinstalaci Apache2, protože existuje šance, že je ve vašem systému předinstalován.
Pokud tak neučiníte, může dojít k selhání instalace, protože se automaticky spouští a využívá port80
, protože máme v úmyslu používat NGINX jako webový server a rozhodli jsme se jej odstranit ze systému.
Tento krok můžete přeskočit, pokud jste si jisti, že Apache2 již není na vašem Raspberry Pi nainstalován.
Nakonec nainstalujme NGINX na naše Raspberry Pi spuštěním následujícího příkazu na vašem Raspberry Pi.
Nyní nainstalovaný NGINX můžeme spustit. Zadejte následující příkaz do terminálu pro spuštění webového serveru na našem Raspberry Pi.
Když je webový server NGINX nyní spuštěn, měli bychom nyní získat naši místní IP adresu. Děláme to proto, abychom mohli otestovat, zda náš webový server funguje ze samostatného webového prohlížeče. Použijte příkaz hostname k získání místní IP adresy vašeho Raspberry Pi.
Nyní, když máme po ruce místní IP adresu našeho Raspberry Pi, otevřeme adresu v libovolném webovém prohlížeči. Stačí přejít na místní IP adresu, kterou jste získali pomocí hostname -I
. V mém případě bych šel do http://192.168.0.143
.
Jakmile přejdete na adresu, měli byste vidět něco jako níže. Nedělejte si starosti, pokud se zobrazí stránka Apache, protože někdy NGINX nepřepíše výchozí indexovou stránku Apache.
Konfigurace NGINX pro PHP
Na rozdíl od Apache nebude NGINX automaticky nastaven pro použití s PHP. Místo toho musíme provést změny v jeho konfiguračních souborech, aby se mohl načíst.
Budeme také muset používat PHP-FPM a ne standardní PHP kvůli způsobu, jakým funguje NGINX.
Než začneme s konfigurací PHP pro NGINX, musíme pokračovat a nainstalovat PHP 7.4 it a některé doporučené PHP moduly, které nám usnadní práci s rozsáhlejšími PHP skripty.
Než spustíte níže uvedený příkaz, ujistěte se, že používáte Raspbian Bullseye nebo novější. Vše můžete nainstalovat spuštěním příkazu níže.
Pokud narazíte na package not found chybu, pak tato verze PHP není ve vaší aktuální verzi operačního systému Raspberry Pi dostupná. Tuto chybu však můžete obejít přidáním úložiště PHP třetí strany do operačního systému.
S nyní nainstalovaným PHP-FPM můžeme provést požadované úpravy výchozího konfiguračního souboru NGINX.
Chcete-li začít upravovat výchozí konfigurační soubor, spusťte na svém Raspberry Pi následující příkaz.
V tomto souboru vyhledejte a nahraďte následující řádky.
Najděte:
[]index index.html index.htm;[/]
Nahraďte:
Zde musíme přidat index.php
do řádku indexu a to říká NGINX, aby rozpoznal index.php
soubor jako možný index, přidáním na první místo v seznamu znamená, že bude vybrán přes index.html
soubor.
Najděte:
#location ~ \.php$ { # include snippets/fastcgi-php.conf;
#
# With php5-cgi alone: # fastcgi_pass 127.0.0.1:9000;
#
# With php5-fpm: # fastcgi_pass unix:/var/run/php5-fpm.sock; #}
Nahraďte:
#location ~ \.php$ {
#include snippets/
#fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
#}
Tento kód nastaví NGINX ke zpracování .php
souborů jejich předáním do PHP-FPM.
Po dokončení můžete uložit a ukončit stisknutím CTRL+ Xa poté stisknutím Ya poté ENTER.
Dále v tomto tutoriálu serveru Raspberry Pi Nginx budeme muset říct NGINX, aby znovu načetl svou konfiguraci spuštěním následujícího příkazu.
Nakonec otestujeme nastavení PHP zápisem velmi jednoduchého index.php
souboru do našeho /var/www/html
adresáře. Spuštěním následujícího příkazu vytvořte a začněte upravovat náš index.php
soubor.
Do tohoto souboru přidejte následující řádek kódu.
Jakmile je vše hotovo, můžeme uložit a ukončit stisknutím CTRL+ , Xpoté Ya naposledy ENTER.
Nyní jako dříve v tutoriálu můžete přejít na IP adresu vašeho Raspberry Pi , tentokrát byste však měli vidět stránku zobrazující všechny informace o vaší verzi PHP a o tom, jaké moduly jsou aktuálně aktivní. Je to dobrá známka toho, že vaše instalace PHP funguje správně.
V tuto chvíli na našem Raspberry běží server NGINX a PHP. Příště si ukážeme jak nastavit SQL
Zdroj: pimylifeup.com