在LNMP(Linux, Nginx, MySQL, PHP)环境下进行日志管理,主要包括以下几个方面:
access_log
指令指定日志文件的路径和格式。例如:access_log /var/log/nginx/access.log;
php.ini
文件进行配置。可以设置日志级别、日志文件路径等。例如:error_reporting = E_ALL
display_errors = Off
log_errors = On
error_log = /var/log/php-fpm/www-error.log
error_reporting()
函数动态设置日志级别。my.cnf
或my.ini
)来配置这些日志的生成和存储路径。slow_query_log = Off
logrotate
工具来实现日志轮转。logrotate
的示例:/var/log/nginx/*.log {
daily
rotate 7
compress
delaycompress
missingok
notifempty
create 0640 nginx adm
sharedscripts
postrotate
if [ -f /var/run/nginx.pid ]; then
kill -USR1 `cat /var/run/nginx.pid`
fi
endscript
}
这个配置表示每天轮转一次Nginx日志,保留最近7天的日志文件,并压缩旧的日志文件。GoAccess
和ELK
(Elasticsearch, Logstash, Kibana)栈。GoAccess
分析Nginx日志的步骤:
GoAccess
:wget https://tar.goaccess.io/goaccess-1.5.6.tar.gz
tar -xzvf goaccess-1.5.6.tar.gz
cd goaccess-1.5.6/
./configure --enable-utf8 --enable-geoipmmdb
make
sudo make install
goaccess -a -d -f /var/log/nginx/access.log --log-format '%h %[%d:%t %] "%r" %s %b "%R" "%u" %' --date-format %d/%b/%Y --time-format %T -o /var/www/html/goaccess.html
/dev/null
可以节省磁盘空间,但可能会丢失重要信息。建议在确保需要这些日志的情况下再关闭它们。通过以上方法,可以在LNMP环境下有效地进行日志管理,确保系统安全和稳定运行。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>