Kako instalirati Nginx web poslužitelj na Ubuntu 20.04


Nginx je web-poslužitelj otvorenog koda visokih performansi koji ima ogroman tržišni udio u proizvodnim okruženjima. To je lagani i robusni web poslužitelj koji se uglavnom koristi za hostiranje web stranica s velikim prometom.

Povezano čitanje: Kako instalirati Apache web poslužitelj na Ubuntu 20.04

U ovom vodiču naučit ćete kako instalirati web poslužitelj Nginx i konfigurirati blok poslužitelja Nginx (virtualni hostovi) na Ubuntu 20.04 LTS.

Preduvjeti

Za početak provjerite imate li instancu Ubuntu 20.04 LTS sa SSH pristupom i Sudo korisnika s root privilegijama. Osim toga, preporučuje se stabilna internetska veza za instaliranje Nginx paketa.

Instaliranje Nginxa na Ubuntu 20.04

1. Prije instaliranja Nginxa, ažurirajte popise paketa vašeg poslužitelja.

sudo apt update

2. Zatim instalirajte Nginx pokretanjem naredbe:

sudo apt install nginx

Kada se od vas zatraži da nastavite, pritisnite 'Y' na tipkovnici i pritisnite ENTER. Instalacija će biti gotova za samo nekoliko sekundi.

3. Uz uspješno instaliran Nginx, možete ga pokrenuti i potvrditi pokretanjem:

sudo systemctl start nginx
sudo systemctl status nginx

Gornji rezultat jasno pokazuje da Nginx radi.

4. Da provjerite verziju Nginxa, pokrenite:

sudo dpkg -l nginx

Izlaz pokazuje da koristimo Nginx 1.17.10 koji je najnovija verzija u vrijeme pisanja ovog članka.

Otvorite Nginx portove na UFW vatrozidu

Sada kada ste Nginx instalirali i izvodite prema očekivanjima, potrebno je nekoliko prilagodbi da bi se Nginx mogao pristupiti putem web preglednika. Ako koristite UFW vatrozid, trebate dopustiti Nginx profil aplikacije.

Postoje 3 Nginx profila povezana s ufw vatrozidom.

  1. Nginx Full – Ovo otvara port 80 i 443 (za SSL/TLS enkripciju).
  2. Nginx HTTP – Ovo otvara samo priključak 80 (za nekriptirani web promet).
  3. Nginx HTTPS – Otvara samo port 443 (Za SSL/TLS enkripciju).

5. Započnite s omogućavanjem vatrozida na Ubuntu 20.04.


sudo ufw enable

6. Za sada, budući da nismo na šifriranom poslužitelju, dopustit ćemo samo Nginx HTTP profil koji će omogućiti promet na portu 80 .

sudo ufw allow 'Nginx HTTP'

7. Zatim ponovno učitajte vatrozid kako bi promjene ostale postojane.

sudo ufw reload

8. Sada provjerite status vatrozida kako biste provjerili profile koji su dopušteni.

sudo ufw status

Testiranje Nginxa na Ubuntu 20.04

Nginx radi u pregledniku kao što biste očekivali od bilo kojeg web poslužitelja, a najsigurniji način da provjerite radi li prema očekivanjima jest slanje zahtjeva putem preglednika.

9. Idite na svoj preglednik i pregledajte IP adresu ili naziv domene poslužitelja. Za provjeru IP-a vašeg poslužitelja, pokrenite naredbu ifconfig:

ifconfig

10. Ako ste na poslužitelju u oblaku, pokrenite donju naredbu curl da dohvatite javnu IP adresu poslužitelja.

curl ifconfig.me

11. U URL polje vašeg preglednika unesite IP adresu ili naziv domene vašeg poslužitelja i pritisnite ENTER.

http://server-IP or domain-name

Trebali biste dobiti zadanu Nginx stranicu dobrodošlice kao što je prikazano.

Upravljanje Nginx procesom u Ubuntu 20.04

12. Za zaustavljanje web poslužitelja Nginx jednostavno pokrenite:

sudo systemctl stop nginx

13. Za ponovno pokretanje web poslužitelja izvršite:

sudo systemctl start nginx

14. Da biste automatski pokrenuli Nginx pri pokretanju ili ponovnom pokretanju:

sudo systemctl enable nginx

