Ends in
00
hrs
00
mins
00
secs
SHOP NOW

⏲️ 48-Hour Bonus Sale - Get 25% OFF any product. Use Coupon code: TD-NY2026

Back to Course

GCP PlayCloud Labs

0% Complete
0/0 Steps
  1. GCP PlayCloud Labs
  2. Guided Lab: How to Launch a GCP Compute Engine Linux Instance
  3. Guided Lab: Creating a VM Using Instance Templates
  4. Guided Lab: Creating and Managing Instance Groups in Compute Engine
  5. Guided Lab: Creating a Spot VM Instance
  6. Guided Lab: Configuring Shielded VM Options
  7. Guided Lab: Exploring Instance Metadata in Google Cloud
  8. Guided Lab: Vertically Scaling a VM Instance
  9. Guided Lab: Setting up a Web Server on a VM Instance
  10. Guided Lab: Using Startup Scripts in GCP VM Instances
  11. Guided Lab: Creating a Custom Image from a VM Instance with Web Server in Google Cloud
  12. Guided Lab: Setting Up and Managing a Database on a VM Instance
  13. Guided Lab: Installing WordPress on an Ubuntu VM Instance with LEMP Stack
  14. Guided Lab: Reserving or Promoting a Static IP Address for a VM Instance
  15. Guided Lab: SSH Access to GCP VM Instance from Local Machine using SSH Key Pair
  16. Guided Lab: Guarding Your VM with Deletion Protection
  17. Guided Lab: Creating a Cloud Storage Bucket
  18. Guided Lab: Hosting a Static Website in Google Cloud Storage Bucket
  19. Guided Lab: Protecting Data on Cloud Storage Bucket Against Accidental Delete and Overwrite Using Object Versioning
  20. Guided Lab: Using Cloud Storage Lifecycle Rules to Automate Object Management
  21. Guided Lab: Managing Cloud Storage Buckets via SSH Commands
  22. Guided Lab: Creating a Cloud SQL Instance
  23. Guided Lab: Running SQL Commands in Cloud SQL Studio
  24. Guided Lab: Creating and Restoring Cloud SQL Backups
  25. Guided Lab: Integrating Cloud SQL Database instance with a VM instance
  26. Guided Lab: Connecting Cloud SQL Database with MySQL Workbench (Local)
  27. Guided Lab: Guarding Your Cloud SQL Instances with Deletion Protection
  28. Guided Lab: Creating a Cloud NAT Gateway
  29. Guided Lab: Creating a Google Kubernetes Engine (GKE) Cluster
  30. Guided Lab: Connecting to a Kubernetes Engine Cluster
  31. Guided Lab: Deploying a Simple Web Application on GKE
  32. Guided Lab: Creating a Custom Virtual Private Cloud (VPC)
  33. Guided Lab: Establishing VPC Peering for Secure Cross‑Network Communication
  34. Guided Lab: Configuring Firewall Rules to Secure and Access a VM
  35. Guided Lab: Deploying a LAMP Stack on a Compute Engine VM
Lesson 9 of 35
In Progress

Guided Lab: Setting up a Web Server on a VM Instance

Description

Google Cloud Compute Engine allows you to create and run virtual machines (VMs) on Google’s infrastructure. By configuring a VM with a web server, you can host websites or applications directly in the cloud. This lab will guide you through setting up a simple Nginx web server on a VM instance, verifying that it serves content, and ensuring external access through firewall rules.

Prerequisites

To ensure the successful completion of this lab, you must have prior experience in creating VM instances and be familiar with their essential components. If you feel that your knowledge in this area is insufficient, we highly recommend taking this lab to gain the necessary understanding:

Objectives

In this lab, you will:

  • Create a VM instance in Google Cloud.
  • Configure and run a simple Nginx web server.
  • Verify that the server is accessible externally.
  • Apply a firewall rule to allow HTTP traffic.

Lab Steps

Create a Compute Engine VM Instance

1. Create a VM instance using the following machine configurations:

  • Name: Enter your desired instance name.
  • Machine type: Choose e2-micro (Preset)

2. Under OS and storage, click the Change button to modify the Boot disk:

  • Operating System: Ubuntu
  • Version: 24.04 LTS Minimal (x86/64, amd64 noble minimal image built on 2025‑12‑17)
  • Click Select once done.

3. Under Network → Firewall, check:

  • Allow HTTP traffic

4. Leave other configurations at their default values.

5. Once done, click the Create button.

Set Up a Web Server

1. SSH into the VM from the console.

2. Run the following commands:

# Update system
sudo apt update -y

# Install Nginx
sudo apt install nginx -y

# Start Nginx
sudo systemctl start nginx

# Create a custom HTML page in the HTML directory
echo '<h1>Welcome to my web page!</h1>' | sudo tee /usr/share/nginx/html/mypage.html > /dev/null

# Add the configuration directly
echo 'server {
    listen 80 default_server;
    server_name _;
    root /usr/share/nginx/html;
    
    location / {
        index mypage.html;
    }
}' | sudo tee /etc/nginx/conf.d/server.conf > /dev/null

# Remove the default site to avoid duplicate default_server errors:
sudo unlink /etc/nginx/sites-enabled/default

# Test and Reload Nginx for the changes to take effect
sudo nginx -t && sudo service nginx reload

# Enable Nginx at boot
sudo systemctl enable nginx
Verify Web Server

1. From your local browser, visit:

http://<VM_EXTERNAL_IP>

2. You should see your custom HTML page.

Congratulations! You have successfully set up a web server on a VM instance in Google Cloud. You created a VM, installed and configured Nginx, ensured firewall rules allowed external access, and verified that your server is serving content. This workflow demonstrates how to host a simple website in Google Cloud, laying the foundation for more advanced deployments such as load balancing, SSL/TLS configuration, and scaling.

Skip to content