Nginx

Installation of Nginx load balancer

Nginx is used as both reverse proxy and load balancing for on-prem deployments.

Installation

  • Run this to install nginx;

    sudo apt install nginx
  • Run this to delete default server;

    sudo rm /etc/nginx/sites-enabled/default
  • Restart nginx

    sudo systemctl restart nginx

This is only a one-time installation. Whenever you want to add new servers to this Nginx, follow Install Servers to Nginx Section.

Install Servers to Nginx

This section applies only to one Server. Repeat this section for every server to be added.

Pre-requisites

Installation

(TODO: Change this section; add a choice between stream & http.)

  • Navigate to /etc/nginx/sites-available directory and create a file called <sandbox name>.conf (Example: prod-openg2p.conf) by using kubernetes/nginx/server.sample.conf file as a template.

    • Use a new Listen IP Address for every server. It is recommended to add a new Network Interface in the same VM which is part of the same network.

    • When configuring upstream servers, the node port of Istio Ingressgateway will need to be configured. So it is important to understand the ports and figure out which ports connect to which Ingressgateway and for what purpose.

  • Run this to enable the server that is just added.

    sudo ln -s /etc/nginx/sites-available/<sandbox name>.conf /etc/nginx/sites-enabled/
  • Test nginx conf for errors:

    sudo nginx -t
  • Restart nginx

    sudo systemctl restart nginx

Post-installation

Map the hostnames to Nginx IPs on your DNS service (Map the hostnames to Nginx IPs on your DNS service (Route53 on AWS)

Last updated

Logo

Copyright © 2024 OpenG2P. This work is licensed under Creative Commons Attribution International LicenseCC-BY-4.0 unless otherwise noted.

#712: Pramod's Jun 3 changes

Change request updated