Ubuntu LNMP如何实现日志轮转
在Ubuntu系统中,LNMP(Linux, Nginx, MySQL, PHP)的日志轮转可以通过配置logrotate工具来实现。以下是实现日志轮转的步骤:
-
确保logrotate已安装:
大多数Ubuntu版本默认已经安装了logrotate。如果没有安装,可以通过以下命令安装:
sudo apt-get update sudo apt-get install logrotate -
配置logrotate:
logrotate的配置文件通常位于
/etc/logrotate.conf。但是,针对特定应用程序的日志轮转配置通常位于/etc/logrotate.d/目录下。对于LNMP,你需要关注以下几个配置文件:- Nginx:
/etc/logrotate.d/nginx - MySQL:
/etc/logrotate.d/mysql - PHP-FPM:
/etc/logrotate.d/php-fpm
如果这些文件不存在,你可以从官方文档或其他可靠来源找到示例配置,并根据需要进行修改。
- Nginx:
-
编辑配置文件:
以下是一个简单的Nginx日志轮转配置示例:
/var/log/nginx/*.log { daily missingok rotate 7 compress notifempty create 0640 www-data adm sharedscripts postrotate if [ -f /var/run/nginx.pid ]; then kill -USR1 `cat /var/run/nginx.pid` fi endscript }这个配置表示每天轮转Nginx日志,保留最近7天的日志,压缩旧日志,仅当日志文件存在时才进行轮转,并在轮转后发送USR1信号通知Nginx重新打开日志文件。
对于MySQL和PHP-FPM,你可以参考官方文档或其他可靠来源找到类似的配置示例,并根据需要进行修改。
-
测试logrotate配置:
你可以使用以下命令测试logrotate配置是否正确:
sudo logrotate -f /etc/logrotate.conf如果没有错误信息,说明配置正确。
-
设置定时任务:
logrotate通常通过cron定时任务自动运行。你可以检查
/etc/cron.daily/logrotate文件,确保其中包含以下内容:#!/bin/sh /usr/sbin/logrotate /etc/logrotate.conf EXITVALUE=$? if [ $EXITVALUE != 0 ]; then /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]" fi exit 0这个脚本会每天运行一次logrotate,检查并轮转日志。
通过以上步骤,你应该已经成功配置了Ubuntu系统上的LNMP日志轮转。现在,系统将自动轮转并压缩日志文件,以节省磁盘空间。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu LNMP如何实现日志轮转
本文地址: https://pptw.com/jishu/759563.html
