Za svakog administratora sistema, ključno je pravilno konfigurisanje sistema evidentiranja i rotacije log fajlova kako bi se osigurala sigurnost i optimalan rad web servera. Nginx, kao popularan web server i proxy, pruža fleksibilne opcije evidentiranja, omogućavajući vam da pratite pristup vašem sajtu i aktivnosti servera. Uz to, rotacija logova je neophodna za upravljanje rastućim datotekama i sprečavanje preopterećenja diska. Ovaj vodič će vam korak po korak objasniti kako da podesite evidentiranje i rotaciju log fajlova na Nginx serveru na Ubuntu VPS-u.
Konfigurisanje Evidentiranja u Nginx-u
1. Izmena konfiguracionog fajla Nginx-a:
- Koristite tekstualni editor po izboru (npr. nano, vi, emacs) da otvorite fajl
/etc/nginx/nginx.conf
. - Unutar
http
bloka, dodajte sledeće direktive za podešavanje evidentiranja prema vašim potrebama:
http {
access_log /var/log/nginx/access.log combined;
error_log /var/log/nginx/error.log;
}
access_log
direktiva definiše lokaciju i format logova pristupa.error_log
direktiva određuje lokaciju i format logova grešaka.combined
format je standardni format koji beleži IP adresu, vreme, URI, kod odgovora i veličinu u bajtovima.
2. Definisanje nivoa evidentiranja:
- Za precizniju kontrolu, možete koristiti
log_level
direktivu. Nivoi su rangirani od najnižeg do najvišeg: debug
info
notice
warn
error
crit
- Na primer, za snimanje svih grešaka i upozorenja, dodajte sledeće:
http {
log_level warn;
}
3. Restartovanje Nginx-a:
- Nakon svih izmena, ponovo pokrenite Nginx server da bi promene bile aktivne:
sudo systemctl restart nginx
Konfigurisanje Rotacije Logova
1. Instalacija logrotate:
- Logrotate je alatka za automatizaciju rotacije log fajlova. Instalirajte je pomoću sledeće komande:
sudo apt install logrotate
2. Podešavanje logrotate:
- Otvorite konfiguracioni fajl
/etc/logrotate.d/nginx
sa tekstualnim editorom. - Dodajte sledeći konfiguracioni blok:
/var/log/nginx/*.log {
weekly
rotate 4
compress
missingok
notifempty
create 644 nginx nginx
}
weekly
označava da će rotacija biti izvršena jednom nedeljno.rotate 4
čuva poslednja četiri rotirana log fajla.compress
kompresuje rotirane fajlove kako bi se uštedeo prostor na disku.missingok
sprečava prekid logrotate procesa ako log fajlovi ne postoje.notifempty
sprečava rotaciju praznih fajlova.create 644 nginx nginx
kreira novi prazan log fajl ako ne postoji.
3. Podešavanje cron zadataka:
- Dodajte sledeću liniju u crontab (koristite
crontab -e
) da rotacija bude pokrenuta jednom nedeljno:
0 0 * * 0 /usr/sbin/logrotate /etc/logrotate.conf
Zaključak
Pravilnim podešavanjem evidentiranja i rotacije logova u Nginx-u na Ubuntu VPS-u, efikasno ćete pratiti pristup vašem sajtu i aktivnosti servera. Rotacija logova osigurava upravljanje rastućim fajlovima i sprečava preopterećenje diska. Implementacijom ovih konfiguracija, poboljšavate sigurnost servera, olakšavate rešavanje problema i garantujete nesmetan rad web aplikacija.
Često Postavljana Pitanja
1. Šta je logrotate?
– Logrotate je aplikacija koja automatizuje rotaciju log fajlova.
2. Zašto je rotacija logova važna?
– Rotacija logova sprečava preopterećenje diska i omogućava efikasnije upravljanje fajlovima.
3. Kako mogu da proverim status evidentiranja u Nginx-u?
– Možete koristiti nginx -T
komandu da proverite konfiguraciju evidentiranja.
4. Kako mogu definisati prilagođene formate logova?
– Možete koristiti log_format
direktivu da definišete sopstvene formate logova.
5. Koji su različiti nivoi evidentiranja?
– Nginx podržava nivoe: debug
, info
, notice
, warn
, error
i crit
.
6. Koji su parametri rotacije logova koje mogu konfigurisati pomoću logrotate?
– Važni parametri su period rotacije, broj rotiranih logova za čuvanje, kompresija i upravljanje praznim fajlovima.
7. Kako mogu rotirati logove dnevno umesto nedeljno?
– U konfiguraciji logrotate, zamenite weekly
sa daily
.
8. Šta ako ne želim kompresovati rotirane logove?
– Uklonite compress
opciju iz konfiguracije logrotate.
9. Kako mogu dodatno podesiti logrotate?
– Opširna dokumentacija je dostupna na zvaničnom web sajtu Logrotate-a.
10. Gde mogu naći dodatne resurse za evidentiranje i rotaciju logova u Nginx-u?
– Možete se obratiti zvaničnoj Nginx dokumentaciji i dokumentaciji Logrotate-a.