Täydellinen vaiheittainen opas Nginx-verkkopalvelimen asentamiseen ja määrittämiseen Ubuntu 20.04 -järjestelmään
Nginx on avoimen lähdekoodin ja suosittu käänteinen välityspalvelin, joka on saatavana useilla alustoilla. Ohjelmiston on kehittänyt Igor Sysoev ratkaisuna C10K-ongelmaan ja julkaistiin ensimmäisen kerran vuonna 2004. C10K-ongelma on kymmenentuhannen asiakkaan samanaikainen käsittely, mikä ei ollut helppoa 2000-luvun alussa.
Tässä opetusohjelmassa tarkastellaan, kuinka Nginx asennetaan ja määritetään Ubuntu 20.04 LTS:ään.
Edellytykset
Järjestelmä, johon on asennettu Ubuntu 20.04 ja a sudo
käyttäjä. Lisäksi sinulla ei tarvitse olla muuta verkkopalvelinta, kuten Apachea, joka toimii portissa 80 tai 443.
Nginxin asennus
Nginx on saatavilla Ubuntu 20.04 -varastossa ja apt
sen asentamiseen voidaan käyttää paketinhallintaa. Joten, jos haluat asentaa Nginxin, avaa pääte käyttämällä ctrl+alt+t
ja juokse:
sudo apt päivitys && sudo apt install nginx
Asennus valmistuu pian ja Nginx-daemon käynnistyy taustalla automaattisesti. Joten tarkistaaksesi Nginxin tilan, suorita:
sudo systemctl status nginx
Yllä olevan komennon suorittamisen jälkeen sinun pitäisi saada Nginx-tila nimellä aktiivinen (juoksu)
vihreänä, kuten alla näkyy.
Ubuntun palomuurin (UFW) määrittäminen
Lähtevät portit HTTP (80) ja HTTPS (443) ovat oletuksena suljettuina Ubuntu 20.04:ssä. Lisäksi oletuspalomuuridaemon ufw
on poissa käytöstä, koska kaikki portit ovat kiinni.
Näin ollen, jotta voit käyttää Nginx-palvelinta muista järjestelmistä, sinun on otettava käyttöön ufw
ja aseta se oikein salliaksesi liikenteen portissa 80
ja 443
. Ennen kuin otat käyttöön ufw
, tiedä, että jos asennat Nginxin etäpalvelimelle, päivitä ensin ufw
sallittavat säännöt ssh
juoksemalla:
sudo ufw salli ssh
Yllä oleva komento mahdollistaa ssh
pääsy etäpalvelimeen ilman lupaa ssh
sinut lukitaan etäpalvelimelta.
Käyttöönoton jälkeen ssh
pääsyn, voit ottaa käyttöön ufw
palomuuri demoni suorittamalla:
sudo ufw käyttöön
Nyt sinun on muutettava palomuurisääntöjä sallimaan HTTP- ja HTTPS-portit, jotta Nginx voi palvella verkkoliikennettä. Jos haluat muuttaa sääntöjä, suorita:
sudo ufw salli 'Nginx Full'
Nginx täynnä
mahdollistaa sekä HTTP- että HTTPS-porttien saapuvan ja lähtevän liikenteen kaikista IP-osoitteista.
Tarkista sen jälkeen, onko säännöt lisätty oikein ufw
palomuuri suorittamalla komennon:
sudo ufw -tila
Yllä oleva komento tulostaa säännöt, joihin lisäsimme ufw
palomuurin demoni.
Yhdistetään Nginx-palvelimeen
Nyt kun olemme asentaneet Nginxin ja määrittäneet ufw
Jotta voit sallia saapuvan HTTP- ja HTTPS-verkkoliikenteen, sinun pitäisi pystyä käyttämään Nginx-palvelinta käyttämällä palvelimen IP-osoitetta.
Jos et tiedä palvelimen IP-osoitetta, nouta se helposti alla olevan komennon avulla.
ip addr näytä eth0 | grep inet | awk '{ tulosta $2; }' | sed 's/\/.*$//'
Kun olet saanut IP-osoitteen, liitä se selaimeesi ja paina Enter.
//palvelimesi-ip-osoite
Jos kaikki oli määritetty oikein, sinun pitäisi nähdä "Tervetuloa nginxiin!" -verkkosivu.
Nginx-tiedostot ja hakemistot
Nyt kun Nginx on asennettu ja käynnissä palvelimellasi. Katsotaanpa joitain tärkeitä Nginx-tiedostoja ja hakemistoja, joita sinun on käytettävä verkkosivustosi / verkkosovelluksesi määrittämiseen.
Web-palvelimen sisältö
Voit määrittää minkä tahansa sijainnin palvelinlohkon juurihakemistoksi. Nginxin oletus-HTML on suoraan /var/www/html
, siellä sijaitsee "tervetuloa"-sivu, jota käytimme aiemmin.
Muita paikkoja, joita yleensä käytetään verkkotunnusten juurihakemistona, ovat:
/Koti//
/var/www/html/
/valita/
Nginx-määritystiedostot
Kaikki Nginx-määritystiedostot sijaitsevat /etc/nginx
hakemistosta. Katsotaanpa joitain tärkeitä tiedostoja, joita tarvitsemme perusverkkotunnuksen määrittämiseen.
/etc/nginx/nginx.conf
: Tämä tiedosto sisältää kaikki Nginxin suorittamiseen tarvittavat asetukset./etc/nginx/sites-available/
: Tässä hakemistossa on kaikki toimialueiden palvelinlohkokokoonpanot, mutta ne eivät tällä hetkellä ole käytössä/käyttöön, joten asiakkaat eivät pääse niihin./etc/nginx/sites-enabled/
: Tämä hakemisto sisältää tällä hetkellä aktiiviset/käytössä olevat verkkotunnukset, joihin asiakkaat voivat päästä. Jotta verkkotunnus voidaan ottaa käyttöön, meidän on linkitettävä verkkotunnuksen määritystiedostosivustot - saatavilla
kohtaansivustot käytössä
hakemistosta./etc/nginx/snippets
/: Tähän hakemistoon voimme tallentaa mahdollisesti uudelleenkäytettäviä konfiguraatiosegmenttejä. Se säästää paljon aikaa tuotantoympäristössä, koska se voi tehdä kokoonpanon segmenteistä/lohkoista uudelleenkäytettäviä.
Palvelimen lokit
Nginx kirjaa tapahtumat/toiminnot lokiin ja tallentaa ne lokitiedostoihin /var/log/nginx
hakemistosta. Nginx kirjaa toimintoja näihin tiedostoihin:
/var/log/nginx/access.log
: Tämä tiedosto kirjaa lokiin asiakkaat, jotka ovat käyttäneet Nginx-palvelinta. Tiedot sisältävät asiakkaan IP-osoitteen, kellonajan ja päivämäärän, palvelimelle pääsyyn käytetyn selaimen ja käyttöjärjestelmän./var/log/nginx/error.log
: Tämä tiedosto kirjaa Nginx-palvelimen toiminnan aikana kohtaamat virheet lokiin.
Joten tässä osiossa olemme tarkastelleet lyhyesti joitain tärkeitä Nginx-tiedostoja ja -hakemistoja, jotka ovat riittävät aloittamiseen.
Palvelinlohkojen asettaminen
Nyt kun meillä on perustiedot Nginx-tiedostoista ja palvelimesta, olemme valmiita perustamaan oman palvelinlohkomme. Palvelinlohkot ovat samanlaisia kuin Apache-virtuaalipalvelimet.
Katsomme kuinka luodaan palvelinlohko ja esittelemme, että käytämme esimerkki.fi
verkkotunnuksena luomisprosessissa.
💡 Vaihda esimerkki.fi
verkkotunnuksesi kanssa.
Ennen kuin aloitamme palvelinlohkojen määrittämisen, meidän on luotava hakemisto, joka toimii verkkosivuston sisällön juurihakemistona. Anna meidän luoda /var/www/example.com/html
hakemisto verkkotunnukselle mkdir
komento.
sudo mkdir -p /var/www/example.com/html
The -s
vaihtoehto luo kaikki tarvittavat päähakemistot. Eli se luo esimerkki.fi
päähakemistoon html
jos sitä ei ole olemassa.
Muuta hakemiston omistajuutta $USER
ympäristömuuttuja:
sudo chown -R $KÄYTTÄJÄ:$KÄYTTÄJÄ /var/www/example.com/html
Luo seuraavaksi yksinkertainen index.html
tiedosto, jota käytetään, kun vierailet määritettävällä toimialueella. Tämä on vain selittävää tarkoitusta varten.
nano /var/www/example.com/html/index.html
Liitä seuraava sisältö tiedostoon, jonka juuri loimme palvelimelle.
Tervetuloa example.com-sivustolle! Hei! Esimerkki.com on käytettävissä!
Lehdistö ctrl+o
kirjoittaa ja tallentaa index.html
tiedosto ja paina sitten ctrl+x
poistua nano
toimittaja.
Nyt voimme vihdoin siirtyä palvelinlohkon luomiseen, jotta Nginx voi palvella index.html
kun joku käyttäjä menee osoitteeseen esimerkki.fi
. Joten palvelinlohkon luomiseksi meidän on tehtävä määritystiedosto nimeltä esimerkki.fi
sisään sivustot - saatavilla
hakemistosta. Käytämme nanoa ja suoritamme:
sudo nano /etc/nginx/sites-available/example.com
Ja sitten joko kirjoita tai kopioi/liitä seuraavat asetukset. Paina sitten ctrl+o
ja syötä kirjoittaaksesi ja tallentaaksesi. Paina samalla tavalla ctrl+x
sulkeaksesi nanoeditorin.
palvelin { kuuntele 80; kuuntele [::]:80; palvelimen_nimi esimerkki.fi www.esimerkki.fi; root /var/www/example-domain.com/html; index index.html; sijainti / { try_files $uri $uri/ =404; } }
Yllä oleva kokoonpano on samanlainen kuin oletuspalvelinlohkokokoonpano, olemme muuttaneet juuri
lauseke osoittaa uuteen juurihakemistoomme ja muutti palvelimen nimi
verkkotunnukseemme. Samalla kun sijainti{}
lauseke toimii error catch -lauseena, jos tiedostoja ei löydy, ja näyttää asiakkaalle virheen 404.
Seuraavaksi voimme ottaa käyttöön palvelinlohkomme, jotta Nginx palvelee esimerkki.fi
verkkosivut. Palvelinlohkomme käyttöönottamiseksi meidän on luotava symbolilinkki esimerkki.fi
tiedosto osoitteesta sivustot - saatavilla
kohtaan sivustot käytössä
hakemistosta. Voit tehdä tämän suorittamalla:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled
Linkki luodaan sisään sivuston käytössä
hakemisto ja nyt esimerkki.fi
pitäisi olla käytössä. Nyt meillä on kaksi palvelinlohkoa käytössä Nginx-palvelimellamme, jotka vastaavat pyyntöihin perustuen kuunnella
ja palvelimen_nimi
käskyt tallennettu esimerkki.fi
palvelinlohkon konfigurointi.
Suorita:
sudo nginx -t
Käynnistä nyt lopulta Nginx uudelleen, jotta muutokset otetaan käyttöön suorittamalla seuraava komento:
sudo systemctl käynnistä nginx uudelleen
Nginx alkaa palvella palvelinlohkoasi nyt, voit mennä osoitteeseen //verkkotunnuksesi-nimi
ja nähdä verkkosivusi livenä.
merkintä: Jotta yllä oleva osio toimisi, sinun on määritettävä oma verkkotunnus ja vaihdettava se esimerkki.fi
omalla verkkotunnuksellasi. Sinun on myös määritettävä verkkotunnuksesi DNS osoittamaan Nginx-palvelimesi IP-osoite.
Lopuksi olemme tarkastelleet, kuinka Nginx asennetaan, määritetään ufw
salliakseen etäkäytön Nginx-palvelimelle, yhdistetty Nginx-palvelimeen etäyhteyden kautta, tutustunut joihinkin Nginx-perustiedostoihin ja -hakemistoihin ja oppinut asettamaan palvelinlohkon.
Jos haluat tietää ja oppia lisää Nginxistä, saatat haluta nähdä Nginx-wikin.