共计 5475 个字符,预计需要花费 14 分钟才能阅读完成。
一、Nginx+ 介绍
Nginx 和 Nginx+ 都是 Nginx 官方的产品,两者的不同之处在于 Nginx 是开源的社区版,而 Nginx+ 则是 Nginx 面向企业级的收费版。
Nginx+ 收费情况如下:对于单实例部署,每年缴费 1900 美元;而对于多实例的部署,则需要联系 Nginx 官方来协商报价。
Nginx+ 也提供了 30 天的免费试用,到期后仍需交费。
Nginx+ 只以二进制发行版提供,不提供源码。
Nginx+ 在 Nginx 开源社区版的基础上,增加了企业级的特性,比如:
- 全功能的 HTTP 和 TCP 负载均衡
- 高性能的反向代理
- 静态内容和动态内容的缓存和卸载
- 自适应流媒体教父音视频内容到任意设备
- 对应用敏感的健康检查和高可用性
- 提供仪表板或 API 方式的高级活动监控
- 高级监控和管理,提供对开发者友好的工具来管理和实时的变更
- 会话持久性
- 咨询服务
二、Nginx 和 Nginx+ 的比较
Nginx+ 具有一些 Nginx 社区版不具备的特性,包括:
1、高级 HTTP 和 TCP 负载均衡
在负载均衡算法方面,Nginx+ 增加了“最少时间”(Least Time)的负载均衡算法。“最少时间”算法即请求被分发到拥有最快响应时间和最少活动连接的服务器节点。
2、会话持久性
HTTP 是一个无状态协议,故通常很多应用程序在本地存储终端的状态,而没法在负载均衡环境中共享状态。因为在服务器节点间实现客户端的状态共享意味着速度很慢,实现也很麻烦,故最常见的做法是把同一个终端负载均衡到同一个节点,那么就无需在各节点间共享和同步其状态信息了。
Nginx+ 可以跟踪用户的会话,将终端用户的请求分发给正确的 upstream 服务器节点。Nginx+ 提供了三种方法来识别用户的会话:
- 插入跟踪信息到请求数据中
采用 sticky cookie 指令:
upstream backend {
server webserver1;
server webserver2;
sticky cookie srv_id expires=1h domain=.example.com path=/;
}
- 在会话中检测请求
采用 sticky learn 指令:
upstream backend {
server webserver1;
server webserver2;
sticky learn create=$upstream_cookie_sessionid
lookup=$cookie_sessionid
zone=client_sessions:1m
timeout=1h;
}
- 跟踪请求中的特定数据
采用 sticky route 指令:
upstream backend {
server webserver1 route=a;
server webserver2 route=b;
# $var1 and $var2 are run-time variables, calculated for each request
sticky route $var1 $var2;
}
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2016-01/126998p2.htm
更多 Nginx 相关教程见以下内容:
CentOS 6.2 实战部署 Nginx+MySQL+PHP http://www.linuxidc.com/Linux/2013-09/90020.htm
使用 Nginx 搭建 WEB 服务器 http://www.linuxidc.com/Linux/2013-09/89768.htm
搭建基于 Linux6.3+Nginx1.2+PHP5+MySQL5.5 的 Web 服务器全过程 http://www.linuxidc.com/Linux/2013-09/89692.htm
CentOS 6.3 下 Nginx 性能调优 http://www.linuxidc.com/Linux/2013-09/89656.htm
CentOS 6.3 下配置 Nginx 加载 ngx_pagespeed 模块 http://www.linuxidc.com/Linux/2013-09/89657.htm
CentOS 6.4 安装配置 Nginx+Pcre+php-fpm http://www.linuxidc.com/Linux/2013-08/88984.htm
Nginx 安装配置使用详细笔记 http://www.linuxidc.com/Linux/2014-07/104499.htm
Nginx 日志过滤 使用 ngx_log_if 不记录特定日志 http://www.linuxidc.com/Linux/2014-07/104686.htm
3、高级缓存控制
Nginx+ 可用作内容缓存,既可以对源站服务器起到加速作用,又可以作为 CDN 的边缘节点。
Nginx+ 可以缓存来自 upstream HTTP 服务器的内容,并可通过 FastCGI、SCGI、uwsgi 等服务返回响应。
Nginx+ 扩展了 Nginx 的内容缓存功能,增加了缓存清除功能和缓存状态可视化监控功能,在活动监控仪表板上可以看到。
内容缓存可以减少网页的加载时间,减少源站服务器的负载压力等。具体来说,内容缓存带来了如下好处:
- 提升了网站性能:Nginx+ 把各种类型的内容缓存为静态内容,减少了客户端的等待响应时间。
- 提升了源站服务器的负载能力:Nginx+ 降低了源站服务器对重复内容的请求数,使得源站服务器能够响应更多的请求。
- 提升了可用性:当源站服务器崩溃时,由于存在内容缓存,部分客户端的请求仍然能得到响应,可用性提升。
要启用内容缓存功能,使用 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+ 可以对 upstream 服务器节点进行基本的健康检查,显著地改善了 HTTP 应用和 TCP 应用的可靠性。
Nginx+ 会持续不断地检查 upstream 服务器是否可用,这使得终端用户不会看到服务器不可用的故障页面。
使用 health_check 指令进行健康检查,默认是每 5 秒检查 upstream 服务器一次。如果 upstream 服务器响应 2xx 或 3xx 则认为服务器健康运行,否则认为服务器存在故障。比如:
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)。渐进式下载依赖于流媒体服务器处理磁盘 I / O 和并发连接的效率;而 MP4 或 FLV 伪流功能允许客户端使用简单的“定位播放”技术,找到想要播放的视频时间位置直接播放,无需下载整个资源。
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;
}
Nginx 的详细介绍:请点这里
Nginx 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-01/126998.htm
一、Nginx+ 介绍
Nginx 和 Nginx+ 都是 Nginx 官方的产品,两者的不同之处在于 Nginx 是开源的社区版,而 Nginx+ 则是 Nginx 面向企业级的收费版。
Nginx+ 收费情况如下:对于单实例部署,每年缴费 1900 美元;而对于多实例的部署,则需要联系 Nginx 官方来协商报价。
Nginx+ 也提供了 30 天的免费试用,到期后仍需交费。
Nginx+ 只以二进制发行版提供,不提供源码。
Nginx+ 在 Nginx 开源社区版的基础上,增加了企业级的特性,比如:
- 全功能的 HTTP 和 TCP 负载均衡
- 高性能的反向代理
- 静态内容和动态内容的缓存和卸载
- 自适应流媒体教父音视频内容到任意设备
- 对应用敏感的健康检查和高可用性
- 提供仪表板或 API 方式的高级活动监控
- 高级监控和管理,提供对开发者友好的工具来管理和实时的变更
- 会话持久性
- 咨询服务
二、Nginx 和 Nginx+ 的比较
Nginx+ 具有一些 Nginx 社区版不具备的特性,包括:
1、高级 HTTP 和 TCP 负载均衡
在负载均衡算法方面,Nginx+ 增加了“最少时间”(Least Time)的负载均衡算法。“最少时间”算法即请求被分发到拥有最快响应时间和最少活动连接的服务器节点。
2、会话持久性
HTTP 是一个无状态协议,故通常很多应用程序在本地存储终端的状态,而没法在负载均衡环境中共享状态。因为在服务器节点间实现客户端的状态共享意味着速度很慢,实现也很麻烦,故最常见的做法是把同一个终端负载均衡到同一个节点,那么就无需在各节点间共享和同步其状态信息了。
Nginx+ 可以跟踪用户的会话,将终端用户的请求分发给正确的 upstream 服务器节点。Nginx+ 提供了三种方法来识别用户的会话:
- 插入跟踪信息到请求数据中
采用 sticky cookie 指令:
upstream backend {
server webserver1;
server webserver2;
sticky cookie srv_id expires=1h domain=.example.com path=/;
}
- 在会话中检测请求
采用 sticky learn 指令:
upstream backend {
server webserver1;
server webserver2;
sticky learn create=$upstream_cookie_sessionid
lookup=$cookie_sessionid
zone=client_sessions:1m
timeout=1h;
}
- 跟踪请求中的特定数据
采用 sticky route 指令:
upstream backend {
server webserver1 route=a;
server webserver2 route=b;
# $var1 and $var2 are run-time variables, calculated for each request
sticky route $var1 $var2;
}
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2016-01/126998p2.htm
更多 Nginx 相关教程见以下内容:
CentOS 6.2 实战部署 Nginx+MySQL+PHP http://www.linuxidc.com/Linux/2013-09/90020.htm
使用 Nginx 搭建 WEB 服务器 http://www.linuxidc.com/Linux/2013-09/89768.htm
搭建基于 Linux6.3+Nginx1.2+PHP5+MySQL5.5 的 Web 服务器全过程 http://www.linuxidc.com/Linux/2013-09/89692.htm
CentOS 6.3 下 Nginx 性能调优 http://www.linuxidc.com/Linux/2013-09/89656.htm
CentOS 6.3 下配置 Nginx 加载 ngx_pagespeed 模块 http://www.linuxidc.com/Linux/2013-09/89657.htm
CentOS 6.4 安装配置 Nginx+Pcre+php-fpm http://www.linuxidc.com/Linux/2013-08/88984.htm
Nginx 安装配置使用详细笔记 http://www.linuxidc.com/Linux/2014-07/104499.htm
Nginx 日志过滤 使用 ngx_log_if 不记录特定日志 http://www.linuxidc.com/Linux/2014-07/104686.htm