Nginx-verkkopalvelimen asentaminen Ubuntu 20.04:ään


Nginx on avoimen lähdekoodin, korkean suorituskyvyn verkkopalvelin, jolla on valtava markkinaosuus tuotantoympäristöissä. Se on kevyt ja vankka verkkopalvelin, jota käytetään enimmäkseen suuren liikenteen verkkosivustojen isännöimiseen.

Aiheeseen liittyvää luettavaa: Apache-verkkopalvelimen asentaminen Ubuntu 20.04:ään

Tässä oppaassa opit asentamaan Nginx-verkkopalvelimen ja määrittämään Nginx-palvelinlohkon (virtuaaliset isännät) Ubuntu 20.04 LTS:ssä.

Edellytykset

Aloita varmistamalla, että sinulla on Ubuntu 20.04 LTS, jossa on SSH-käyttöoikeus, ja Sudo-käyttäjä, jolla on pääkäyttäjän oikeudet. Lisäksi Nginx-pakettien asentamiseen suositellaan vakaata internetyhteyttä.

Nginxin asentaminen Ubuntuun 20.04

1. Päivitä palvelimesi pakettiluettelot ennen Nginxin asentamista.

sudo apt update

2. Asenna sitten Nginx suorittamalla komento:

sudo apt install nginx

Kun sinua kehotetaan jatkamaan, paina näppäimistön Y ja paina ENTER. Asennus tapahtuu muutamassa sekunnissa.

3. Kun Nginx on asennettu onnistuneesti, voit käynnistää ja vahvistaa sen suorittamalla:

sudo systemctl start nginx
sudo systemctl status nginx

Yllä oleva tulos osoittaa selvästi, että Nginx on käynnissä.

4. Tarkista Nginx-versio suorittamalla:

sudo dpkg -l nginx

Tulos osoittaa, että käytössämme on Nginx 1.17.10, joka on uusin versio tämän artikkelin kirjoittamishetkellä.

Avaa Nginx-portit UFW-palomuurissa

Nyt kun Nginx on asennettu ja se toimii odotetusti, Nginx:n käyttäminen verkkoselaimen kautta edellyttää muutamia säätöjä. Jos käytät UFW-palomuuria, sinun on sallittava Nginx-sovellusprofiili.

Ufw-palomuuriin liittyy 3 Nginx-profiilia.

  1. Nginx Full – Tämä avaa sekä portin 80 että 443 (SSL-/TLS-salaukselle).
  2. Nginx HTTP – Tämä vain avoin portti 80 (salaamattomalle verkkoliikenteelle).
  3. Nginx HTTPS – Avaa vain portin 443 (SSL-/TLS-salaukselle).

5. Aloita ottamalla palomuuri käyttöön Ubuntu 20.04:ssä.


sudo ufw enable

6. Toistaiseksi, koska emme ole salatulla palvelimella, sallimme vain Nginx HTTP -profiilin, joka sallii liikenteen portissa 80 .

sudo ufw allow 'Nginx HTTP'

7. Lataa sitten palomuuri uudelleen, jotta muutokset pysyvät voimassa.

sudo ufw reload

8. Tarkista nyt palomuurin tila ja vahvista sallitut profiilit.

sudo ufw status

Nginxin testaus Ubuntussa 20.04

Nginx toimii selaimessa kuten voit odottaa minkä tahansa verkkopalvelimen kanssa, ja varmin tapa testata, toimiiko se odotetulla tavalla, on lähettää pyyntöjä selaimen kautta.

9. Siirry siis selaimeesi ja selaa palvelimen IP-osoitetta tai verkkotunnuksen nimeä. Tarkista palvelimesi IP suorittamalla ifconfig-komento:

ifconfig

10. Jos käytät pilvipalvelinta, nouda palvelimen julkinen IP-osoite suorittamalla alla oleva curl-komento.

curl ifconfig.me

11. Kirjoita selaimen URL-osoitekenttään palvelimesi IP-osoite tai verkkotunnuksen nimi ja paina ENTER.

http://server-IP or domain-name

Sinun pitäisi saada oletusarvoinen Nginx-tervetulosivu kuvan mukaisesti.

Hallitse Nginx-prosessia Ubuntu 20.04:ssä

12. Pysäytä Nginx-verkkopalvelin suorittamalla:

sudo systemctl stop nginx

13. Voit tuoda verkkopalvelimen uudelleen käyttöön seuraavasti:

sudo systemctl start nginx

14. Voit käynnistää Nginxin automaattisesti käynnistyksen tai uudelleenkäynnistyksen yhteydessä seuraavasti:

sudo systemctl enable nginx

15. Jos haluat käynnistää verkkopalvelimen uudelleen erityisesti sen jälkeen, kun olet tehnyt muutoksia määritystiedostoihin, suorita:

sudo systemctl restart nginx

16. Vaihtoehtoisesti voit ladata uudelleen välttääksesi yhteyksien katkeamisen kuvan osoittamalla tavalla.

sudo systemctl reload nginx

Nginx-palvelinlohkon määrittäminen Ubuntu 20.04:ssä

Jos aiot isännöidä palvelimellasi useampaa kuin yhtä sivustoa, Nginx-palvelinlohkon määrittäminen on erittäin suositeltavaa. Palvelinlohko vastaa Apachen virtuaalista isäntää.

Oletuksena Nginx toimitetaan oletuspalvelinlohkollaan, joka on asetettu palvelemaan verkkosisältöä /var/www/html-polulla.

Aiomme luoda erillisen Nginx-lohkon palvelemaan verkkotunnuksemme sisältöä. Tässä oppaassa käytämme verkkotunnusta crazytechgeek.info.
Varmista omassa tapauksessasi, että korvaat tämän omalla verkkotunnuksellasi.

17. Jos haluat luoda palvelinlohkotiedoston, luo ensin verkkotunnuksellesi hakemisto kuvan mukaisesti.

sudo mkdir -p /var/www/crazytechgeek.info/html

18. Määritä seuraavaksi omistajuus uudelle hakemistolle $USER-muuttujan avulla.

sudo chown -R $USER:$USER /var/www/crazytechgeek.info/html

19. Varmista, että annat myös hakemiston käyttöoikeudet vastaavasti, jolloin omistajalla on kaikki luvat (luku-, kirjoitus- ja suoritusoikeudet) ja muille osapuolille annetaan vain luku- ja suoritusoikeudet.

sudo chmod -R 755 /var/www/crazytechgeek.info

20. Luo verkkotunnuksen hakemistoon index.html tiedosto, joka sisältää verkkotunnuksen verkkosisällön.

sudo vim /var/www/crazytechgeek.info/html/index.html

Liitä alla oleva sisältö esimerkkitestaustiedostoon.

<html>
    <head>
        <title>Welcome to your_domain!</title>
    </head>
    <body>
        <h1>Bravo! Your server block is working as expected!</h1>
    </body>
</html>

Tallenna muutokset ja poistu tiedostosta.

21. Jotta Nginx-verkkopalvelin voi palvella juuri lisäämääsi sisältöä, sinun on luotava palvelinlohko asianmukaisilla ohjeilla. Tässä tapauksessa loimme uuden palvelinlohkon osoitteessa:

sudo vim /etc/nginx/sites-available/crazytechgeek.info

Liitä näytetty kokoonpano.

server {
        listen 80;
        listen [::]:80;

        root /var/www/crazytechgeek.info/html;
        index index.html index.htm index.nginx-debian.html;

        server_name crazytechgeek.info  www.crazytechgeek.info;

        location / {
                try_files $uri $uri/ =404;
        }
}

Tallenna ja poistu.

22. Ota nyt palvelimen estotiedosto käyttöön linkittämällä se sivustot-käytössä olevaan-hakemistoon, josta Nginx-palvelin lukee käynnistyksen yhteydessä.

sudo ln -s /etc/nginx/sites-available/crazytechgeek.info /etc/nginx/sites-enabled/

23. Jotta muutokset tulevat voimaan, käynnistä Nginx-verkkopalvelin uudelleen.

sudo systemctl restart nginx

24. Suorita komento varmistaaksesi, että kaikki määritykset ovat kunnossa:

nginx -t

Jos kaikki kokoonpanot ovat kunnossa, sinun pitäisi saada alla näkyvä tulos:

25. Nginx-verkkopalvelimen pitäisi nyt palvella verkkotunnuksesi sisältöä. Siirry jälleen kerran selaimeesi ja selaa palvelimesi verkkotunnusta.

http://domain-name

Verkkotunnuksesi hakemistossa olevaa mukautettua sisältöäsi näytetään kuvan mukaisesti.

Tärkeät Nginx-määritystiedostot

Ennen kuin päätämme, on erittäin tärkeää tutkia joitain Nginxiin liittyviä tärkeitä määritystiedostoja.

Nginx-määritystiedostot

  • /etc/nginx/nginx.conf: Tämä on tärkein määritystiedosto. Voit muokata asetuksia vastaamaan palvelimesi vaatimuksia.
  • /etc/nginx/sites-available: Tämä on hakemisto, joka tallentaa palvelinlohkon määritykset. Nginx käyttää palvelinlohkoja vain, jos ne on linkitetty sivustoja tukevaan hakemistoon.
  • /etc/nginx/sites-enabled: Hakemisto sisältää sivustokohtaisia Nginx-palvelinlohkoja, jotka on jo otettu käyttöön.

Nginx-lokitiedostot

Voit käyttää Nginx-verkkopalvelimesi vianmääritykseen kahta päälokitiedostoa:

  • /var/log/nginx/access.log: Tämä kirjaa kaikki verkkopalvelimelle tehdyt pyynnöt.
  • /var/log/nginx/error.log: Tämä on virhelokitiedosto, joka tallentaa kaikki Nginxin kohtaamat virheet.
Johtopäätös

Olemme saavuttaneet tämän opetusohjelman loppuun. Olemme näyttäneet, kuinka voit asentaa Nginxin Ubuntu 20.04:ään ja kuinka voit määrittää Nginx-palvelinlohkoja palvelemaan verkkotunnuksesi sisältöä. Palautteesi on tervetullutta.