Úplný podrobný sprievodca inštaláciou a nastavením webového servera Nginx v systéme Ubuntu 20.04
Nginx je open source a populárny reverzný proxy webový server dostupný na viacerých platformách. Softvér bol vyvinutý spoločnosťou Igor Sysojev ako riešenie problému C10K a prvýkrát vydaný v roku 2004. Problém C10K je problém obsluhovania desaťtisíc klientov súčasne, čo nebolo na začiatku 21. storočia celkom jednoduché.
V tomto návode sa pozrieme na to, ako nainštalovať a nastaviť Nginx na Ubuntu 20.04 LTS.
Predpoklady
Systém s nainštalovaným Ubuntu 20.04 a a sudo
užívateľ. Okrem toho nemusíte mať žiadny iný webový server, ako napríklad Apache, spustený na porte 80 alebo 443.
Inštalácia Nginx
Nginx je k dispozícii v úložisku Ubuntu 20.04 a apt
na inštaláciu je možné použiť správcu balíkov. Ak chcete nainštalovať Nginx, otvorte terminál pomocou ctrl+alt+t
a spustiť:
sudo apt update && sudo apt install nginx
Inštalácia sa čoskoro dokončí a démon Nginx sa automaticky spustí na pozadí. Ak chcete skontrolovať stav Nginx, spustite:
sudo systemctl stav nginx
Po spustení vyššie uvedeného príkazu by ste mali získať stav Nginx ako aktívny (beh)
v zelenej farbe, ako je vidieť nižšie.
Konfigurácia brány firewall Ubuntu (UFW)
V predvolenom nastavení sú odchádzajúce porty HTTP (80) a HTTPS (443) na Ubuntu 20.04 zatvorené. Okrem toho predvolený démon brány firewall ufw
je vypnutá, pretože všetky porty sú zatvorené.
Ak teda chcete získať prístup k serveru Nginx z iných systémov, budete musieť povoliť ufw
a správne ho nastaviť tak, aby umožňoval prenos na porte 80
a 443
. Pred povolením ufw
, vedzte, že ak nastavujete Nginx na vzdialenom serveri, najprv aktualizujte ufw
pravidlá povoliť ssh
behom:
sudo ufw povoliť ssh
Vyššie uvedený príkaz umožňuje ssh
prístup na vzdialený server bez povolenia ssh
budete zablokovaní zo vzdialeného servera.
Po povolení ssh
prístup, môžete povoliť ufw
firewall démon spustením:
povoliť sudo ufw
Teraz musíte zmeniť pravidlá brány firewall tak, aby povolili porty HTTP a HTTPS, aby Nginx mohol obsluhovať webovú prevádzku. Ak chcete zmeniť pravidlá, spustite:
sudo ufw povoliť 'Nginx Full'
Nginx plný
umožňuje porty HTTP aj HTTPS pre prichádzajúce a odchádzajúce prenosy zo všetkých adries IP.
Potom skontrolujte, či sú pravidlá správne pridané ufw
firewall spustením príkazu:
stav sudo ufw
Vyššie uvedený príkaz vypíše pravidlá, ktoré sme pridali ufw
démon brány firewall.
Pripojenie k serveru Nginx
Teraz, keď sme nainštalovali a nakonfigurovali Nginx ufw
Ak chcete povoliť prichádzajúce webové prenosy HTTP a HTTPS, mali by ste mať prístup k serveru Nginx pomocou adresy IP servera.
Ak nepoznáte IP adresu servera, pomocou príkazu nižšie ju ľahko získate.
ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
Keď máte IP adresu, vložte ju do prehliadača a stlačte Enter.
//ip-vasho-serveru
Ak bolo všetko správne nakonfigurované, mali by ste vidieť webovú stránku „Vitajte v nginx!“.
Súbory a adresáre Nginx
Teraz, keď máme Nginx nainštalovaný a spustený na vašom serveri. Pozrime sa na niektoré dôležité súbory a adresáre Nginx, ktoré budete musieť použiť na konfiguráciu svojej webovej stránky / webovej aplikácie.
Obsah webového servera
Môžete nakonfigurovať ľubovoľné umiestnenie, ktoré chcete, aby bolo vaším koreňovým adresárom pre váš blok servera. Predvolený HTML kód Nginx je priamo /var/www/html
, je to miesto, kde sa nachádza „uvítacia“ stránka, na ktorú sme vstúpili predtým.
Ďalšie miesta, ktoré sa zvyčajne používajú ako koreňový adresár pre domény, zahŕňajú:
/Domov//
/var/www/html/
/opt/
Konfiguračné súbory Nginx
Všetky konfiguračné súbory Nginx sú umiestnené v /etc/nginx
adresár. Pozrime sa na niektoré dôležité súbory, ktoré potrebujeme na nastavenie základnej domény.
/etc/nginx/nginx.conf
: Tento súbor obsahuje všetku konfiguráciu potrebnú na spustenie Nginx./etc/nginx/sites-available/
: Tento adresár má všetky serverové blokové konfigurácie domén, ale momentálne nie sú povolené/nasadené, a teda nie sú prístupné klientom./etc/nginx/sites-enabled/
: Tento adresár obsahuje aktuálne aktívne/povolené domény prístupné klientom. Ak chcete povoliť doménu, musíme prepojiť konfiguračný súbor domény zstránky-dostupné
kstránky povolené
adresár./etc/nginx/snippets
/: V tomto adresári môžeme uložiť potenciálne opakovane použiteľné segmenty konfigurácie. Šetrí veľa času v produkčnom prostredí vďaka tomu, že dokáže segmenty/bloky konfigurácie opätovne použiť.
Denníky servera
Nginx zaznamenáva udalosti/aktivity a ukladá ich do protokolových súborov v /var/log/nginx
adresár. Nginx zaznamenáva aktivity do týchto súborov:
/var/log/nginx/access.log
: Tento súbor zaznamenáva klientov, ktorí pristúpili na server Nginx. Podrobnosti zahŕňajú IP adresu klienta, čas a dátum, prehliadač použitý na prístup k serveru a OS./var/log/nginx/error.log
: Tento súbor zaznamenáva chyby, ktoré server Nginx zaznamenal počas spustenia.
V tejto časti sme sa teda stručne pozreli na niektoré dôležité súbory a adresáre Nginx, ktoré na začiatok stačia.
Nastavenie serverových blokov
Teraz, keď máme nejaké základné znalosti o súboroch a serveri Nginx, sme pripravení nastaviť vlastný blok servera. Bloky servera sú podobné virtuálnym hostiteľom Apache.
Pozrieme sa na to, ako vytvoriť blok servera a ukázať, čo použijeme example.com
ako doména v procese tvorby.
💡 Vymeňte example.com
s názvom vašej domény.
Predtým, ako začneme konfigurovať serverové bloky, musíme vytvoriť adresár, ktorý bude slúžiť ako koreňový adresár pre obsah webových stránok. Poďme tvoriť /var/www/example.com/html
adresár pre používanie domény mkdir
príkaz.
sudo mkdir -p /var/www/example.com/html
The -p
možnosť vytvorí všetky potrebné nadradené adresáre. To znamená, že vytvorí example.com
nadradený adresár html
ak neexistuje.
Zmeňte vlastníctvo adresára pomocou $USER
premenná prostredia:
sudo chown -R $USER:$USER /var/www/example.com/html
Ďalej vytvorte jednoduchý index.html
súbor, ku ktorému budete mať prístup, keď navštívite konfigurovanú doménu. Toto slúži len na vysvetlenie.
nano /var/www/example.com/html/index.html
Vložte nasledujúci obsah do súboru, ktorý sme práve vytvorili na serveri.
Vitajte na example.com! Ahoj! Stránka example.com je dostupná!
Stlačte tlačidlo ctrl+o
napísať a uložiť index.html
súbor a potom stlačte ctrl+x
k východu nano
editor.
Teraz konečne môžeme prejsť na vytvorenie bloku servera, aby Nginx mohol slúžiť index.html
keď niektorý používateľ prejde na example.com
. Aby sme vytvorili blok servera, musíme vytvoriť konfiguračný súbor s názvom example.com
v stránky-dostupné
adresár. Na tento účel používame nano a spúšťame:
sudo nano /etc/nginx/sites-available/example.com
Potom zadajte alebo skopírujte/prilepte nasledujúcu konfiguráciu. Potom stlačte ctrl+o
a zadajte a zapíšte a uložte. Podobne stlačte ctrl+x
zatvorte nano editor.
server { počúvať 80; počúvaj [::]:80; názov_servera example.com www.example.com; root /var/www/example-domain.com/html; index index.html; umiestnenie / { try_files $uri $uri/ =404; } }
Vyššie uvedená konfigurácia je podobná predvolenej konfigurácii bloku servera, zmenili sme ju koreň
príkaz ukázať na náš nový koreňový adresár a zmeniť názov servera
na názov našej domény. Kým umiestnenie{}
príkaz slúži ako príkaz na zachytenie chýb, ak sa súbory nenašli a klientovi zobrazí chybu 404.
Ďalej môžeme povoliť blok nášho servera, aby Nginx slúžil example.com
internetové stránky. Aby sme povolili blok nášho servera, musíme vytvoriť symbolický odkaz example.com
súbor z stránky-dostupné
do stránky povolené
adresár. Ak to chcete urobiť, spustite:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled
Odkaz sa vytvorí v povolená pre stránky
adresár a teraz example.com
by mala byť povolená. Teraz máme na našom serveri Nginx povolené dva bloky servera, ktoré budú reagovať na požiadavku na základe počúvaj
a sever_name
príkazy uložené v example.com
konfigurácia bloku servera.
Ak chcete skontrolovať, či sú všetky konfiguračné súbory správne a nie je prítomná žiadna syntaktická chyba, spustite:
sudo nginx -t
Teraz konečne reštartujte Nginx, aby ste použili zmeny spustením nasledujúceho príkazu:
sudo systemctl reštartujte nginx
Nginx teraz začne obsluhovať váš blok servera, môžete prejsť na //názov-vašej-domény
a uvidíte svoju webovú stránku naživo.
Poznámka: Aby vyššie uvedená časť fungovala, musíte si nastaviť vlastnú doménu a nahradiť ju example.com
s vlastným názvom domény. Tiež budete musieť nakonfigurovať DNS pre vašu doménu tak, aby smerovala na IP adresu vášho servera Nginx.
Na záver sme sa pozreli na to, ako nainštalovať Nginx, nakonfigurovať ufw
aby ste umožnili vzdialený prístup k serveru Nginx, pripojili ste sa k Nginx na diaľku, zoznámili sa s niektorými základnými súbormi a adresármi Nginx a naučili sa, ako nastaviť blok servera.
Ak chcete vedieť a dozvedieť sa viac o Nginx, možno budete chcieť vidieť Nginx wiki.