NOTE
StrongLoop Arc and slc are no longer under active development, and will soon be deprecated. Arc's features are being included in the IBM API Connect Developer Toolkit: Please use it instead.
Skip to end of metadata
Go to start of metadata

Icon

Using an Nginx load balancer is optional. StrongLoop integrates with Nginx and provides an Nginx Controller via Arc. You can use your own load balancer or none at all, but in that case you are responsible for routing traffic to your hosts appropriately.

Overview

To use Nginx load balancer to route traffic to multiple hosts, follow this procedure to set it up for use with Arc:  

  1. Install Nginx. See http://nginx.org/en/download.html for instructions. 
  2. Install the Nginx Controller on the load balancer host, as described below.
  3. On the load balancer host, either:
  4. Add the load balancer in Arc Manager.  See Managing multi-server apps.

Installing the StrongLoop Nginx Controller

The StrongLoop Nginx Controller enables you to configure Nginx remotely using Arc.  Install it on a load balancer host as follows:

This enables you to run the sl-nginx-ctl and sl-nginx-ctl-install commands:

  • Use sl-nginx-ctl to run the Nginx Controller as a transient process for development and testing (not recommended for production).  
  • Use sl-nginx-ctl-install to install the Nginx Controller as an operating system service.  
    NOTE: This command is supported only on Linux distributions that support Upstart or systemd (such as RedHat, Debian, and Ubuntu).  See sl-nginx-ctl-install for details.

Running as a transient process

Icon

Running the Nginx Controller as a transient process is only appropriate for development and testing. For production, install it as an operating system service.

Use the sl-nginx-ctl command to run the StrongLoop Nginx Controller.  See the sl-nginx-ctl command reference for details.

For example, if Nginx is installed in the default location, /usr/sbin/nginx, you can run the controller as a transient process (for development) as follows:

This runs the Nginx Controller with all the default options:

  • Base working directory .strong-nginx-controller. 
  • Control API endpoint URL http://0.0.0.0:0. 
  • Listen endpoint URL for incoming HTTP traffic is http://0.0.0.0:8080.
Icon

The user account that NGINX uses must have privileges to listen on both the control and listen ports (endpoints).

Installing as a service

Use the sl-nginx-ctl-install command to install the StrongLoop Nginx Controller as an operating system service.  See the sl-nginx-ctl-install command reference for details.

Icon

This command is supported only on Linux distributions that support Upstart or systemd (such as RedHat, Debian, and Ubuntu).  See sl-nginx-ctl-install for details.

By default, the command installs the service as an Upstart (version 1.4) job and runs the Controller with user account strong-nginx-controller. 

For example:

This runs the command with the defaults:

  • Base directory working directory .strong-nginx-controller.
  • Control API endpoint http://0.0.0.0:0/.
  • Listens for incoming HTTP traffic at http://0.0.0.0:8080.
  • Path of Upstart job is /etc/init/strong-nginx-controller.conf.
  • Path to Nginx binary /usr/sbin/nginx.
  • No labels