欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

深入浅出Nginx之四

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

. 切割日志文件:
1. 编写脚本:su - root
进入主目录:cd ~
编写脚本:vi split-nginx-log.sh深入浅出Nginx之四

Shell代码 深入浅出Nginx之四

  1. #!/bin/bash
  2. log_path="/opt/nginx/logs"
  3. dir_name=`date -d "yesterday" +%Y%m`
  4. file_name=`date -d "yesterday" +%Y.%m_%d`
  5. mkdir -p ${log_path}/${dir_name}
  6. mv ${log_path}/access.log ${log_path}/${dir_name}/${file_name}.log
  7. 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代码 深入浅出Nginx之四

  1. ls -al
  2. chmod 744 split-nginx-log.sh
  3. ./split-nginx-log.sh

3. 定时调度:每天零点切割日志 深入浅出Nginx之四

Shell代码 深入浅出Nginx之四

  1. crontab -e
  2. 00 00 * * * /root/split-nginx-log.sh

. 设置环境变量:
1. 编辑当前用户PATH:
显示PATH:echo $PATH
用户主目录:cd ~
编辑文件、追加如下内容:vi .bash_profile深入浅出Nginx之四

Shell代码 深入浅出Nginx之四

  1. NGINX_HOME=/usr/local/nginx
  2. PATH=$NGINX_HOME/sbin:$PATH
  3. export PATH

立即生效:source .bash_profile
2. 启动、关闭:

Shell代码 深入浅出Nginx之四

  1. nginx -c /usr/local/nginx/conf/nginx.conf
  2. nginx -s quit

3. 可执行脚本:
启动:vi start-nginx.sh

Shel代码 深入浅出Nginx之四

  1. nginx -c /usr/local/nginx/conf/nginx.conf

关闭:vi stop-nginx.sh

Shell代码 深入浅出Nginx之四

  1. nginx -s quit

执行权限:

Shell代码 深入浅出Nginx之四

  1. chmod 744 start-nginx.sh
  2. chmod 744 stop-nginx.sh

执行脚本:深入浅出Nginx之四

Shell代码 深入浅出Nginx之四

  1. ./start-nginx.sh
  2. ./stop-nginx.sh

以上就介绍了深入浅出Nginx之四,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。