日志切割

随着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天的日志文件。

php怎么写请求超时Nginx办事优化之日记切割与设置链接超时 Ruby

[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干系口试题