Како конфигурисати евидентирање и ротацију евиденција у Nginx-у на Ubuntu VPS-у

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;
            }
            
        
  • U gornjem primeru:
    • 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
                }
             
         
  • U gornjem primeru:
    • 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.