Nginx和Nginx+的比較(下)

作者:chszs。未经博主同意不得转载。经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs

内容紧接上一篇《Nginx和Nginx+的比較(上)》,见:http://blog.csdn.net/chszs/article/details/50439078

3、高级缓存控制

Nginx+可用作内容缓存,既能够对源站server起到加速作用。又能够作为CDN的边缘节点。

Nginx+能够缓存来自upstream HTTPserver的内容,并可通过FastCGI、SCGI、uwsgi等服务返回响应。

Nginx+扩展了Nginx的内容缓存功能,添加了缓存清除功能和缓存状态可视化监控功能。在活动监控仪表板上能够看到。

内容缓存能够降低网页的载入时间。降低源站server的负载压力等。详细来说,内容缓存带来了例如以下优点:

  • 提升了站点性能:Nginx+把各种类型的内容缓存为静态内容。降低了client的等待响应时间。
  • 提升了源站server的负载能力:Nginx+降低了源站server对反复内容的请求数。使得源站server能够响应很多其它的请求。
  • 提升了可用性:当源站server崩溃时,因为存在内容缓存,部分client的请求仍然能得到响应。可用性提升。

要启用内容缓存功能,使用proxy_cache_path指令和proxy_cache指令。

比方:

  1. # Define a content cache location on disk
  2. proxy_cache_path /tmp/cache keys_zone=mycache:10m inactive=60m;
  3. server {
  4. listen 80;
  5. server_name localhost;
  6. location / {
  7. proxy_pass http://localhost:8080;
  8. # reference the cache in a location that uses proxy_pass
  9. proxy_cache mycache;
  10. }
  11. }

4、应用的健康检查

Nginx+能够对upstreamserver节点进行主要的健康检查,显著地改善了HTTP应用和TCP应用的可靠性。

Nginx+会持续不断地检查upstreamserver是否可用。这使得终端用户不会看到server不可用的故障页面。

使用health_check指令进行健康检查,默认是每5秒检查upstreamserver一次。假设upstreamserver响应2xx或3xx则觉得server健康执行,否则觉得server存在故障。比方:

  1. location / {
  2. proxy_pass http://backend;
  3. # Enable simple health checks
  4. health_check;
  5. }
  6. upstream backend {
  7. # Health-monitored upstream groups must be stored in shared memory
  8. zone backend 64k;
  9. server web-server1;
  10. server web-server2;
  11. }

5、支持HTTP实时流媒体(HLS/VOD)

HLS即HTTP Live Streaming,HTTP实时流媒体。

VOD即Video On Demand。点播。

HDS即HTTP Dynamic Streaming。HTTP动态流媒体。

支持HTTP实时流媒体(HLS/VOD),支持HTTP动态流媒体(HDS/VOD),针对MP4媒体的带宽管理。支持RTMP流媒体等。

Nginx被广泛用于交付MP4和FLV视频内容——使用渐进式下载方式或HTTP伪流(pseudo-streaming)。

渐进式下载依赖于流媒体server处理磁盘I/O和并发连接的效率。而MP4或FLV伪流功能同意client使用简单的“定位播放”技术。找到想要播放的视频时间位置直接播放,无需下载整个资源。

Nginx+的HLS/VOD模块支持以MP4文件容器封装的H.264/AAC编码的媒体内容,文件扩展名为.mp4、.m4v、.m4a等。

以下是配置演示样例:

  1. location /hls/ {
  2. hls; # Use the HLS handler to manage requests
  3. # Serve content from the following location
  4. alias /var/www/video;
  5. # HLS parameters
  6. hls_fragment 8s;
  7. hls_buffers 10 10m;
  8. hls_mp4_buffer_size 1m;
  9. hls_mp4_max_buffer_size 5m;
  10. }

