服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟服务器|服务器安全|DNS服务器|服务器知识|Nginx|

服务器之家 - 服务器技术 - Nginx - Nginx 合并请求连接且加速网站访问实例详解

Nginx 合并请求连接且加速网站访问实例详解

2019-09-20 22:05小柒 Nginx

这篇文章主要介绍了Nginx 合并请求连接且加速网站访问实例详解,浏览器的并发请求数目限制是针对同一域名的,同一时间针对同一域名下的请求有一定数量限制,超过限制数目的请求会被阻塞,需要的朋友可以参考下

前言

作为这个世界上最好的web服务器之一,Nginx的优势不明而喻。下面来讲讲,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 http://tengine.taobao.org/download/tengine-2.2.0.tar.gz
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=/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=/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;
}

合并方式

http://static.52itstyle.com/static/css/??index.css,common.css?v=20171111

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

延伸 · 阅读

精彩推荐
  • Nginx深入分析nginx+php-fpm服务HTTP状态码502

    深入分析nginx+php-fpm服务HTTP状态码502

    这篇文章主要介绍了深入分析nginx+php-fpm服务HTTP状态码502,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 ...

    leezhxing2512019-09-20
  • NginxNginx 合并请求连接且加速网站访问实例详解

    Nginx 合并请求连接且加速网站访问实例详解

    这篇文章主要介绍了Nginx 合并请求连接且加速网站访问实例详解,浏览器的并发请求数目限制是针对同一域名的,同一时间针对同一域名下的请求有一定数量限制,超过限制数目的请求会被阻塞,需要的朋友可以参考下 ...

    小柒4222019-09-20
  • Nginxnginx解决跨域问题的实例方法

    nginx解决跨域问题的实例方法

    在本篇文章里小编给各位分享了关于nginx怎么解决跨域问题的方法和实例代码,需要的朋友们参考下。 ...

    laozhang3022019-09-20
  • Nginxwelcome to nginx是什么意思

    welcome to nginx是什么意思

    welcome to nginx ,欢迎来到 nginx 的世界,如果你是一个专业网站建设人员你可能接触最多的就是阿帕奇apache,现在更多的网站建设人员都开始使用 LINUX 服务器,那么 LINUX 服务器更好的会使用到nginx,那么什么是 nginx,nginx 有什么用,...

    php中文网1422019-09-20
  • Nginxnginx配置不生效,页面一直是默认页面welcome to nginx的解决办法

    nginx配置不生效,页面一直是默认页面welcome to nginx的解决办法

    ubuntu下nginx的配置文件所在目录: /etc/nginx 我们对nginx的配置主要写在nginx.conf文件里,这个目录下还有conf.d和sites-enabled两个文件夹,里面为默认的配置文件。 相应的,在配置nginx,编辑nginx.conf文件时,需要把这两行注释掉,否则...

    CSDN2492019-09-20
  • Nginx网站出现welcome to nginx怎么办?

    网站出现welcome to nginx怎么办?

    许多小伙伴打开 网站 都会出现 welcome to nginx 这个问题,bsite/production/目录下已经同步了我的项目文件,防火墙配置文件也没有问题,就是太熟悉nodejs自动生成的,现在需要排查的是,是不是这个app.js的问题,步骤如下: 1、检查...

    服务器之家3692019-09-20
  • NginxNginx定时切割日志实现详解

    Nginx定时切割日志实现详解

    这篇文章主要介绍了Nginx定时切割日志详解,Nginx日志默认情况下写入到一个文件中,为了区分各个域下的日志,我们一般会分开存储。即时这样,文件也会变的越来越大,非常不方便查看分析。下面来聊聊以日期来分隔Nginx日志,需...

    小柒2522019-09-20
北京塞车全天计划精准版