网站首页 > 技术教程 正文
Nginx服务优化可以从隐藏版本号、更改用户与组、配置网页缓存时间、日志切割、设置连接超时这几个方面进行优化。这一节来看看日志切割与设置连接超时。
日志切割
随着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.sh d=$(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-$d kill -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 -e 0 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工具抓包。
猜你喜欢
- 2024-10-09 程序员都应该懂的微服务容错与隔离:熔断保护、超时与重试原理
- 2024-10-09 Nginx为什么快到根本停不下来?(nginx解决什么问题)
- 2024-10-09 Nginx代理webSocket经常中断的解决方案,如何保持长连接
- 2024-09-09 怎么测试nginx反向代理(nginx反向代理配置参数)
- 2024-09-09 关于LNMP+Frp内网穿透环境下一个PHP程序运行超时的问题
- 2024-09-09 Nginx反向代理(nginx是干嘛用的)
- 2024-09-09 Nginx这么香,还不知道怎么学?看完这份Nginx笔记你能立马上手
- 2024-09-09 「每天一道面试题」Nginx 502错误原因和解决方法
- 2024-09-09 年轻人你不讲武德,Nginx之负载均衡演示
- 2024-09-09 应用程序加固Nginx篇(如何给应用加固)
你 发表评论:
欢迎- 最近发表
-
- Win11学院:如何在Windows 11上使用WSL安装Ubuntu
- linux移植(Linux移植freemodbus)
- 独家解读:Win10预览版9879为何无法识别硬盘
- 基于Linux系统的本地Yum源搭建与配置(ISO方式、RPM方式)
- Docker镜像瘦身(docker 减小镜像大小)
- 在linux上安装ollama(linux安装locale)
- 渗透测试系统Kali推出Docker镜像(kali linux渗透测试技术详解pdf)
- Linux环境中部署Harbor私有镜像仓库
- linux之间传文件命令之Rsync傻瓜式教程
- 解决ollama在linux中安装或升级时,通过国内镜像缩短安装时长
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)