Nginx和Nginx+的比較(下)的更多相关文章

  1. 苹果下如果安装nginx,给nginx安装markdown第三方插件

    用brew install nginx 这样安装的是最新版的nginx, 但是在有些情况下,安装第三方插件需要特定的版本,更高一级的版本可能装不上. 它的原理是下载安装包进行自动安装,建立软链,这样就 ...

  2. Nginx + ngx_lua安装测试【CentOs下】

          最近打算搞搞nginx,扒着各位先驱的文章自己进行测试下,中间过程也是错误不断,记录一下,以备使用.       nginx的安装挺简单的,主要还是研究下一些第三方的模块,首先想试下初始化 ...

  3. Nginx学习——Nginx简单介绍和Linux环境下的安装

    一:Nginx的简介 百科百科:Nginx Nginx 是一个俄罗斯的哥们开发的,并将其进行了开源. Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器, ...

  4. 【Nginx】Nginx简介及在CentOS7.0下安装教程

    是什么 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.其特点是占有内存少,并发能力强,事实上nginx的并发能 ...

  5. 【Nginx】Nginx在Linux下的入门介绍

    Nginx的安装 下载.解压 从Nginx下载安装包,我下的是nginx-1.8.0.tar.gz.解压后的目录为: [root@blog third_package]# tar -zxf nginx ...

  6. nginx的应用(window环境下)

    nginx(背景) nginx是一个高性能的HTTP服务器,以前我经常在linux系统中配置,主要做反向代理和负载均衡,最近根据业务需要,需要在window中配置反向和负载,下面就介绍一下nginx的 ...

  7. Nginx - Windows下Nginx初入门,附CentOS下Nginx的安装

    公司刚使用nginx,预先学习下.鉴于机器没有Linux环境,在Windows熟悉下. 下载 目前(2015-07-11),nginx的稳定版本是1.8.0,在官网下载先,windows版的nginx ...

  8. Linux实战教学笔记38:企业级Nginx Web服务优化实战(下)

    四,Nginx站点目录及文件URL访问控制 4.1 根据扩展名限制程序和文件访问 Web2.0时代,绝大多数网站都是以用户为中心多的,例如:bbs,blog,sns产品,这几个产品都有一个共同特点,就 ...

  9. nginx+php7+mysql 在centos7.3下安装

    1.Nginx1.8.1   安装 1)安装 nginx 需要的扩展gcc,pcre-devel,zlib-devel, openssl openssl-devel yum -y install gc ...

随机推荐

  1. Socket实例之客户端向服务端数据库上传文件UI版

    http://blog.csdn.net/su20145104009/article/details/52843735 首先实现分析: 1用户注册 客户单选择‘用户注册’,提示要输入用户名,密码,确认 ...

  2. 洛谷 P1801 黑匣子_NOI导刊2010提高(06)(未完)

    P1801 黑匣子_NOI导刊2010提高(06) 题目描述 Black Box是一种原始的数据库.它可以储存一个整数数组,还有一个特别的变量i.最开始的时候Black Box是空的.而i等于0.这个 ...

  3. [Redux-Observable && Unit testing] Testing the output of epics

    Epics can be unit-tested just like any other function in your application - they have a very specifi ...

  4. 推断字符串string是数字、json结构、xml结构

    import org.json.JSONException; import org.json.JSONObject; import org.dom4j.DocumentException; impor ...

  5. 使用 Bluemix™ Live Sync 高速更新 Bluemix 上执行的应用程序实例

    假设您要构建 Node.js 应用程序,那么能够使用 IBM® Bluemix® Live Sync 高速更新 Bluemix 上的应用程序实例,并像在桌面上进行操作一样进行开发,而无需又一次部署.执 ...

  6. 1.23 Python知识进阶 - 面向对象编程

    一.编程方法 1.函数式编程:"函数式编程"是一种"编程范式"(programming paradigm),也就是如何编写程序的方法论.它属于"结构化 ...

  7. AndroidStudio MAT LeakCanary 内存分析之 LeakCanary

    现在我们换一种更清晰方便的方式:LeakCanary https://github.com/square/leakcanary 首先将LeakCanary绑在我们的app上 build.gradle ...

  8. Android Studio com.android.dex.DexException: Multiple dex files define(重复引用包)

    如果你用Android Studio开发,并且要用其他项目作为library,这个问题是很容易出现的.出现这个问题的原因是包的重复引用,意思就是在你自己的项目中引用了某个包,而被你作为library的 ...

  9. 在同一个局域网下实时访问vue项目,移动端也可以。

    之前,UI看做好的页面效果,一直都是把项目打包好后放上服务器跑. 现在,UI能实时看到我的项目的页面效果情况了. 那么问题来了!!! 要怎样做到呢??? 接下来照做就行了!!! 请您先打开项目下的pa ...

  10. node版本升级后,原有项目打不开

    node版本升级后,原有项目出现以下问题 gulp[8272]: src\node_contextify.cc:628: Assertion `args[1]->IsString()' fail ...