您好,欢迎访问一九零五行业门户网

深入浅出Nginx之四

在真实的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 
以上就介绍了深入浅出nginx之四,包括了方面的内容,希望对php教程有兴趣的朋友有所帮助。
其它类似信息

推荐信息