15. Ako želite ponovno pokrenuti web-poslužitelj, posebno nakon izmjena konfiguracijskih datoteka, pokrenite:

sudo systemctl restart nginx

16. Alternativno, možete ponovno učitati kako biste izbjegli prekid veze kao što je prikazano.

sudo systemctl reload nginx

Konfiguriranje Nginx poslužiteljskog bloka u Ubuntu 20.04

Ako planirate ugostiti više od jedne web-lokacije na svom poslužitelju, preporučuje se postavljanje bloka Nginx poslužitelja. Blok poslužitelja je ekvivalent Apacheovog virtualnog hosta.

Prema zadanim postavkama, Nginx isporučuje se sa svojim zadanim blokom poslužitelja koji je postavljen za posluživanje web sadržaja na stazi /var/www/html.

Napravit ćemo zaseban Nginx blok za posluživanje sadržaja naše domene. Za ovaj vodič koristit ćemo domenu crazytechgeek.info.
U vašem slučaju, provjerite jeste li ovo zamijenili svojim imenom domene.

17. Da biste kreirali blok datoteku poslužitelja, prvo kreirajte direktorij za svoju domenu kao što je prikazano.

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

18. Zatim dodijelite vlasništvo novom direktoriju pomoću varijable $USER.

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

19. Također dodijelite dopuštenja direktorija u skladu s time dopuštajući vlasniku da ima sva dopuštenja (čitanje, pisanje i izvršavanje), a drugim stranama dajući samo dopuštenja za čitanje i izvršavanje.

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

20. Unutar imenika domene stvorite index.html datoteku koja će sadržavati web sadržaj domene.

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

Zalijepite sadržaj u nastavku u oglednu datoteku za testiranje.

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

Spremite promjene i izađite iz datoteke.

21. Da bi Nginx web poslužitelj posluživao sadržaj koji ste upravo dodali, trebate izraditi blok poslužitelja s odgovarajućim direktivama. U ovom slučaju, stvorili smo novi blok poslužitelja na:

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

Zalijepite prikazanu konfiguraciju.

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

Spremi i izađi.

22. Sada omogućite datoteku bloka poslužitelja povezujući je s sites-enabled imenikom iz kojeg Nginx poslužitelj čita pri pokretanju.

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

23. Da bi promjene bile izvršene, ponovno pokrenite Nginx web poslužitelj.

sudo systemctl restart nginx

24. Kako biste bili sigurni da su sve konfiguracije u redu, pokrenite naredbu:

nginx -t

Ako su sve konfiguracije u redu, trebali biste dobiti rezultat prikazan u nastavku:

25. Nginx web poslužitelj sada bi trebao posluživati sadržaj vaše domene. Još jednom idite na svoj preglednik i pregledajte domenu vašeg poslužitelja.

http://domain-name

Vaš prilagođeni sadržaj u imeniku vaše domene poslužit će se kako je prikazano.

Važne Nginx konfiguracijske datoteke

Prije nego što završimo, ključno je da ispitamo neke od važnih konfiguracijskih datoteka povezanih s Nginxom.

Nginx konfiguracijske datoteke

  • /etc/nginx/nginx.conf: Ovo je glavna konfiguracijska datoteka. Možete izmijeniti postavke kako bi zadovoljili zahtjeve vašeg poslužitelja.
  • /etc/nginx/sites-available: ovo je direktorij koji pohranjuje konfiguraciju bloka poslužitelja. Nginx koristi blokove poslužitelja samo ako su povezani s imenikom s omogućenim web-mjestima.
  • /etc/nginx/sites-enabled: direktorij sadrži blokove Nginx poslužitelja po web-mjestu koji su već omogućeni.

Nginx zapisničke datoteke

Postoje dvije glavne datoteke dnevnika koje možete koristiti za rješavanje problema s Nginx web poslužiteljem:

  • /var/log/nginx/access.log: Ovo bilježi sve zahtjeve upućene web poslužitelju.
  • /var/log/nginx/error.log: Ovo je datoteka dnevnika pogrešaka i bilježi sve pogreške na koje Nginx naiđe.
Zaključak

Došli smo do kraja ovog vodiča. Pokazali smo kako možete instalirati Nginx na Ubuntu 20.04 i kako možete postaviti blokove Nginx poslužitelja za posluživanje sadržaja vaše domene. Vaše povratne informacije su dobrodošle.