在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环境中的日志文件,从而及时发现并解决问题,提高系统的稳定性和安全性。