Nginxi installimine Ubuntu 20.04 LTS-i

Täielik samm-sammuline juhend Nginxi veebiserveri installimiseks ja seadistamiseks Ubuntu 20.04 süsteemis

Nginx on avatud lähtekoodiga ja populaarne pöördpuhverserver, mis on saadaval mitmel platvormil. Tarkvara töötas välja Igor Sysoev C10K probleemi lahendusena ja esmakordselt avaldati 2004. aastal. C10K probleem on kümne tuhande kliendi samaaegse käsitlemise probleem, mis 2000. aastate alguses ei olnud lihtne.

Selles õpetuses vaatleme, kuidas installida ja seadistada Nginx Ubuntu 20.04 LTS-is.

Eeltingimused

Süsteem, kuhu on installitud Ubuntu 20.04 ja a sudo kasutaja. Lisaks ei pea teil olema ühtegi teist veebiserverit (nt Apache), mis töötaks pordil 80 või 443.

Nginxi installimine

Nginx on saadaval Ubuntu 20.04 hoidlas ja asjakohane selle installimiseks saab kasutada paketihaldurit. Niisiis, Nginxi installimiseks avage terminal kasutades ctrl+alt+t ja jookse:

sudo apt värskendus && sudo apt install nginx

Installimine lõpeb peagi ja Nginxi deemon käivitub taustal automaatselt. Niisiis, Nginxi oleku kontrollimiseks käivitage:

sudo systemctl olek nginx

Pärast ülaltoodud käsu käivitamist peaksite saama Nginxi oleku kui aktiivne (jooksev) roheliselt, nagu allpool näha.

Ubuntu tulemüüri (UFW) seadistamine

Vaikimisi on Ubuntu 20.04 väljaminevad pordid HTTP (80) ja HTTPS (443) suletud. Lisaks tulemüüri vaikedeemon ufw on keelatud, kuna kõik pordid on suletud.

Seega, et pääseda juurde Nginxi serverile teistest süsteemidest, peate lubama ufw ja seadistage see õigesti, et lubada liiklust pordis 80 ja 443. Enne lubamist ufw, teadke, et kui seadistate Nginxi kaugserveris, värskendage esmalt ufw reeglid lubama ssh joostes:

sudo ufw luba ssh

Ülaltoodud käsk võimaldab ssh juurdepääsu kaugserverile, lubamata ssh teid lukustatakse kaugserverist välja.

Pärast lubamist ssh juurdepääsu, saate lubada ufw tulemüüri deemon, käivitades:

sudo ufw lubamine

Nüüd peate muutma tulemüüri reegleid, et lubada HTTP- ja HTTPS-pordid, et Nginx saaks teenindada veebiliiklust. Reeglite muutmiseks käivitage:

sudo ufw lubab "Nginx Full"

Nginx täis võimaldab kõigilt IP-aadressidelt sissetuleva ja väljamineva liikluse jaoks nii HTTP- kui ka HTTPS-porte.

Pärast seda kontrollige, kas reeglid on õigesti lisatud ufw tulemüür, käivitades käsu:

sudo ufw olek

Ülaltoodud käsk väljastab reeglid, millele lisasime ufw tulemüüri deemon.

Nginxi serveriga ühenduse loomine

Nüüd, kui oleme Nginxi installinud ja konfigureerinud ufw sissetuleva HTTP- ja HTTPS-i veebiliikluse lubamiseks peaks teil olema juurdepääs Nginxi serverile, kasutades serveri IP-aadressi.

Kui te ei tea serveri IP-aadressi, kasutage selle hõlpsaks toomiseks allolevat käsku.

ip addr näita eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

Kui olete saanud IP-aadressi, kleepige see oma brauserisse ja vajutage sisestusklahvi.

//teie-serveri-ip

Kui kõik oli õigesti konfigureeritud, peaksite nägema veebilehte „Tere tulemast nginxi!“.

Nginxi failid ja kataloogid

Nüüd, kui Nginx on teie serverisse installitud ja töötab. Vaatame mõningaid olulisi Nginxi faile ja katalooge, mida peate oma veebisaidi/veebirakenduse konfigureerimiseks kasutama.

Veebiserveri sisu

Saate konfigureerida mis tahes asukoha, mille soovite oma serveriploki juurkataloogiks. Nginxi vaike-HTML on otse /var/www/html, see on koht, kus asub „tere tulemast” leht, millele varem juurde pääsesime.

Muud asukohad, mida tavaliselt kasutatakse domeenide juurkataloogina, on järgmised:

  • /Kodu//
  • /var/www/html/
  • /opt/

Nginxi konfiguratsioonifailid

Kõik Nginxi konfiguratsioonifailid asuvad /etc/nginx kataloog. Vaatame mõningaid olulisi faile, mida vajame põhidomeeni seadistamiseks.

  • /etc/nginx/nginx.conf: see fail sisaldab kõiki Nginxi käitamiseks vajalikke konfiguratsioone.
  • /etc/nginx/sites-available/: selles kataloogis on kõik domeenide serveriploki konfiguratsioonid, kuid see pole praegu lubatud/juurutatud ja seega pole see klientidele juurdepääsetav.
  • /etc/nginx/sites-enabled/: see kataloog sisaldab hetkel aktiivseid/lubatud domeene, millele kliendid pääsevad juurde. Domeeni lubamiseks peame linkima domeeni konfiguratsioonifaili saidid-saadaval juurde saidid on lubatud kataloog.
  • /etc/nginx/snippets/: selles kataloogis saame salvestada potentsiaalselt korduvkasutatavaid konfiguratsioonisegmente. See säästab tootmiskeskkonnas palju aega, kuna suudab muuta konfiguratsiooni segmendid/plokid taaskasutatavaks.

