Nginx 合并请求连接且加速网站访问实例详解
作为这个世界上最好的web服务器之一,Nginx的优势不明而喻。下面来讲讲,Nginx是如何合并请求连接的。
小知识
当我们在浏览网页的时候,对浏览速度有一个重要的影响因素,就是浏览器的并发数量。并发数量简单通俗的讲就是,当浏览器网页的时候同时工作的进行数量。
当然浏览器的并发请求数目限制是针对同一域名的,同一时间针对同一域名下的请求有一定数量限制,超过限制数目的请求会被阻塞。
首先我们看下各个浏览器的并发连接数:

罗列一下浏览器这么决定可能有什么考虑
由于TCP 协议的限制,PC 端只有65536个端口可用以向外部发出连接,而操作系统对半开连接数也有限制以保护操作系统的 TCPIP 协议栈资源不被迅速耗尽,因此浏览器不好发出太多的 TCP 连接,而是采取用完了之后再重复利用 TCP 连接或者干脆重新建立 TCP 连接的方法。
如果采用阻塞的套接字模型来建立连接,同时发出多个连接会导致浏览器不得不多开几个线程,而线程有时候算不得是轻量级资源,毕竟做一次上下文切换开销不小。
这是浏览器作为一个有良知的客户端在保护服务器。就像以太网的冲突检测机制,客户端在使用公共资源的时候必须要自行决定一个等待期。当超过2个客户端要使用公共资源时,强势的那个邪恶的客户端可能会导致弱势的客户端完全无法访问公共资源。从前迅雷被喷就是因为它不是一个有良知的客户端,它作为 HTTP 协议客户端没有考虑到服务器的压力,作为 BT 客户端没有考虑到自己回馈上传量的义务。
淘宝tengine
我们在访问有些网站的时候,会看到代码中的部分js和css文件是通过一次请求获取的,上面的小知识知道浏览器请求的并发数量是有限制的,但是如果把多条记录合并一次请求就可能会加快响应速度。
淘宝使用的tengine是基于nginx的web服务器,从11年底开源。开源模块nginx-http-concat,可以合并多个文件在一个响应报文中。
安装
初次安装第三方模块nginx-http-concat
wget wget https://github.com/alibaba/nginx-http-concat/archive/master.zip -O nginx-http-concat-master.zip unzip nginx-http-concat-master.zip tar -xzvf tengine-2.2.0.tar.gz cd tengine-2.2.0
配置编译安装
./configure --prefix=http://www.ym97.com/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --add-module=../nginx-http-concat-master make make install
如果已经安装过Nginx,只是配置第三方插件。Nginx -V,检查一下Nginx的版本,如果没有,下载对应的版本。
执行一下代码即可。
./configure --prefix=http://www.ym97.com/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --add-module=../nginx-http-concat-master make
编译成功以后
#复制之前请备份nginx执行文件 cp /objs/nginx /usr/local/nginx/sbin/nginx
杀掉Nginx,重启即可。
配置
在location段增加如下配置:
location /static/css/ { concat on; concat_max_files 20; concat_unique off; concat_types text/css application/javascript; }
合并方式
??index.css,common.css?v=20171111
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://www.juheyunku.com/server/nginx/8097.shtml
相关文章
热门TAG
命令 外链 企业网站 白帽 php 织梦教程 dedecms修改内容 javascript 织梦 功能 标签 调用 详解 技巧 权重 服务器 网站流量 Dedecms 织梦cms HTML tags标签 python jquery教程 jquery windows 蜘蛛 搜索引擎 网站收录 JSP 实例解析最新文章
-
Nginx环境下WordPress的多站点
时间:2021-01-05
-
nginx keepalive的具体使用
时间:2021-01-05
-
Nginx的信号控制
时间:2021-01-05
-
win10上安装nginx的方法步骤
时间:2020-12-29
-
linux下 nginx监控问题
时间:2020-12-29
-
Nginx配置基于多域名、端口
时间:2020-12-28
-
详解Nginx之Location配置(Lo
时间:2020-12-28
-
详解基于centos7搭建Nginx网
时间:2020-12-28
热门文章
-
Nginx环境下WordPress的多站点功能配置详解
时间:2021-01-05
-
Nginx搭建负载均衡集群的实现
时间:2020-12-24
-
使用Nginx实现灰度发布的使用
时间:2020-12-25
-
nginx+tomcat 通过域名访问项目的实例
时间:2020-12-25
-
Keepalived+Lvs+Nginx搭建Nginx高可用集群
时间:2020-12-23
-
详解Nginx之Location配置(Location匹配顺序)
时间:2020-12-28
-
详解基于centos7搭建Nginx网站服务器(包含
时间:2020-12-28
-
详解Nginx如何配置Web服务器的示例代码
时间:2020-12-25
-
自动化Nginx服务器的反向代理的配置方法
时间:2020-12-25
-
通过nginx实现方向代理过程图解
时间:2020-12-24
