NGINX is a high
performance, open source web application accelerator that helps over 37% of the
world's busiest websites deliver more content, faster, to its users.
Companies deploy NGINX to manage the
complexities and pitfalls associated with HTTP and to make their web
applications more responsive, scalable, fast and secure.
NGINX is commonly
installed between the network and the application to offload concurrency processing,
URL switching, HTTP load balancing, SSL termination, caching, and security
policies
NGINX
Plus provides a complete set of web serving, proxying, acceleration and load
balancing capabilities for HTTP-based services:
Protocols and
performance
·
HTTP/1.1,
HTTPS, SPDY, WebSocket
·
IMAP,
POP3, SMTP with external HTTP based authentication
·
IPv4
and IPv6
·
1
million concurrent connections
·
10,000+
virtual servers multi-tenancy
·
Connection
multiplexing pools for low latency communications
Load Balancing
·
Fully
Layer-7 reverse proxy
·
HTTP,
HTTPS, FastCGI, SCGI, uwsgi, memcached
·
URL/URI
content-based request routing
·
Reverse
proxy and load balancer with round-robin, least-connections, ip-hash
·
Session
persistence
·
Application
backend health monitoring with synthetic transactions and slow-start
High Availability
·
Active-Standby
(NGINX AMI and standalone)
·
Live
binary upgrades to eliminate downtime
·
Graceful
restart with non-stop request processing
Security
·
Bandwidth,
connection and request policing
·
Protocol
isolation and request filtering
·
Header
scrubbing and manipulation
Edge Cache and Origin
Server
·
Content
offload and caching
·
On-the-fly
content compression and optimization
·
HTTP
video streaming with MP4/FLV/HDS/HLS
SSL Termination
·
TLSv1.1/TLSv1.2/SSL/SNI/PFS/PCI-DSS
·
OCSP
Stapling
Configuration and
Management
·
Live
reconfiguration of server pools to change upstream settings on the fly
·
Activity
monitoring
·
Geo-IP
configuration decisions
·
Logging
to syslog
Supported Operating
Systems and Architectures
·
Ubuntu,
Debian, CentOS, Amazon Linux, Red Hat, SuSE, FreeBSD
·
x86_64,
i386
Recommended Hardware
NGINX
Plus was designed and optimized for use on generic server hardware. A common
recommendation for an edge server capable of serving 3-6Gbps of live traffic
and 20-50K requests per second is the following:
·
4
Xeon E5 series CPUs, 2-8 core per CPU
·
16-32GB
RAM
·
6
x 250GB SSD drives
·
10G
Intel networking card
NGINX
Plus modules
NGINX
Plus includes the following modules from NGINX F/OSS:
HTTP
core
·
HTTP Core: basic HTTP configuration
·
Auto Index: Generate directory listings
·
Index: Specify index files used in directory
requests
·
Gzip: GZIP compression of HTTP responses
·
Headers: Add headers to HTTP responses
·
Charset: Character set tagging and transformation
·
Empty GIF: Generate empty image response
·
SSI: Perform Server Side Include processing
·
User ID: Add unique ‘User ID’ cookies
·
Gzip Static: Serve pre-compressed files from disk
·
Gunzip: Decompress responses for clients that
don’t support compression
·
Random Index: Select random indes file for
directory request
·
Real IP: Determine true origin IP address for
proxied traffic
·
Substitution: Modifies response with textual
replacement
·
Addition: Prepend and append data to a response
·
WebDAV: Implements WebDAV support for file
management
HTTP Advanced
Configuration
· Map: Create run-time configuration variables
based on arbitrary request parameters
·
Browser: Detect User-Agent type
·
Geo: Create run-time variables based on IP
address
·
Rewrite: Test and manipulate URI
·
Split Clients: Partition clients for A|B testing
SSL and SPDY
·
SSL: Provides support for HTTPS
·
SPDY: Provides support for SPDY
HTTP Access Control
and Authentication
·
Access: IP-based Access Control Lists (ACLs)
·
Auth Basic: HTTP Basic Authentication
·
Referer: Apply access control based on HTTP
referrer
·
Secure Link: Process encrypted, time-limited
links to content
·
Auth Request: Flexible authentication using
subrequests
HTTP Transaction
Shaping
·
Limit Requests: Rate-limit requests by key
·
Limit Conn: Limit concurrent connections by key
HTTP Logging and
Monitoring
·
Log: Log HTTP transactions
·
Session Log: Log HTTP sessions (rather than
individual transactions)
·
SysLog: Request logging to syslog
·
Status: Provides advanced NGINX status information
HTTP Proxying and
APIs
·
Proxy: Proxy and cache requests to HTTP server
·
FastCGI: Proxy and cache requests to FastCGI
application
·
Memcached: Proxy requests to memcached server
·
SCGI:
Proxy and cache requests to SCGI application
·
uWSGI:
Proxy and cache requests to uWSGI application
·
Upstream: Load-balanced pools of servers for
proxy, FastCGI and memcached
HTTP Media delivery
·
MP4: Stream H.264/AAC files (.mp4, .m4v, .m4a)
·
FLV: Stream Flash Video (FLV) files
·
F4F: Support for Adobe HTTP Dynamic Streaming
(HDS)
·
HLS: HTTP Live Streaming (HLS) server-side
support for H.264/AAC files
Mail
·
Mail Core: basic Mail-proxying configuration
·
POP3: Authentication methods for POP3 traffic
·
IMAP: Capabilities and Authentication methods for
IMAP
·
SMTP: Capabilities and SASL Authentication for
SMTP
·
Auth HTTP: Offload authentication to HTTP server
·
Proxy: Proxy parameters for Mail protocols
·
SSL: Implement SSL, TLS and STARTTLS for Mail
protocols
NGINX Plus Lua
NGINX
Plus Lua includes additional third-party modules.
Additional modules in
NGINX Plus Lua
· Lua: A third-party extension to embed Lua actions into NGINX’
configuration and processing
NGINX
Plus Extras
NGINX
Plus Extras includes additional NGINX F/OSS and third-party modules:
Additional modules in
NGINX Plus Extras
·
Perl: Embed Perl actions into NGINX’
configuration and processing
·
GeoIP: Create run-time variables based on MaxMind
geoip data
·
Image Filter: Resize, sharpen, crop and resample
images
·
XSLT: Transforms XML responses with XSLT
stylesheets
· Lua : A third-party extension to embed Lua actions into
NGINX’ configuration and processing
·
Headers-More: A third-party extension to NGINX’
Headers module
·
Set-Misc: A third-party extension to NGINX’ Rewrite module
NGINX
Plus Streaming Media Server
NGINX
Plus Streaming Media Server is targetted specifically for video delivery
requirements. It contains the streaming media delivery and extended status modules from NGINX Plus, and
a third-party RTMP streaming media module:
Additional
modules in NGINX Plus Streaming Media Server
·
MP4: Stream H.264/AAC files (.mp4, .m4v, .m4a)
·
FLV: Stream Flash Video (FLV) files
·
F4F: Support for Adobe HTTP Dynamic Streaming
(HDS)
·
HLS: HTTP Live Streaming (HLS) server-side
support for H.264/AAC files
·
Status: Provides advanced NGINX status
information
· RTMP
Media Streaming: A trusted third-party extension for RTMP media
delivery
Other
NGINX Plus features (load balancing, health check, session persistence, etc.)
are not included in NGINX Plus Streaming Media Server.
Third-party
extensions are provided for convenience and are not supported by Nginx Inc.