日志切割
随着Nginx的运行韶光的增加,产生的日志也会增加。太大的日志文件非常不便于剖析和排查,因此须要定期的进行日志文件的切割。Nginx没有类似Apache的cronlog日志分割处理功能,但可以通过Nginx的旗子暗记掌握功能脚本来实现日志的自动切割,并将脚本加入到Linux的操持任务中,让脚本在每天的固定时间实行。
(1)首先编写脚本/opt/fenge.sh,把Nginx的日志文件/usr/local/nginx/logs/access.log移动到目录/var/log/nginx下面,以当前韶光作为日志文件的名称,然后用kill-USR1创建新的日志文件/usr/local/nginx/logs/access.log,末了删除前30天的日志文件。
[root@localhost ~]# vim /opt/fenge.sh #!/bin/bash#Filename:fenge.shd=$(date -d \公众-1 day\"大众 \"大众+%Y%m%d\"大众) #显示一天前的韶光logs_path=\"大众/var/log/nginx\"大众pid_path=\"大众/usr/local/nginx/logs/nginx.pid\"大众[ -d $logs_path ] || mkdir -p $logs_path #创建日志文件目录mv /usr/local/nginx/logs/access.log #移动并重命名日志文件 ${logs_path}/test.com-access.log-$dkill -USR1 $(cat $pid_path) #重修新的日志文件find $logs_path -mtime +30 | xargs rm -rf #删除30天之前的日志文件
(2)实行/opt/fenge.sh,测试日志文件是否被切割。
[root@localhost ~]# chmod +x /opt/fenge.sh [root@localhost ~]# ./fenge.sh #实行分割脚本[root@localhost ~]# ls /var/log/nginx/test.com-access.log-20180628
(3)设置crontab任务,定期实行脚本自动进行日志分割。
[root@localhost ~]# crontab -e0 1 /opt/fenge.sh #每天的凌晨1点实行/opt/fenge.sh脚本
设置连接超时
在企业网站中,为了避免同一个客户永劫光占用连接,造成资源摧残浪费蹂躏,可以设置相应的连接超时参数,实现对连接访问的韶光的掌握。
(1)修正配置文件nginx.conf,设置keepalive_timeout超时时间。
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf ... #省略内容 http { ... keepalive_timeout 65 180; #设置超时是180秒 client_header_timeout 80; #指定要求头的超时时间 client_body_timeout 80; #指定要求体超时时间 ... #省略内容 }
keepalive_timeout 第一个参数指定了与客户真个keep-alive连接超时时间,做事器将会在这个韶光后关闭连接;第二个参数指定了相应头Keep-Alive:timeout=time中的time值。这个头能让浏览器主动关闭连接,这样做事器就不必去关闭连接。
(2)重启nginx做事,访问网址,用Fidder工具抓包。
举两个例子,怎么样写好代码
最经典的算法,献给正在口试道路上的你
如果你现在在口试PHP的道路上,看看口试根本题吧
Redis干系口试题