Ako nainštalovať Nginx na Ubuntu 20.04 LTS

Ú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 z stránky-dostupné k strá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.