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;
}