Nginx和Nginx+的比較(下)

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指令。

比方:

# Define a content cache location on disk
proxy_cache_path /tmp/cache keys_zone=mycache:10m inactive=60m;

server {
    listen 80;
    server_name localhost;

    location / {
        proxy_pass http://localhost:8080;

       # reference the cache in a location that uses proxy_pass
       proxy_cache mycache;
    }
}

4、应用的健康检查

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

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

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

location / {
    proxy_pass http://backend;

    # Enable simple health checks
    health_check;
}

upstream backend {
    # Health-monitored upstream groups must be stored in shared memory
    zone backend 64k;

    server web-server1;
    server web-server2;
}

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等。

以下是配置演示样例:

location /hls/ {
    hls;  # Use the HLS handler to manage requests

    # Serve content from the following location
    alias /var/www/video;

    # HLS parameters
    hls_fragment            8s;
    hls_buffers         10 10m;
    hls_mp4_buffer_size     1m;
    hls_mp4_max_buffer_size 5m;
}
原文地址:https://www.cnblogs.com/yjbjingcha/p/7010267.html