<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ngozi Chukwumezie</title>
    <description>The latest articles on DEV Community by Ngozi Chukwumezie (@ngozi_chukwumezie_e50c91d).</description>
    <link>https://dev.to/ngozi_chukwumezie_e50c91d</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2783011%2Fc9af2bc1-df32-4c41-b1bb-9cc05ed7bb45.png</url>
      <title>DEV Community: Ngozi Chukwumezie</title>
      <link>https://dev.to/ngozi_chukwumezie_e50c91d</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ngozi_chukwumezie_e50c91d"/>
    <language>en</language>
    <item>
      <title>Deploying Nginx on an Ubuntu Server: My Experience</title>
      <dc:creator>Ngozi Chukwumezie</dc:creator>
      <pubDate>Wed, 29 Jan 2025 20:57:36 +0000</pubDate>
      <link>https://dev.to/ngozi_chukwumezie_e50c91d/deploying-nginx-on-an-ubuntu-server-my-experience-7jc</link>
      <guid>https://dev.to/ngozi_chukwumezie_e50c91d/deploying-nginx-on-an-ubuntu-server-my-experience-7jc</guid>
      <description>&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;Approach to Completing the Task&lt;br&gt;
Since my local machine runs Windows, I had to connect to the Ubuntu server remotely. My approach followed these steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Connecting to the Ubuntu Server
I used PowerShell to SSH into my cloud-based Ubuntu server:
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ssh username@your-server-ip
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Alternatively, PuTTY is another great SSH tool for Windows users.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Updating the System
Before installing anything, I made sure the system was up to date:
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt update &amp;amp;&amp;amp; sudo apt upgrade -y
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ol&gt;
&lt;li&gt;Installing and Configuring Nginx
I installed Nginx using:
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt install nginx -y
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;After installation, I confirmed that Nginx was running with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo systemctl status nginx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Allowing Web Traffic
To ensure my server was accessible, I configured the UFW firewall:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo ufw allow 'Nginx Full'
sudo ufw enable
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Testing the Setup
I opened a web browser on Windows and entered my server’s IP address:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;http://your-server-ip
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Seeing the Nginx welcome page confirmed the setup was successful.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Challenges Faced and Solutions&lt;/strong&gt;&lt;br&gt;
While completing this task, I ran into a few issues:&lt;/p&gt;

&lt;p&gt;1*&lt;em&gt;. "Site Can’t Be Reached" Error&lt;/em&gt;*&lt;br&gt;
When I first entered my server’s IP address in the browser, I got a connection error.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;br&gt;
Checked if Nginx was running:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo systemctl status nginx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Verified that UFW was allowing HTTP traffic.&lt;br&gt;
Restarted Nginx:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo systemctl restart nginx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Firewall Blocking Requests
Even after configuring UFW, my server was still inaccessible.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;br&gt;
I realized I needed to modify my cloud provider’s security rules to allow traffic on port 80 (HTTP).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How This Task Contributes to My Learning and Career Goals&lt;/strong&gt;&lt;br&gt;
As an aspiring cloud engineer, successfully deploying Nginx strengthened my understanding of Linux administration, cloud networking, and web server configurations.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Finally,&lt;/strong&gt;&lt;br&gt;
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 &lt;strong&gt;Cloud Engineer&lt;/strong&gt; or &lt;strong&gt;DevOps Engineer&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If you're interested in DevOps roles, check out this &lt;strong&gt;DevOps Engineers&lt;/strong&gt; resource for career opportunities.&lt;/p&gt;

&lt;p&gt;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!&lt;/p&gt;

&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.devops%20engineers.com" rel="noopener noreferrer"&gt;Devops Engineer&lt;/a&gt; &lt;br&gt;
&lt;a href="https://hng.tech/hire/cloud-engineers" rel="noopener noreferrer"&gt;Cloud Engineers&lt;/a&gt;&lt;br&gt;
&lt;a href="https://hng.tech/hire/aws-solutions-architects" rel="noopener noreferrer"&gt;AWS Solutions Architects&lt;/a&gt;&lt;br&gt;
&lt;a href="https://hng.tech/hire/monitoring-observability-engineers" rel="noopener noreferrer"&gt;Monitoring/Observability Engineers&lt;/a&gt;&lt;br&gt;
&lt;a href="https://hng.tech/hire/automation-engineers" rel="noopener noreferrer"&gt;Automation Engineers&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devops</category>
      <category>hng</category>
      <category>aws</category>
      <category>ubuntu</category>
    </item>
  </channel>
</rss>
