Uvod
Nginx predstavlja robustan i izuzetno efikasan veb server koji se često upotrebljava kao reverzni proksi. Njegova funkcija je da preusmerava zahteve korisnika ka drugim serverima, kao što su veb aplikacije, baze podataka ili drugi veb serveri. Korišćenje Nginx-a kao reverznog proksija donosi brojne prednosti:
- Poboljšana sigurnost: Nginx može delovati kao zaštitni zid, filtrirajući potencijalno štetne zahteve pre nego što stignu do same aplikacije.
- Razvoj i testiranje: Nginx omogućava usmeravanje saobraćaja ka različitim verzijama aplikacije, što olakšava testiranje novih funkcija bez uticaja na proizvodno okruženje.
- Unapređeno upravljanje: Nginx pojednostavljuje konfiguraciju balansiranja opterećenja i drugih funkcija, čineći administraciju veb usluga lakšom.
- Povećane performanse: Zahvaljujući mogućnosti obrade velikog broja zahteva istovremeno, Nginx može značajno poboljšati brzinu i efikasnost vaše veb aplikacije.
Ovaj članak će vas korak po korak voditi kroz proces podešavanja Nginx-a kao reverznog proksija na Ubuntu 22.04 operativnom sistemu.
Preduslovi
Pre početka, potrebno je da ispunite sledeće uslove:
- Instaliran Ubuntu 22.04: Operativni sistem Ubuntu 22.04 možete preuzeti i instalirati sa zvanične veb stranice.
- Superkorisnička prava: Za izvršavanje naredbi u nastavku, morate biti prijavljeni kao superkorisnik ili koristiti komandu
sudo
. - Internet konekcija: Stabilna internet veza je neophodna za preuzimanje i instalaciju Nginx-a.
Korak 1: Instalacija Nginx-a
Kada je vaš sistem pripremljen, možete instalirati Nginx koristeći menadžer paketa apt
. Otvorite terminal i izvršite sledeće komande:
sudo apt update
sudo apt install nginx
Ove komande će preuzeti i instalirati Nginx, zajedno sa svim potrebnim zavisnostima.
Korak 2: Pokretanje Nginx-a
Nakon instalacije, Nginx bi trebalo automatski da se pokrene. Možete proveriti njegov status pomoću sledeće komande:
sudo systemctl status nginx
Ako je status prikazan kao active (running)
, to znači da Nginx ispravno radi.
Korak 3: Konfiguracija nginx.conf
datoteke
Da biste podesili Nginx kao reverzni proksi, potrebno je izmeniti konfiguracionu datoteku nginx.conf
. Ova datoteka se nalazi u direktorijumu /etc/nginx/
.
3.1. Definisanje virtuelnih hostova
Virtuelni host predstavlja konfiguraciju koja određuje kako Nginx obrađuje zahteve za određeni domen. Da biste konfigurisali Nginx da preusmerava saobraćaj ka veb aplikaciji, potrebno je kreirati virtuelni host za taj domen.
Otvorite datoteku nginx.conf
u vašem omiljenom editoru teksta:
sudo nano /etc/nginx/nginx.conf
U datoteci, pronađite sekciju server
i dodajte sledeći blok koda:
server {
listen 80;
server_name example.com www.example.com;
location / {
proxy_pass http://backend_server:8080;
}
}
Objašnjenje:
listen 80;
: Ova linija definiše port na kojem Nginx osluškuje dolazne zahteve. U ovom slučaju, to je standardni HTTP port 80.server_name example.com www.example.com;
: Ova linija specificira domen ili domene za koje se ova konfiguracija primenjuje. U ovom primeru, to suexample.com
iwww.example.com
.location / { ... }
: Ova sekcija određuje radnje koje Nginx treba da izvrši kada primi zahtev za određenom lokacijom (u ovom slučaju, za sve lokacije, jer je/
koren).proxy_pass http://backend_server:8080;
: Ova linija određuje adresu proksi servera na koju Nginx treba da preusmeri zahteve. Ovde je tohttp://backend_server:8080
, gdebackend_server
predstavlja IP adresu ili ime hosta vašeg veb servera, a8080
je port na kojem taj server osluškuje zahteve.
3.2. Finalizacija konfiguracije
Nakon konfigurisanja virtuelnih hostova, sačuvajte datoteku nginx.conf
i ponovo učitajte Nginx:
sudo systemctl reload nginx
Ova komanda će primeniti izmene konfiguracije bez prekida rada Nginx-a.
Korak 4: Testiranje konfiguracije
Da biste proverili da li je konfiguracija Nginx-a ispravna, otvorite veb pretraživač i unesite domen koji ste definisali u server_name
direktivi. Ako je sve ispravno podešeno, trebalo bi da vidite sadržaj veb sajta koji se nalazi na /backend_server
adresi.
Dodatne funkcionalnosti
Pored osnovne konfiguracije, Nginx nudi brojne napredne funkcionalnosti:
- Balansiranje opterećenja: Možete konfigurisati Nginx da distribuira saobraćaj između više veb servera, čime se poboljšava dostupnost i performanse.
- Keširanje: Nginx može keširati statički sadržaj (slike, CSS, JavaScript), što ubrzava isporuku veb sadržaja.
- SSL/TLS: Nginx može biti konfigurisan za korišćenje SSL/TLS sertifikata kako bi enkriptovao saobraćaj između korisnika i veb servera.
Zaključak
Podešavanje Nginx-a kao reverznog proksija je moćan način da unapredite sigurnost, performanse i upravljanje veb serverom. Ovaj vodič je objasnio osnovne korake za konfigurisanje Nginx-a na Ubuntu 22.04. Kada je Nginx podešen kao reverzni proksi, možete ga koristiti za usmeravanje saobraćaja ka različitim veb aplikacijama, veb serverima i bazama podataka, čime se omogućava kreiranje kompleksnih i efikasnih veb arhitektura.
Često postavljana pitanja:
1. Kako da podesim Nginx za balansiranje opterećenja?
> Konfiguracija balansiranja opterećenja se vrši u nginx.conf
datoteci. Potrebno je definisati virtuelni host i navesti više servera uz konfiguraciju metode balansiranja.
2. Kako da konfigurišem Nginx da koristi SSL/TLS?
> Za SSL/TLS konfiguraciju je potreban SSL/TLS sertifikat. Možete ga generisati sami ili dobiti od sertifikacionog autoriteta. Postavite sertifikat u /etc/nginx/ssl/
direktorijum i modifikujte nginx.conf
datoteku da koristi sertifikat.
3. Kako da podesim Nginx da kešira statički sadržaj?
> U location
sekcijama, možete koristiti direktivu proxy_cache
za konfiguraciju Nginx-a da kešira statički sadržaj.
4. Kako da proverim da li Nginx pravilno funkcioniše?
> Koristite komandu sudo systemctl status nginx
za proveru statusa Nginx-a. Takođe, možete proveriti log datoteke u /var/log/nginx/
direktorijumu za pronalaženje mogućih grešaka.
5. Koje su prednosti korišćenja Nginx-a u odnosu na Apache?
> Nginx je poznat po svojoj visokoj performansi, manjoj potrošnji resursa i efikasnijem upravljanju saobraćajem. Često se koristi za veb aplikacije koje zahtevaju veliku skalabilnost i brzinu.
6. Kako da instaliram Nginx na Ubuntu 20.04?
> Postupak instalacije je sličan kao za Ubuntu 22.04. Koristite sudo apt update
i sudo apt install nginx
komande.
7. Kako da ažuriram Nginx na Ubuntu?
> Koristite sudo apt update
i sudo apt upgrade nginx
komande za ažuriranje Nginx-a na najnoviju verziju.
8. Kako da deinstaliram Nginx na Ubuntu?
> Nginx možete deinstalirati pomoću komande sudo apt remove nginx
.
9. Gde mogu pronaći više informacija o Nginx-u?
> Zvaničnu dokumentaciju možete pronaći na zvaničnoj Nginx veb stranici: https://nginx.org/en/docs/.
10. Kako da konfigurišem Nginx da preusmeri saobraćaj na HTTPS?
> U nginx.conf
datoteci, konfigurišite server
sekciju da osluškuje port 443 (HTTPS) i koristi SSL/TLS sertifikat.