Kako instalirati Nginx web server na Ubuntu 20.04


Nginx je opensource web server visokih performansi koji ima ogroman tržišni udio u proizvodnim okruženjima. To je lagan i robustan web server koji se uglavnom koristi za hosting web stranica s velikim prometom.

Povezano čitanje: Kako instalirati Apache web server na Ubuntu 20.04

U ovom vodiču ćete naučiti kako instalirati Nginx web server i konfigurirati blok Nginx servera (virtuelni hostovi) na Ubuntu 20.04 LTS.

Preduvjeti

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

Instaliranje Nginxa na Ubuntu 20.04

1. Prije instaliranja Nginxa, ažurirajte liste paketa vašeg servera.

sudo apt update

2. Zatim instalirajte Nginx pokretanjem naredbe:

sudo apt install nginx

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

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

sudo systemctl start nginx
sudo systemctl status nginx

Izlaz iznad jasno pokazuje da je Nginx pokrenut.

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 zaštitnom zidu

Sada kada imate Nginx instaliran i radi kako se očekuje, potrebno je nekoliko podešavanja da bi se Nginxu moglo pristupiti putem web pretraživača. Ako koristite UFW firewall, morate dozvoliti profil aplikacije Nginx.

Postoje 3 Nginx profila povezana sa ufw firewall-om.

  1. Nginx Full – Ovo otvara oba porta 80 i 443 (za SSL/TLS enkripciju).
  2. Nginx HTTP – Ovaj otvoreni samo port 80 (za nešifrirani web saobraćaj).
  3. Nginx HTTPS – Otvara samo port 443 (za SSL/TLS enkripciju).

5. Počnite tako što ćete omogućiti zaštitni zid na Ubuntu 20.04.


sudo ufw enable

6. Za sada, pošto nismo na šifrovanom serveru, dozvolit ćemo samo Nginx HTTP profil koji će omogućiti promet na portu 80 .

sudo ufw allow 'Nginx HTTP'

7. Zatim ponovo učitajte firewall da bi se promjene nastavile.

sudo ufw reload

8. Sada provjerite status zaštitnog zida da provjerite profile koji su dozvoljeni.

sudo ufw status

Testiranje Nginxa na Ubuntu 20.04

Nginx radi na pretraživaču kao što biste očekivali sa bilo kojim web serverom i najsigurniji način da testirate da li radi kako se očekuje je slanje zahtjeva putem pretraživača.

9. Zato idite na svoj pretraživač i pregledajte IP adresu ili naziv domene servera. Da provjerite IP vašeg servera, pokrenite naredbu ifconfig:

ifconfig

10. Ako ste na serveru u oblaku, pokrenite naredbu curl u nastavku da preuzmete javni IP servera.

curl ifconfig.me

11. U polje URL vašeg pretraživača unesite IP adresu ili naziv domene vašeg servera i pritisnite ENTER.

http://server-IP or domain-name

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

Upravljajte Nginx procesom u Ubuntu 20.04

12. Da zaustavite Nginx web server, jednostavno pokrenite:

sudo systemctl stop nginx

13. Da ponovo pokrenete web server, izvršite:

sudo systemctl start nginx

14. Da automatski pokrenete Nginx pri pokretanju ili ponovnom pokretanju:

sudo systemctl enable nginx

15. Ako želite ponovo pokrenuti web server posebno nakon izmjena konfiguracijskih datoteka, pokrenite:

sudo systemctl restart nginx

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

sudo systemctl reload nginx

Konfiguriranje bloka Nginx servera u Ubuntu 20.04

Ako planirate da ugostite više od jedne stranice na svom serveru, tada se preporučuje postavljanje Nginx serverskog bloka. Blok servera je ekvivalent Apacheovom virtuelnom hostu.

Podrazumevano, Nginx se isporučuje sa svojim zadanim serverskim blokom koji je postavljen da služi web sadržaj na /var/www/html putanji.

Napravit ćemo poseban blok Nginx koji će služiti sadržaju naše domene. Za ovaj vodič koristit ćemo domenu crazytechgeek.info.
Za svoj slučaj, pobrinite se da ovo zamijenite vlastitim imenom domene.

17. Da kreirate serverski blok fajl, prvo kreirajte direktorijum za svoju domenu kao što je prikazano.

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

18. Zatim dodijelite vlasništvo novom direktoriju koristeći varijablu $USER.

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

19. Pobrinite se da također dodijelite dozvole direktorija u skladu s tim, dozvoljavajući vlasniku da ima sve dozvole (čitanje, pisanje i izvršavanje) i dajući drugim stranama dozvole samo za čitanje i izvršavanje.

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

20. Unutar direktorija domene kreirajte index.html datoteku koja će sadržavati web sadržaj domene.

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

Zalijepite sadržaj ispod u uzorak datoteke za testiranje.

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

Sačuvajte promjene i izađite iz datoteke.

21. Da bi Nginx web server posluživao sadržaj koji ste upravo dodali, trebate kreirati blok servera s odgovarajućim direktivama. U ovom slučaju, kreirali smo novi blok servera na adresi:

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

Sačuvaj i izađi.

22. Sada omogućite serverski blok fajl tako što ćete ga povezati sa direktorijumom sa omogućenim lokacijama iz kojeg Nginx server čita pri pokretanju.

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

23. Da bi se promjene izvršile, ponovo pokrenite Nginx web server.

sudo systemctl restart nginx

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

nginx -t

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

25. Nginx web server bi sada trebao opsluživati sadržaj vaše domene. Još jednom, idite na svoj pretraživač i pregledajte domenu vašeg servera.

http://domain-name

Vaš prilagođeni sadržaj u imeniku vaše domene bit će serviran kao što 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 glavni konfiguracioni fajl. Možete izmijeniti postavke kako biste zadovoljili zahtjeve vašeg servera.
  • /etc/nginx/sites-available: Ovo je direktorij koji pohranjuje konfiguraciju bloka servera. Nginx koristi serverske blokove samo ako su povezani sa direktorijumom na kojem su omogućene stranice.
  • /etc/nginx/sites-enabled: Direktorij sadrži blokove Nginx servera po lokaciji koji su već omogućeni.

Nginx log fajlovi

Postoje dvije glavne datoteke dnevnika koje možete koristiti za rješavanje problema sa svojim Nginx web serverom:

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

Stigli smo do kraja ovog tutorijala. Pokazali smo kako možete instalirati Nginx na Ubuntu 20.04 i kako možete postaviti blokove Nginx servera da opslužuju sadržaj vaše domene. Vaše povratne informacije su dobrodošle.