在Ubuntu LNMP(Linux, Nginx, MySQL, PHP)环境中进行日志管理,主要涉及对Web服务器(Nginx或Apache)、数据库服务器(MySQL)以及应用程序的日志文件进行有效的收集、存储、监控和分析。以下是一些建议的步骤和方法:
/var/log/nginx/
目录下,包含访问日志(access.log)和错误日志(error.log)。/var/log/apache2/
目录下,包含访问日志(access.log)和错误日志(error.log)。/var/log/mysql/
目录下,包括一般查询日志(general.log)、慢查询日志(slow.log)和错误日志(error.log)。sudo apt-get update
sudo apt-get install logrotate
/etc/logrotate.conf
,查看特定服务的配置文件 /etc/logrotate.d/
,创建自定义配置文件,例如:sudo touch /etc/logrotate.d/php-app
sudo nano /etc/logrotate.d/php-app
/var/log/php-app/*.log {
daily rotate 7
compress
delaycompress
missingok
notifempty
create 0640 www-data adm
sharedscripts
postrotate
if [ -f /var/run/php-fpm/php-fpm.sock ]; then
kill -USR2 $(cat /var/run/php-fpm/php-fpm.pid)
fi
endscript
}
sudo logrotate -d /etc/logrotate.d/php-app
sudo systemctl enable logrotate
sudo systemctl start logrotate
sudo apt-get install rsyslog
/etc/rsyslog.conf
和 /etc/rsyslog.d/
目录下的文件)journalctl --since "2021-01-01" --until "2021-01-31"
tail -f
、cat
、grep
等实时查看和分析日志文件。journalctl
命令查询特定时间段的日志。Logwatch
、Logalyze
等进行深入分析。tail
命令结合 watch
命令,实时查看日志文件的变化。通过上述方法,可以有效地管理和分析Ubuntu LNMP环境中的日志文件,从而及时发现并解决问题,提高系统的稳定性和安全性。