Wednesday 16 April 2014

NGINX - OPEN SOURCE WEB APPLICATION ACCELERATOR

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.

No comments:

Post a Comment