Skip to main content
InMotion Cloud
SUPPORT · INMOTION CENTRAL

Deploy a Load-Balanced Web Server Pair with Quick Start in InMotion Central

Updated October 29, 2026 by Suraj Bangade

4 Minutes to Read

Introduction

A single web server is a single point of failure. If it goes down or gets busy, your site goes with it. Running two servers behind a load balancer spreads visitors across both and keeps the site up if one stops responding. Setting that up by hand means two servers, a web server on each, a load balancer, health checks, and a public IP address.

The Load-Balanced Web Pair Quick Start template in InMotion Central builds all of it in one step. It launches two Ubuntu 24.04 LTS servers with Nginx, puts a load balancer in front of them on your private network, checks each server's health, and gives the load balancer a public IP address.

In this tutorial, we'll show you how to deploy the pair, confirm the load balancer is sending traffic to both servers, and check what was installed.

Steps to Deploy the Load-Balanced Web Pair Template

1. Open Quick Start in Your Cloud Project

  1. Log in to InMotion Central and select Projects from the left navigation bar.
  2. Open your cloud project and click Quick Start in the project sidebar.
  3. Locate the Load-Balanced Web Pair template card and click Deploy.

lb-web-pair-1-select-template-1.png

2. Configure Your Deployment Settings

In the Deploy Load-Balanced Web Pair dialog, review or customize the settings:

Basic

  • Stack name: Enter a name for this deployment (for example, lb-web-pair). Use letters, numbers, dots, underscores, or hyphens.
  • Server name: Enter a base name for the two servers (defaults to web). The servers are named web-1 and web-2.
  • Image: Choose Ubuntu 24.04 LTS.
  • Flavor: Choose the size for each server (vCPU, RAM, and NVMe storage).

Networking

  • Public network: Keep External selected. The load balancer's public IP address comes from this network.
  • If your project already has a private network, select it from the Private network dropdown.
  • If your project does not have a private network yet, InMotion Central offers to create a Private Network + Router deployment first, using the prefilled subnet (192.168.10.0/24) and DNS servers (1.1.1.1, 8.8.8.8).

SSH

  • SSH key: Select an existing SSH key, click Generate New Key, or click Paste Public Key. You need a key to sign in to the server.
  • SSH whitelist: Confirm the comma-separated IP addresses or CIDR ranges allowed on port 22 (prefilled with your current public IP address). Leave this field empty if you want port 22 closed.

lb-web-pair-2-configure-deployment-1.png

3. Launch and Monitor Your Deployment

  1. Click Deploy (or Create Network And Deploy if you are creating a private network at the same time).
  2. Scroll down to My Deployments at the bottom of the Quick Start page to track progress.
  3. Wait a few minutes while both servers boot, install Nginx, and the load balancer comes online. When setup finishes, the Status column for lb-web-pair changes to CREATE_COMPLETE.

lb-web-pair-3-my-deployments-1.png

4. Copy the Load Balancer's Public IP Address

  1. Next to your lb-web-pair deployment under My Deployments, click Outputs.
  2. Copy the floating_ip value. This is the load balancer's public floating IP address. Visitors use this address, not the servers' own addresses.

lb-web-pair-4-outputs-1.png

How to Know the Installation Was Successful

  1. Open a browser and go to http://<floating_ip>.
  2. A page that says web-1 or web-2 loads. Each server has a test page with its own name, so you can see which one answered.
  3. Refresh the page a few times. The name switches between web-1 and web-2, which shows the load balancer is sending visitors to both servers.

You can see the same thing from a terminal. Our test deployment returned:

Shell
1$ for i in 1 2 3 4; do curl -s http://<floating_ip>/; done

<h1>web-2</h1>
<h1>web-1</h1>
<h1>web-2</h1>
<h1>web-1</h1>

What Was Automatically Set Up

Check which web server answers

Shell
1$ curl -sI http://<floating_ip>/

The response headers include:

HTTP/1.1 200 OK
server: nginx/1.24.0 (Ubuntu)
content-type: text/html

The template set up:

  • Two web servers (web-1 and web-2) running Ubuntu 24.04 LTS and Nginx 1.24.0, each with a test page at /var/www/html/index.html.
  • A load balancer that listens on port 80 and takes turns sending each new request to web-1 and web-2 (round robin).
  • A health check on each server. If one stops answering, the load balancer sends all traffic to the other until it recovers.
  • A public IP address on the load balancer only. The web servers have private addresses and no public IP addresses of their own.

To publish your own site, replace /var/www/html/index.html (or your Nginx site configuration) on both servers with the same content. Because the web servers have no public IP addresses, connect to them over a WireGuard Gateway VPN. For that to work, include your private network range (for example, 192.168.10.0/24) in the SSH whitelist when you deploy the pair.

AI Engineer

I love to tinker with cool stuff.

Share this Article
STILL NEED HELP?

Talk with an InMotion Cloud specialist

Reach out to the InMotion Cloud support team and we’ll walk through your scenario together.