Kako namestiti spletni strežnik Nginx v Ubuntu 20.04


Nginx je odprt vir, visoko zmogljiv spletni strežnik, ki ima velik tržni delež v proizvodnih okoljih. Gre za lahek in robusten spletni strežnik, ki se večinoma uporablja pri gostovanju spletnih mest z velikim prometom.

Sorodno branje: Kako namestiti spletni strežnik Apache v Ubuntu 20.04

V tem priročniku boste izvedeli, kako namestiti spletni strežnik Nginx in konfigurirati blok strežnika Nginx (navidezni gostitelji) na Ubuntu 20.04 LTS.

Za začetek zagotovite, da imate primerek Ubuntu 20.04 LTS z dostopom SSH in uporabnika Sudo s korenskimi pravicami. Poleg tega je za namestitev paketov Nginx priporočljiva stabilna internetna povezava.

Namestitev Nginxa na Ubuntu 20.04

1. Pred namestitvijo Nginxa posodobite sezname paketov strežnika.

$ sudo apt update

2. Nato namestite Nginx z zagonom ukaza:

$ sudo apt install nginx

Ob pozivu za nadaljevanje pritisnite Y na tipkovnici in pritisnite ENTER. Namestitev bo izvedena v samo nekaj sekundah.

3. Ko je Nginx uspešno nameščen, ga lahko zaženete in preverite tako, da zaženete:

$ sudo systemctl start nginx
$ sudo systemctl status nginx

Zgornji izhod jasno kaže, da Nginx deluje.

4. Če želite preveriti različico Nginxa, zaženite:

$ sudo dpkg -l nginx

Izhod kaže, da uporabljamo Nginx 1.17.10, ki je zadnja različica v času pisanja članka.

Odprite vrata Nginx na požarnem zidu UFW

Zdaj, ko imate Nginx nameščen in deluje po pričakovanjih, je za dostop do Nginxa prek spletnega brskalnika potrebno nekaj prilagoditev. Če uporabljate požarni zid UFW, morate dovoliti profil aplikacije Nginx.

Z požarnim zidom ufw so povezani 3 profili Nginx.

  1. Nginx Full - s tem se odpreta vrata 80 in 443 (za šifriranje SSL/TLS).
  2. Nginx HTTP - Ta odprta vrata 80 (za nešifriran spletni promet).
  3. Nginx HTTPS - odpre samo vrata 443 (za šifriranje SSL/TLS).

5. Začnite z omogočanjem požarnega zidu v Ubuntu 20.04.

$ sudo ufw enable

6. Za zdaj nismo na šifriranem strežniku, dovolili bomo le profil Nginx HTTP, ki bo omogočal promet na vratih 80.

$ sudo ufw allow 'Nginx HTTP'

7. Nato znova naložite požarni zid, da spremembe ne bodo odpravljene.

$ sudo ufw reload

8. Zdaj preverite stanje požarnega zidu in preverite dovoljene profile.

$ sudo ufw status

Testiranje Nginxa na Ubuntu 20.04

Nginx deluje v brskalniku, kot bi pričakovali pri katerem koli spletnem strežniku, in najzanesljivejši način za preizkus, ali se ta izvaja, je pošiljanje zahtev prek brskalnika.

9. Torej pojdite v svoj brskalnik in prebrskajte IP naslov ali ime domene strežnika. Če želite preveriti IP strežnika, zaženite ukaz ifconfig:

$ ifconfig

10. Če uporabljate strežnik v oblaku, zaženite spodnji ukaz curl, da pridobite javni IP strežnika.

$ curl ifconfig.me

11. V polje za URL brskalnika vnesite naslov IP ali ime domene strežnika in pritisnite ENTER.

http://server-IP or domain-name

Dobili bi privzeto pozdravno stran Nginxa, kot je prikazano.

Upravljanje procesa Nginx v Ubuntu 20.04

12. Če želite ustaviti spletni strežnik Nginx, preprosto zaženite:

$ sudo systemctl stop nginx

13. Če želite spletni strežnik znova prikazati, zaženite:

$ sudo systemctl start nginx

14. Če želite samodejno zagnati Nginx med zagonom ali ponovnim zagonom:

