在Debian系统下,Nginx日志的管理可以通过配置日志服务(如rsyslog或syslog-ng)以及使用logrotate工具来实现。以下是详细的步骤和方法:
sudo apt update
sudo apt install rsyslog
/etc/rsyslog.conf
或 /etc/rsyslog.d/
目录下。ModLoad imfile
InputFileName /var/log/nginx/access.log
InputFileTag nginx-access:InputFile
InputFileStateFile stat-nginx-access
InputFileSeverity info
InputFileFacility local7
InputFilePollInterval 10
InputFilePersistStateInterval 200
InputRunFileMonitor
ModLoad imfile
InputFileName /var/log/nginx/error.log
InputFileTag nginx-error:InputFile
InputFileStateFile stat-nginx-error
InputFileSeverity warning
InputFileFacility local7
InputFilePollInterval 10
InputFilePersistStateInterval 200
InputRunFileMonitor
sudo systemctl restart rsyslog
tail -f /var/log/nginx/access.log
cat /var/log/nginx/error.log
grep "error" /var/log/nginx/error.log
less /var/log/nginx/access.log
head -n 20 /var/log/nginx/access.log
wc -l /var/log/nginx/access.log
sed 's/old/new/g' /var/log/nginx/access.log
awk '{print 1}' /var/log/nginx/access.log
find /var/log -name "*.log"
gzip /var/log/nginx/access.log
gunzip /var/log/nginx/access.log.gz
sudo apt-get install logrotate
sudo nano /etc/logrotate.d/nginx
/var/log/nginx/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 0640 www-data adm
sharedscripts
postrotate
if [ -f /var/run/nginx.pid ]; then
kill -USR1 $(cat /var/run/nginx.pid)
fi
endscript
}
sudo logrotate -d /etc/logrotate.d/nginx
logrotate 通常由每日 cron 任务自动运行。您可以检查 /etc/cron.daily/logrotate
文件以确认:
cat /etc/cron.daily/logrotate
通过上述配置和命令,可以有效地管理和存储Nginx的日志信息,确保系统的安全性和可维护性。