Serveri logid

Nginx logib sündmused/tegevused ja salvestab need logifailidesse /var/log/nginx kataloog. Nginx logib tegevused nendes failides:

  • /var/log/nginx/access.log: see fail logib Nginxi serverile juurde pääsenud kliendid. Üksikasjad hõlmavad kliendi IP-aadressi, kellaaega ja kuupäeva, serverile juurdepääsuks kasutatavat brauserit ja OS-i.
  • /var/log/nginx/error.log: see fail logib Nginxi serveri töötamise ajal ilmnenud vead.

Niisiis oleme selles jaotises lühidalt vaadanud mõnda olulist Nginxi faili ja kataloogi, millest piisab alustamiseks.

Serveriplokkide seadistamine

Nüüd, kui meil on mõned põhiteadmised Nginxi failide ja serveri kohta, oleme valmis seadistama oma serveriploki. Serveriplokid on sarnased Apache virtuaalsetele hostidele.

Vaatame, kuidas serveriplokki luua, ja näitame, kuidas me seda kasutame example.com domeenina loomise protsessis.

💡 Vahetage example.com oma domeeninimega.

Enne serveriplokkide konfigureerimise alustamist peame looma kataloogi, mis toimiks veebisaidi sisu juurkataloogina. Laske meil luua /var/www/example.com/html kataloog domeeni kasutamiseks mkdir käsk.

sudo mkdir -p /var/www/example.com/html

The -lk valik loob kõik vajalikud ülemkataloogid. See tähendab, et see loob example.com emakataloogi html kui seda pole olemas.

Muutke kataloogi omandiõigust rakendusega $USER keskkonnamuutuja:

sudo chown -R $USER:$USER /var/www/example.com/html

Järgmisena looge lihtne index.html fail, millele pääsete juurde, kui külastate seadistatavat domeeni. See on ainult selgitav eesmärk.

nano /var/www/example.com/html/index.html

Kleepige järgmine sisu äsja serveris loodud faili.

  Tere tulemast saidile example.com! 

Oh! Näidis.com on juurdepääsetav!

Vajutage ctrl+o kirjutada ja salvestada index.html faili ja seejärel vajutage ctrl+x väljuma nano toimetaja.

Nüüd saame lõpuks liikuda serveriploki loomise juurde, et Nginx saaks teenindada index.html kui mõni kasutaja läheb example.com. Seega peame serveriploki loomiseks tegema konfiguratsioonifaili nimega example.com sisse saidid-saadaval kataloog. Selleks kasutame nano ja käivitame:

sudo nano /etc/nginx/sites-available/example.com

Seejärel tippige või kopeerige/kleepige järgmine konfiguratsioon. Seejärel vajutage ctrl+o ja sisestage kirjutamiseks ja salvestamiseks. Samamoodi vajutage ctrl+x nanoredaktori sulgemiseks.

server { kuula 80; kuula [::]:80; serveri_nimi example.com www.example.com; root /var/www/example-domain.com/html; indeks indeks.html; asukoht / { try_files $uri $uri/ =404; } }

Ülaltoodud konfiguratsioon sarnaneb serveriploki vaikekonfiguratsiooniga, oleme muutnud juur avaldus, mis osutab meie uuele juurkataloogile ja muutis serveri_nimi meie domeeninimele. Samal ajal kui asukoht{} avaldus toimib vea püüdmise avaldusena, kui faile ei leita, ja kuvab kliendile vea 404.

Järgmisena saame lubada oma serveriploki, et Nginx teenindaks example.com veebilehed. Serveriploki lubamiseks peame looma sümbolilingi example.com failist saidid-saadaval juurde saidid on lubatud kataloog. Selleks käivitage:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled

Link luuakse saidi lubatud kataloog ja nüüd example.com peaks olema lubatud. Nüüd on meie Nginxi serveris lubatud kaks serveriplokki, mis vastavad päringule kuulake ja serveri_nimi aastal salvestatud direktiivid example.com serveriploki konfiguratsioon.

Kontrollimaks, kas kõik konfiguratsioonifailid on õiged ja süntaksiviga ei esine, käivitage:

sudo nginx -t

Nüüd taaskäivitage Nginx muudatuste rakendamiseks, käivitades järgmise käsu:

sudo systemctl taaskäivitage nginx

Nginx hakkab nüüd teie serveriplokki teenindama, võite minna aadressile //teie-domeeni-nimi ja vaadake oma veebilehte reaalajas.

Märge: Ülaltoodud jaotise toimimiseks peate seadistama oma domeeni ja asendama selle example.com oma domeeninimega. Samuti peate oma domeeni jaoks konfigureerima DNS-i, et osutada teie Nginxi serveri IP-aadressile.

Kokkuvõtteks vaatasime, kuidas Nginxi installida, konfigureerida ufw Nginxi serverile kaugjuurdepääsu võimaldamiseks, mis on Nginxiga kaugühenduses, tutvus mõningate Nginxi põhifailide ja kataloogidega ning õppis serveriplokki seadistama.

Nginxi kohta lisateabe saamiseks ja selle kohta lisateabe saamiseks võiksite vaadata Nginxi vikit.