Nginx Web Server Provisioning Workflow on MTN Cloud

Overview

This guide covers the automated deployment of a cloud-optimized Nginx HTTP server on the MTN Cloud Platform. This service allows you to host reliable web applications using either the Service Catalog or the standard Instance provisioning wizard.

Why it matters:

  • High Performance: Nginx is known for its exceptional performance, low resource consumption, and ability to handle thousands of concurrent connections, making it ideal for high-traffic web applications.
  • Ease of Management: Each instance includes integrated server management commands for checking status, restarting, or stopping the service directly via the terminal.
  • Flexibility: You can deploy web applications quickly and then customize them by uploading your own content to the /var/www/html/ directory.
  • Modern Architecture: Nginx excels as both a web server and a reverse proxy, providing flexible routing and load balancing capabilities.

Prerequisites

Before you begin, ensure you have:

  • An active MTN Cloud Console login with the appropriate permissions (e.g., Customer Admin User role) to view the “Provisioning” and “Infrastructure” tabs.Tip: If you do not see required features and resources, please refresh the portal or contact support.
  • A created Resource Pool (Project). Refer to the Project Creation Workflow documentation.
  • A created Network. Refer to the Network and Router Creation Workflow documentation for detailed steps.
  • A created Router with the network attached. Refer to the Network and Router Creation Workflow documentation for detailed steps.
  • A pre-configured Security Group to manage inbound/outbound traffic. Refer to the Security Group Creation documentation for detailed steps.
  • A planned deployment strategy (e.g., specific IP needs, naming conventions, and database configuration details).

Important Note: You must include an inbound rule in your security group for Port 80 (or your custom Nginx port) to ensure the web server is accessible.

Phase 1: Deploy MTN Nginx Web Server

Step 1 – Select Catalog Item

Navigate to Provisioning > Catalog and select the MTN Nginx Web Server catalog item

Accessing the Catalog from the Provisioning dashboard.

Figure 1: Accessing the Catalog from the Provisioning dashboard.

The Catalog view displaying the "MTN Nginx Web Server" option for ordering

Figure 2: The Catalog view displaying the “MTN Nginx Web Server” option for ordering

Step 2 – Configure Deployment

Fill in the following details in the order form:

  • Group & Cloud: Select your assigned group and cloud.
  • Name & Environment: Provide a unique name and select the environment.
  • Resource Pool & Plan: Choose the appropriate Resource Pool and service Plan.
  • Networking: Assign your Network and define the Web Server Port (default is 80).
  • Security Groups: Select both the Default security group and the Security Group created using the dedicated guide.
The deployment order form requires group, cloud, and security group configuration.

Figure 3: The deployment order form requires group, cloud, and security group configuration.

Click Order Now to initiate the deployment

Step 3 – Verify and Manage

Navigate to Provisioning > Instances to view your running server.

Instance view showing the status and health of the provisioned Nginx web server

Figure 4: Instance view showing the status and health of the provisioned Nginx web server

Once the status shows as running, expand the Addresses section and select the provided HTTP link to confirm the web server is live.

Instance details view showing the HTTP address link for verification.

Figure 5: Instance details view showing the HTTP address link for verification.

If the Nginx web service uses a custom port, verify it by entering the instance’s public IP followed by that port in your browser.

The verification page confirming the Nginx Web Server is up and running

Figure 6: The verification page confirming the Nginx Web Server is up and running

When you open the Console tab or connect to the instance remotely, you’ll see key details about the newly provisioned Nginx web server.

Console view showing server details and some management commands.

Figure 7: Console view showing server details and some management commands.

Additional Deployment Method

The instance can also be provisioned via the Instances tab—the same way you would normally create an instance or virtual machine—by selecting the MTN Nginx Web Server instance type.

Deploying via the Instance tab

Figure 8: Deploying via the Instance tab

Important Tips and Notes

  • The web server is accessible over HTTP by default. If HTTPS is required, you can install certificates and enable SSL modules through standard Nginx configuration files.
  • End users access hosted content directly through the instance's public HTTP endpoint, with no additional client configuration required.
  • Configuration Files: Key configuration files for customization:
    • Main Nginx config: /etc/nginx/nginx.conf
    • Virtual hosts: /etc/nginx/sites-enabled/
    • Default site: /etc/nginx/sites-enabled/default
  • Management Commands:
    • Restart Nginx: sudo systemctl restart nginx
    • Check status: sudo systemctl status nginx
    • Check logs: tail -f /var/log/nginx/error.log
  • Code Deployment: Upload your website content to /var/www/html/ or the document root configured in your Nginx virtual host settings.