
本文阐述如何在LNMP (Linux, Nginx, MySQL/MariaDB, PHP) 架构下高效管理Nginx和MySQL日志。
Nginx日志管理
-
日志文件位置:
- 访问日志:通常位于
/usr/local/nginx/logs/access.log。 - 错误日志:通常位于
/usr/local/nginx/logs/error.log。
- 访问日志:通常位于
-
日志轮转:
-
使用
logrotate工具实现日志轮转,防止单个日志文件过大。logrotate可定期分割、压缩旧日志并创建新日志。 -
/etc/logrotate.d/nginx配置文件示例:/usr/local/nginx/logs/*.log { daily missingok rotate 7 compress delaycompress notifempty create 0644 nginx nginx }
-
-
日志清理:
-
定期清理过旧的日志文件,可以使用
find和rm命令:find /usr/local/nginx/logs/ -type f -name "*.log.*" -mtime +7 -exec rm {} \;
-
MySQL日志管理
漂亮的企业网站。NET2.0出来了, 本次升级修改如下: 1、优化了3层结构。 2、优化了后台管理代码,增强了安全性能。 3、增加了系统名称及关键字管理。 4、增加了系统错误日志记录,自动生成Systemlog.log日志文件。 备注:本系统采用ASP.NET 2.O+ACCESS开发,请调试的朋友安装.NET2.0运行环境! 网站内容 网站栏目包括 首页|企业简介|新闻中心|产品展示|公司展示|
-
日志类型:
- 错误日志:记录MySQL服务器的错误信息,位置通常为
/var/log/mysql/error.log或/var/lib/mysql/hostname.err。 - 查询日志:记录所有客户端查询。
- 慢查询日志:记录执行时间超过阈值的查询,用于性能调优。
- 二进制日志:记录数据库更改操作,用于数据恢复和主从复制。
- 错误日志:记录MySQL服务器的错误信息,位置通常为
-
日志位置配置:
- 修改MySQL配置文件 (
my.cnf或my.ini),例如:
[mysqld] log_error = /var/log/mysql/error.log general_log = 1 slow_query_log = 1 slow_query_log_file = /var/log/mysql/slow.log
- 修改MySQL配置文件 (
-
日志轮转:
- 同样可以使用
logrotate管理MySQL日志,配置文件类似于Nginx的配置。
- 同样可以使用
自动化与监控
-
自动化脚本:
- 编写脚本定期检查日志文件大小,超过阈值时自动分割和清理。
-
cut_nginx_logs.sh示例:
#!/bin/bash /usr/sbin/logrotate -f /etc/logrotate.d/nginx
-
监控与报警:
- 使用监控工具 (如Prometheus, Grafana) 监控日志文件大小和数量,设置报警阈值,及时发现异常。
通过以上方法,您可以有效管理LNMP架构下的日志,保障系统稳定性和性能。









