Setting up Nginx on a fresh Ubuntu server while using Windows as my main operating system was both a technical challenge and a valuable learning experience. In this blog post, I’ll document my approach, challenges faced, and the impact of this task on my professional development as a cloud engineer.
Approach to Completing the Task
Since my local machine runs Windows, I had to connect to the Ubuntu server remotely. My approach followed these steps:
- Connecting to the Ubuntu Server I used PowerShell to SSH into my cloud-based Ubuntu server:
ssh username@your-server-ip
Alternatively, PuTTY is another great SSH tool for Windows users.
- Updating the System Before installing anything, I made sure the system was up to date:
sudo apt update && sudo apt upgrade -y
- Installing and Configuring Nginx I installed Nginx using:
sudo apt install nginx -y
After installation, I confirmed that Nginx was running with:
sudo systemctl status nginx
- Allowing Web Traffic To ensure my server was accessible, I configured the UFW firewall:
sudo ufw allow 'Nginx Full'
sudo ufw enable
- Testing the Setup I opened a web browser on Windows and entered my server’s IP address:
http://your-server-ip
Seeing the Nginx welcome page confirmed the setup was successful.
Challenges Faced and Solutions
While completing this task, I ran into a few issues:
1*. "Site Can’t Be Reached" Error*
When I first entered my server’s IP address in the browser, I got a connection error.
Solution:
Checked if Nginx was running:
sudo systemctl status nginx
Verified that UFW was allowing HTTP traffic.
Restarted Nginx:
sudo systemctl restart nginx
- Firewall Blocking Requests Even after configuring UFW, my server was still inaccessible.
Solution:
I realized I needed to modify my cloud provider’s security rules to allow traffic on port 80 (HTTP).
How This Task Contributes to My Learning and Career Goals
As an aspiring cloud engineer, successfully deploying Nginx strengthened my understanding of Linux administration, cloud networking, and web server configurations.
This hands-on experience aligns with the skills required for Cloud Engineers in high-demand roles like DevOps, Site Reliability, and Platform Engineering. If you're looking to build expertise in cloud-based infrastructure, consider exploring opportunities in Cloud Engineering.
Finally,
Deploying Nginx on an Ubuntu server from Windows provided real-world exposure to server administration, troubleshooting, and security configurations. These are crucial skills for anyone aspiring to become a Cloud Engineer or DevOps Engineer.
If you're interested in DevOps roles, check out this DevOps Engineers resource for career opportunities.
This experience reinforced my belief that hands-on practice is the best way to learn cloud technologies. I look forward to automating deployments and scaling web applications in future projects!
References
Devops Engineer
Cloud Engineers
AWS Solutions Architects
Monitoring/Observability Engineers
Automation Engineers
Top comments (0)