深入浅出Nginx之四【日志切割与环境变量】

本文介绍了一个用于Nginx访问日志按天切割的脚本,并提供了设置Nginx安装路径为环境变量的方法。通过定时任务实现日志文件的自动切割,有助于维护日志文件的大小,便于后续的错误排查工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在真实的Nginx实践过程中,我们通常都会对Nginx的访问日志进行切割,即按照一定的周期生成一个独立的Nginx访问日志文件,以避免存在文件体积过于庞大的日志文件。一方面有助于实际的错误排查,更重要的是有利于Nginx对访问文件的写入天真。同时,可以将Nginx的安装路径加入到环境变量,甚至可以编写启动关闭脚本,以方便实际操作。皱眉

<一>. 切割日志文件:
1. 编写脚本:su - root
进入主目录:cd ~
编写脚本:vi split-nginx-log.sh大笑
Shell代码 收藏代码
#!/bin/bash

log_path="/opt/nginx/logs"
dir_name=`date -d "yesterday" +%Y%m`
file_name=`date -d "yesterday" +%Y.%m_%d`

mkdir -p ${log_path}/${dir_name}
mv ${log_path}/access.log ${log_path}/${dir_name}/${file_name}.log

kill -USR1 `cat ${log_path}/nginx.pid`
细节说明:
1. 前一天的日期:date -d "yesterday" +%Y%m%d
2. 递归创建目录,如果已存在则不创建:mkdir -p ${log_path}/${dir_name}
3. 对日志文件重命名:mv access.log new.access.log
4. 通知nginx主进程重新打开日志文件:kill -USR1 `cat /opt/nginx/logs/nginx.pid`
2. 赋予执行权限、执行:
Shell代码 收藏代码
ls -al
chmod 744 split-nginx-log.sh
./split-nginx-log.sh
3. 定时调度:每天零点切割日志 酷
Shell代码 收藏代码
crontab -e
00 00 * * * /root/split-nginx-log.sh

<二>. 设置环境变量:
1. 编辑当前用户PATH:
显示PATH:echo $PATH
用户主目录:cd ~
编辑文件、追加如下内容:vi .bash_profile大笑
Shell代码 收藏代码
NGINX_HOME=/usr/local/nginx
PATH=$NGINX_HOME/sbin:$PATH
export PATH
立即生效:source .bash_profile
2. 启动、关闭:
Shell代码 收藏代码
nginx -c /usr/local/nginx/conf/nginx.conf
nginx -s quit
3. 可执行脚本:
启动:vi start-nginx.sh
Shel代码 收藏代码
nginx -c /usr/local/nginx/conf/nginx.conf
关闭:vi stop-nginx.sh
Shell代码 收藏代码
nginx -s quit
执行权限:
Shell代码 收藏代码
chmod 744 start-nginx.sh
chmod 744 stop-nginx.sh
执行脚本:蠢话
Shell代码 收藏代码
./start-nginx.sh
./stop-nginx.sh
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值