$ sudo systemctl enable nginx

15. Če želite spletni strežnik znova zagnati, še posebej po spremembi konfiguracijskih datotek, zaženite:

$ sudo systemctl restart nginx

16. Lahko pa tudi znova naložite, da preprečite spuščanje povezav, kot je prikazano.

$ sudo systemctl reload nginx

Konfiguriranje strežniškega bloka Nginx v Ubuntu 20.04

Če nameravate na svojem strežniku gostiti več kot eno spletno mesto, je zelo priporočljiva nastavitev bloka Nginx Server. Strežniški blok je enakovreden virtualnemu gostitelju Apache.

Nginx je privzeto dobavljen s privzetim strežniškim blokom, ki je nastavljen za strežbo spletne vsebine na poti /var/www/html .

Ustvarili bomo ločen blok Nginx, ki bo služil vsebini naše domene. Za ta vodnik bomo uporabili domeno crazytechgeek.info .
Za svoj primer poskrbite, da boste to zamenjali s svojim domenskim imenom.

17. Če želite ustvariti datoteko blokov strežnika, najprej ustvarite imenik za svojo domeno, kot je prikazano.

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

18. Nato novemu imeniku dodelite lastništvo s spremenljivko $USER .

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

19. Zagotovite, da ustrezno dodelite tudi dovoljenja za imenik, ki lastniku omogočijo, da ima vsa dovoljenja (branje, pisanje in izvrševanje) in dodelite dovoljenja drugim za branje in izvajanje.

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

20. V imeniku domene ustvarite datoteko index.html , ki bo vsebovala spletno vsebino domene.

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

Spodnjo vsebino prilepite v vzorčno preskusno datoteko.

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

Shranite spremembe in zapustite datoteko.

21. Da bo spletni strežnik Nginx služil vsebino, ki ste jo pravkar dodali, morate ustvariti strežniški blok z ustreznimi direktivami. V tem primeru smo ustvarili nov strežniški blok pri:

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

Prilepite prikazano konfiguracijo.

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;
        }
}

Shrani in izstopi.

22. Zdaj omogočite datoteko blokov strežnika tako, da jo povežete z imenikom, ki omogoča spletna mesta, iz katerega strežnik Nginx bere ob zagonu.

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

23. Za izvedbo sprememb znova zaženite spletni strežnik Nginx.

$ sudo systemctl restart nginx

24. Da se prepričate, da so vse konfiguracije v redu, zaženite ukaz:

$ nginx -t

Če so vse konfiguracije v redu, dobite spodnji izhod:

25. Spletni strežnik Nginx bi zdaj moral služiti vsebini vaše domene. Še enkrat pojdite v brskalnik in brskajte po domeni strežnika.

http://domain-name

Vsebina po meri v imeniku vaše domene bo prikazana, kot je prikazano.

Pomembne konfiguracijske datoteke Nginx

Preden zaključimo, je ključnega pomena, da preučimo nekatere pomembne konfiguracijske datoteke, povezane z Nginxom.

  • /etc/nginx/nginx.conf: To je glavna konfiguracijska datoteka. Nastavitve lahko spremenite tako, da ustrezajo zahtevam vašega strežnika.
  • /etc/nginx/sites-available: To je imenik, ki shranjuje konfiguracijo strežniškega bloka. Nginx strežniške bloke uporablja le, če so povezani z imenikom z omogočenimi spletnimi mesti.
  • /etc/nginx/sites-enabled: Imenik vsebuje bloke strežnika Nginx, ki so že omogočeni.

Za odpravljanje težav s spletnim strežnikom Nginx lahko uporabite dve glavni dnevniški datoteki:

  • /var/log/nginx/access.log: To zabeleži vse zahteve, poslane spletnemu strežniku.
  • /var/log/nginx/error.log: To je datoteka dnevnika napak in beleži vse napake, s katerimi se srečuje Nginx.

Prišli smo do konca te vaje. Pokazali smo, kako lahko Nginx namestite v Ubuntu 20.04 in kako lahko nastavite strežniške bloke Nginx, da služijo vsebini vaše domene. Vaše povratne informacije so dobrodošle.