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 konfiguratsioonifailisaidid-saadaval
juurdesaidid 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.