在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日志轮转。现在,系统将自动轮转并压缩日志文件,以节省磁盘空间。
以上就是关于“Ubuntu LNMP如何实现日志轮转”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm