Knowledgebase
Nginx Acceleration Stack Overview
Posted by Ryan MacDonald on 24 August 2013 03:55 PM

The A Small Orange Nginx Acceleration stack is designed to provide greater levels of scale for Dedicated and Cloud VPS servers that receive high amounts of traffic or that require additional performance through the features provided in the acceleration stack.

The stack is powered by Nginx, an industry standard high performance web server, which is set up to serve static content in a transparent reverse proxy, which reduces the request load on Apache. The setup is entirely transparent to cPanel, Apache and the underlying user setup process, ensuring a seamless integration into production systems.

The acceleration stack allows for specific users to receive full page caching of dynamic content through Nginx. This is ideal if a site receives an unplanned surge in traffic or is victim of a HTTP-based DDoS attack, where such events would typically crash or render unresponsive a Cloud VPS or Dedicated server. By using the full page caching feature of the A Small Orange Nginx Acceleration stack, customers can continue to service requests for their most popular websites without impacting the performance and uptime of other websites they may be hosting.

Currently the Nginx Acceleration stack is provided free of charge to existing customers. Simply file a ticket with our support team and it can be enabled in just a few minutes with no downtime. The stack comes with a convenient command line tool which allows for it to be quickly enabled or disabled system wide along with the ability to add and remove users from dynamic content caching and modify the dynamic content cache expiration.

Features

  • cPanel, LAMP and LEMP stack compatible using transparent reverse proxy implementation
  • Optimized gzip compression of all content reduces bandwidth usage and increases page load times
  • Static content (images/media files) cache to improve page load time and reduce request load on Apache
  • Open file descriptor cache for high performance access to frequently used content
  • Dynamic page caching can be enabled on a per-user basis with configurable expiration time, reducing Apache & MySQL load
  • High performance threading and cache structure allows for increased resilience to sudden traffic increases or HTTP based DDoS attacks
  • Zero downtime configuration changes applied in real time for no service disruption, such as adding/removing users to nginx dynamic content cache

Usage

Enable NGinx caching service

# nginxctl -e
nginx caching service has been enabled on port 80, reverse proxy to apache on port 8080.

Enable NGinx cache for user rfxncom

# nginxctl -a rfxncom
nginx caching for rfxncom has been enabled

Set dynamic content caching to 5 minutes for user rfxncom

# nginxctl -s rfxncom 5
set dynamic content cache time to 5 minutes for user rfxncom

Remove dynamic content caching for user rfxncom

# nginxctl -d rfxncom
removed user rfxncom from nginx caching

Disable Nginx caching service and revert Apache to previous state

# nginxctl -x
disabled nginx caching service and apache returned to port 80

 

 

 

usage nginxctl: [-a|--add USER] [-d|--delete USER] [-s|--setcache USER off|N]
                [-e|--enable] [-x|--disable] [-c|--clear-cache] [-t|--tmpfs]
  -a, --add USER              Add user and associated domains to nginx cache.
                              Default cache tells nginx to retrieve static content from
                              apache and store in nginx cache, serving dynamic and static
                              content with cache times of 10 minutes.
  -s, --setcache USER off|N   Change dynamic content cache time or disable for user and all
                              associated domains. User argument accepts keyword 'all' to change
                              cache values for all users and argument options are 'off' to
                              disable cache or 'N' for minutes to cache dynamic content.
                              # disable dynamic content caching for all users
                              e.g: nginxctl -s all off
                              # set dynamic contenting cache expire to 5min for user rfxncom
                              e.g: nginxctl -s rfxncom 5
  -c, --clear-cache           Clear nginx cache contents.
  -d, --delete USER           Delete user and associated domain vhosts from nginx cache.
  -e, --enable                Enable nginx caching service.
  -x, --disable               Disable nginx caching service and remove all vhosts from nginx.
(5 vote(s))
This article was helpful
This article was not helpful

Comments (0)
Post a new comment
 
 
Full Name:
Email:
Comments:
Help Desk Software by Kayako Fusion