3scale provides a full‑featured API management solution with exceptional scalability, security, and flexibility to meet the most demanding requirements. 3scale makes it easy to manage all phases of API deployment, set access controls and rate limits, monitor traffic, generate reports, set up a developer portal, collect access fees, and more.
NGINX Plus provides the reverse proxy engine that executes the 3scale‑defined API policies for all of your API traffic. Renowned for its scalability, reliability, and performance, NGINX Plus minimizes the performance impact of applying sophisticated policies. It also includes extensions to the open source NGINX software (see Enhanced Features in NGINX Plus), all backed by support from the NGINX, Inc. engineering team.
Deploying 3scale and NGINX Plus together makes your API services even more reliable and easy to manage. Joint support from 3scale and NGINX, Inc. means your API delivery process is covered end to end.
Getting Started with NGINX Plus and 3scale
To take advantage of the discount on combined NGINX Plus and 3scale packages, perform the following steps:
Editor – The discount package described in this post is no longer available, and the following instructions are not current. For information about NGINX and NGINX Plus as an API gateway, see our Products page or contact us.
- Sign up for the discount package on the 3scale website. 3scale will contact you to discuss which package is right for you, and then send your login credentials for access to the 3scale software. Your credentials from NGINX, Inc. will be sent separately after 3scale informs us of your purchase.
- Follow the 3scale Quickstart instructions to configure your API gateway.
- Log in to the NGINX Customer Portal using the credentials supplied by NGINX, Inc. Perform the following steps to install the NGINX Plus Extras package:
- On the Subscriptions page that opens after you log in, click NGINX Plus installation instructions.
On the Instructions page that opens, select your operating system from the drop‑down menu and perform the instructions that appear. In the NGINX installation command (usually the next‑to‑last bullet), substitute
Note: The nginx‑plus‑extras package is not available for RHEL/CentOS/Oracle Linux 5.10+.
- Debian – Run
sudo apt-get install nginx-plus-extras
- FreeBSD – Run
sudo pkg install nginx-plus-extras
- RHEL/CentOS/Oracle Linux (all versions) – Run
sudo yum install nginx‑plus‑extras
- SLES 12 – Run
zypper install nginx-plus-extras
- Ubuntu – Run
sudo apt-get install nginx-plus-extras
- Debian – Run
- On the 3scale website, follow the instructions on the NGINX Self‑Managed Setup page.
- Skip Steps 1 and 2 (Install the dependencies and Compile and install NGINX), which explain how to download and install NGINX from OpenResty (http://openresty.org). In Step 3b of these instructions you installed the NGINX Plus Extras package instead.
- Complete the instructions in Step 3 (Download your API gateway configuration from 3scale). The default directory specified in the final step, /usr/local/openresty/nginx/conf/, is appropriate for an OpenResty installation; substitute the location for NGINX Plus configuration files, which is /etc/nginx/conf.d by default.
- In Step 4 (Basic operations), modify the start command to use the paths appropriate for NGINX Plus instead of OpenResty. The following command uses the NGINX Plus defaults:
sudo /usr/sbin/nginx -c /etc/nginx/conf.d/
- In the Tips for managing multiple versions of configuration files subsection of Step 5 (Optimizing the workflow), make the same substitution for the configuration files directory as in the previous step (substitute /etc/nginx/conf.d/ for /usr/local/openresty/nginx/conf/).
You’ve finished basic configuration of NGINX Plus and 3scale. To start NGINX Plus, run the
/usr/sbin/nginx command shown in Step 4c of these instructions. To verify that NGINX Plus is running, run the following command:
# /etc/init.d/nginx status
* nginx is running
To verify that the API gateway is functioning correctly, issue requests against some API endpoints and verify that hits are recorded (on your 3scale administrative dashboard, navigate to the Monitoring page and click Usage).
Enhanced Features in NGINX Plus
NGINX Plus provides all the outstanding performance and functionality of the open source NGINX software, along with several enhancements.
- Shared state information – The NGINX Plus worker processes all have access to status information from the upstream servers in a group. By considering each server’s current status and assigned weight, NGINX Plus distributes traffic even more precisely across the upstream group.
- Session persistence – NGINX Plus identifies user sessions and directs all requests for a given session to the same server, eliminating the need for applications to share state across instances.
- Connection limiting – NGINX Plus stops making new connections to upstream servers when the number of concurrent connections exceeds a defined maximum. This helps protect upstream servers from becoming overloaded during periods of heavy traffic, which is a particular concern for servers that allocate a thread or process for each connection.
For more information, see Application Load Balancing with NGINX Plus and Session Persistence with NGINX Plus.
Health Checks and Live Activity Monitoring
- Out‑of‑band application health checks – NGINX Plus continually tests the status of upstream servers. If a server fails or is taken down for maintenance, NGINX Plus disables requests to it, ensuring that your users don’t see error pages for unavailable servers.
- Slow start – When a failed server recovers, NGINX Plus slowly ramps up the load on the server over a defined period, which allows applications to ‘warm up’ (populate caches, run just‑in‑time compilations, and so on).
- Live activity monitoring – NGINX Plus provides a simple JSON interface that reports key performance metrics in real time and is easily integrated with third‑party monitoring tools.
On-the-Fly Reconfiguration of Upstream Server Groups
- Reconfiguration through an HTTP API – NGINX Plus provides an API for management of upstream server groups using HTTP methods on the command line.
- Reconfiguration with DNS – NGINX Plus can be configured to re‑resolve DNS names on a regular basis, meaning that you can use DNS to manage upstream server groups instead of modifying NGINX Plus configuration files.