Како конфигурисати евидентирање и ротацију евиденција у Nginx-у на Ubuntu VPS-у
Увод
Као системски администратор, конфигурисање ефикасног евидентирања и ротације евиденција је од суштинског значаја за обезбеђивање безбедности и доброг функционисања вашег веб сервера. Nginx, популарни веб сервер и proxy, нуди флексибилне опције евидентирања које вам омогућавају да забележите и пратите приступ вашем сајту и активности сервера. Поред тога, ротација евиденција је неопходна за управљање растућим датотекама евиденција и спречавање претицања капацитета на диску. Овај водич корак по корак ће вас провести кроз процес конфигурисања евидентирања и ротације евиденција у Nginx-у на Ubuntu VPS-у.
Конфигурисање евидентирања у Nginx-у
1. Уредите фајл конфигурације Nginx-а:
– Користите било који текстовни уређивач по вашем избору (нпр. nano, vi, emacs) да бисте отворили фајл /etc/nginx/nginx.conf
.
– Додајте следећи блок http
заснивајући се на вашим захтевима за евидентирање:
http {
Преглед садржаја
...
Конфигурација евидентирања
access_log /var/log/nginx/access.log combined;
error_log /var/log/nginx/error.log;
...
}
– У горњем примеру:
– access_log
директива дефинише локацију и формат за евиденцију приступа.
– error_log
директива дефинише локацију и формат за евиденцију грешака.
– combined
формат евиденције је стандардни формат који бележи информације као што су IP адреса, време, URI, код одговора и величина бајта.
2. Дефинисање нивоа евидентирања:
– За прецизнију контролу над евидентирањем, можете дефинисати нивое евидентирања користећи log_level
директиву. Нивои евидентирања распоређени су од најнижег до највишег:
– debug
– info
– notice
– warn
– error
– crit
– На пример, да бисте забележили све евиденцијске поруке о грешци и упозорењу, додајте следеће:
http {
...
log_level warn;
...
}
3. Поново покрените Nginx:
– Када завршите са конфигурисањем, поново покрените Nginx сервер да бисте применили промене:
sudo systemctl restart nginx
Конфигурисање ротације евиденција
1. Инсталирајте logrotate:
– Logrotate је корисна апликација која аутоматизује ротацију евиденција. Инсталирајте га користећи следећу команду:
sudo apt install logrotate
2. Конфигуришите logrotate:
– Отворите фајл конфигурације /etc/logrotate.d/nginx
користећи текстовни уређивач по вашем избору.
– Додајте следећи блок конфигурације:
/var/log/nginx/*.log {
weekly
rotate 4
compress
missingok
notifempty
create 644 nginx nginx
}
– У горњем примеру:
– weekly
означава да ће ротација бити извршена недељно.
– rotate 4
задржава последње четири ротиране евиденције.
– compress
компримује ротиране евиденције за уштеду простора на диску.
– missingok
спречава logrotate да се прекине ако не постоје евиденцијски фајлови.
– notifempty
спречава logrotate да ротира празне евиденцијске фајлове.
– create 644 nginx nginx
креира нови празан евиденцијски фајл ако не постоји.
3. Подесите cron задатке:
– Додајте следећи ред у crontab (користите crontab -e
) да извршите ротацију евиденција током недељне промене дана:
0 0 0 /usr/sbin/logrotate /etc/logrotate.conf
Закључак
Конфигурисањем евидентирања и ротације евиденција у Nginx-у на Ubuntu VPS-у, можете ефикасно забележити и пратити приступ вашем сајту и активности сервера. Ротација евиденција осигурава управљање растућим датотекама евиденција и спречава претицање капацитета на диску. Имплементирањем ових конфигурација, можете побољшати безбедност свог сервера, олакшати решавање проблема и осигурати глатко функционисање веб апликација.
Често постављана питања
1. Шта је logrotate?
– Logrotate је апликација која аутоматизује ротацију евиденција.
2. Зашто је ротација евиденција важна?
– Ротација евиденција спречава претицање капацитета на диску и омогућава ефикасније управљање датотекама евиденција.
3. Како могу да проверим статус евидентирања у Nginx-у?
– Можете користити nginx -T
команду да проверите статус конфигурације евидентирања.
4. Како могу да дефинишем прилагођене формате евиденције?
– Можете користити log_format
директиву да дефинишете прилагођене формате евиденције за Nginx.
5. Које су различите опције нивоа евидентирања?
– Nginx подржава следеће нивое евидентирања: debug
, info
, notice
, warn
, error
и crit
.
6. Који су параметри ротације евиденција које могу да конфигуришем помоћу logrotate?
– Важни параметри ротације евиденција које можете да конфигуришете помоћу logrotate укључују период ротације, број ротираних евиденција које треба задржати, компресију и руковање са празним евиденцијским фајловима.
7. Како могу да ротирам евиденције на дневном нивоу уместо недељног?
– У конфигурацији logrotate, можете да замените weekly
са daily
да бисте ротирали евиденције на дневном нивоу.
8. Шта ако не желим да компримујем ротиране евиденције?
– Уклоните compress
опцију из конфигурације logrotate да бисте онемогућили компресију ротираних евиденција.
9. Како могу да додатно подесим logrotate за потребе свог сервера?
– Опширна документација о logrotate-у је доступна на званичном веб сајту Logrotate-а.
10. Где могу да пронађем додатне ресурсе за евидентирање и ротацију евиденција у Nginx-у?
– Можете се обратити званичној документацији Nginx-а и [документацији Logrotate-а](https://www.log