Nginxin asentaminen Ubuntu 20.04 LTS:ään

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ääritystiedosto sivustot - saatavilla kohtaan sivustot 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.