<?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>Forem: Anne Usang</title>
    <description>The latest articles on Forem by Anne Usang (@anneusang).</description>
    <link>https://forem.com/anneusang</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1143994%2F194a3d27-d161-4dc7-80b7-72ccc8fb5df4.jpg</url>
      <title>Forem: Anne Usang</title>
      <link>https://forem.com/anneusang</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/anneusang"/>
    <language>en</language>
    <item>
      <title>Setting Up NGINX to Serve a Simple HTML Page</title>
      <dc:creator>Anne Usang</dc:creator>
      <pubDate>Sat, 01 Feb 2025 04:17:20 +0000</pubDate>
      <link>https://forem.com/anneusang/setting-up-nginx-to-serve-a-simple-html-page-2p4k</link>
      <guid>https://forem.com/anneusang/setting-up-nginx-to-serve-a-simple-html-page-2p4k</guid>
      <description>&lt;p&gt;In this blog post, I will share my experience configuring NGINX on an EC2 instance running Ubuntu to serve a custom HTML page. The goal was to display the message:&lt;/p&gt;

&lt;p&gt;"Welcome to DevOps Stage 0 - [Your Name]/[SlackName]"&lt;/p&gt;

&lt;p&gt;I will walk through the approach I took, challenges I faced, and how this task contributes to my professional growth.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw5hnt9boiqur972atlra.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw5hnt9boiqur972atlra.gif" alt="GIF" width="480" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To begin, I launched an EC2 instance on AWS with Ubuntu as the operating system. After ensuring that my instance was up and running, I followed these steps:&lt;/p&gt;

&lt;p&gt;1) Connect to the EC2 Instance: I connected to my EC2 instance using the browser-based terminal, EC2 instance connect.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl8lxaff9k9brlbm3o0tf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl8lxaff9k9brlbm3o0tf.png" alt="Ec2-Instance-Connect" width="800" height="355"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2) Update the System: Once connected, I updated the package list to ensure I had the latest versions. By the way, this is a good practice:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt update -y
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;3) Install NGINX: I installed NGINX on my server using the package manager:&lt;br&gt;
&lt;/p&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;4) Creating the simple HTML page: I navigated to the web root directory (/var/www/html/) and created an index.html file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo nano /var/www/html/index.html
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then, I added the following content into the index.html file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang="en"&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset="UTF-8"&amp;gt;
    &amp;lt;title&amp;gt;DevOps Stage 0&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;h1&amp;gt;Welcome to DevOps Stage 0 - [Replace with Your Name]/[Replace with your SlackName]&amp;lt;/h1&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;5) Next, I edited the NGINX default configuration file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo nano /etc/nginx/sites-available/default
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I modified the server block as follows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;server {
    listen 80;
    server_name _;
    root /var/www/html;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;6) After saving the configuration, I restarted NGINX to apply the changes:&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;p&gt;Voila! Here's how my site looked&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F13x71s4v8we9o1o9bhr1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F13x71s4v8we9o1o9bhr1.png" alt="Deployed site" width="800" height="399"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Challenges Faced &amp;amp; Solutions
&lt;/h2&gt;

&lt;p&gt;While the task was straightforward, I encountered a challenge:&lt;/p&gt;

&lt;p&gt;Permission Issues: Initially, I faced permission issues when trying to create the HTML file in the /var/www/html directory. To resolve this, I used &lt;code&gt;sudo&lt;/code&gt; to create and edit the file, ensuring I had the necessary permissions.&lt;/p&gt;

&lt;h2&gt;
  
  
  How This Task Contributes to My Learning &amp;amp; Professional Goals
&lt;/h2&gt;

&lt;p&gt;This task provided me with hands-on experience in configuring a web server, which is a crucial skill for any Cloud Engineer. Understanding how to serve static content using NGINX is foundational knowledge that will aid me in more complex deployments in the future.&lt;/p&gt;

&lt;p&gt;Moreover, this experience reinforced my problem-solving skills and my ability to troubleshoot issues in real-time, which are essential traits in the fast-paced world of DevOps.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Configuring NGINX to serve a simple HTML page was a rewarding experience that enhanced my technical skills and prepared me for future challenges in my career. For those interested in pursuing a career in this field, I recommend exploring opportunities as a DevOps Engineer or Cloud Engineer, as these roles are in high demand and offer exciting career paths. For more information, check out the following HNG resources: &lt;a href="https://hng.tech/hire/devops-engineers" rel="noopener noreferrer"&gt;DevOps Engineers&lt;/a&gt; and &lt;a href="https://hng.tech/hire/devops-engineers" rel="noopener noreferrer"&gt;Cloud Engineers&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>cloudskills</category>
      <category>linux</category>
      <category>beginners</category>
      <category>aws</category>
    </item>
    <item>
      <title>Deploying an AI Spam Detection App on AWS EC2</title>
      <dc:creator>Anne Usang</dc:creator>
      <pubDate>Mon, 30 Dec 2024 15:49:54 +0000</pubDate>
      <link>https://forem.com/anneusang/deploying-an-ai-spam-detection-app-on-aws-ec2-1dg7</link>
      <guid>https://forem.com/anneusang/deploying-an-ai-spam-detection-app-on-aws-ec2-1dg7</guid>
      <description>&lt;p&gt;&lt;strong&gt;Overview&lt;/strong&gt;&lt;br&gt;
In the digital age, spam emails are a persistent nuisance, cluttering inboxes and posing security risks. To combat this, we can leverage artificial intelligence to create a spam detection application. In this blog post, we will guide you through the process of deploying an AI spam detection app built with Python and Flask on an AWS EC2 instance. This application utilizes machine learning to classify emails as spam or not spam, providing a practical solution to a common problem.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What You Will Learn&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;How to set up an AWS EC2 instance&lt;/li&gt;
&lt;li&gt;How to install necessary software and dependencies&lt;/li&gt;
&lt;li&gt;How to deploy a Flask application using Gunicorn&lt;/li&gt;
&lt;li&gt;How to configure security settings for your application&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Prerequisites&lt;/strong&gt;&lt;br&gt;
Before we dive into the deployment process, ensure you have the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AWS Account: If you don’t have one, you can create a free-tier account. &lt;a href="https://aws.amazon.com/" rel="noopener noreferrer"&gt;Create an AWS account here&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Basic Knowledge of Terminal Commands: Familiarity with command-line interfaces will be helpful.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Launch the Ubuntu EC2 Instance&lt;/strong&gt;&lt;br&gt;
1) Log in to your AWS Management Console.&lt;br&gt;
2) Navigate to the EC2 Dashboard.&lt;br&gt;
3) Click Launch Instance.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc4x6apc830gnbb80w27i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc4x6apc830gnbb80w27i.png" alt="Launch Instance" width="800" height="349"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;4) Select an Ubuntu Server AMI (e.g., Ubuntu 20.04 LTS).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwokyjc33abyq0lmnbtkb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwokyjc33abyq0lmnbtkb.png" alt="Choosing Ubuntu AMI" width="800" height="402"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;5) Choose an Instance Type (e.g., t2.micro for free tier).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzn0xnittzwy9xoi6wku7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzn0xnittzwy9xoi6wku7.png" alt="Instance type" width="800" height="262"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;6) Create a key pair (.pem)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu14lk8l10wp5kxp4z7uu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu14lk8l10wp5kxp4z7uu.png" alt="Key pair" width="800" height="314"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;7) Configure security groups:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Allow SSH (port 22).&lt;/li&gt;
&lt;li&gt;Add a rule for HTTP (port 80).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frjh8qtendxee53aybhyo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frjh8qtendxee53aybhyo.png" alt="Security group" width="800" height="337"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;8) Launch the instance and connect via EC2 Instance Connect&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqzx2tf5onuwqe0ucxdcv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqzx2tf5onuwqe0ucxdcv.png" alt="Launch Instance" width="800" height="312"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Update the Instance&lt;/strong&gt;&lt;br&gt;
Once connected to your EC2 instance, it’s a good practice to update the package lists and upgrade the installed packages:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt update
sudo apt upgrade -y
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 3: Install Python and Pip&lt;/strong&gt;&lt;br&gt;
1) Next, we need to install Python and Pip, which are essential for running our Flask application:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt install python3-pip -y
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;2) Verify the installation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;python3 --version
pip --version
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 4: Set Up the Flask App&lt;/strong&gt;&lt;br&gt;
1) Clone the Flask App Repository: Use Git to clone the &lt;a href="https://github.com/cloudwithanne/Deploying-an-AI-Spam-Detection-App" rel="noopener noreferrer"&gt;repository&lt;/a&gt; containing the spam detection app. Replace  with the actual URL of your GitHub repository.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone &amp;lt;repository-url&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;2) Navigate to the project folder (replace  with your actual folder name):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd &amp;lt;folder-name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;3) Check the &lt;code&gt;requirements.txt&lt;/code&gt; File: Open the &lt;code&gt;requirements.txt&lt;/code&gt; file to ensure it lists all necessary dependencies.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nano requirements.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;4) Convert Line Endings: If you encounter issues with the requirements.txt file (e.g., it appears encrypted), convert it to Unix-style line endings:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;file requirements.txt
sudo apt install dos2unix -y
dos2unix requirements.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;5) Install the dependencies:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install -r requirements.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 5: Run the Flask App (Development Mode)&lt;/strong&gt;&lt;br&gt;
To test the application, you can run it in development mode:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;python3 app.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;By default, Flask runs on port 5000. You can verify that the app is running by navigating to &lt;code&gt;http://&amp;lt;your-ec2-public-ip&amp;gt;:5000&lt;/code&gt; in your web browser.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 6: Open Port 5000 in the Security Group&lt;/strong&gt;&lt;br&gt;
To allow access to your app, you need to open port 5000 in the security group:&lt;/p&gt;

&lt;p&gt;1) Go to the EC2 Dashboard in AWS.&lt;br&gt;
2) Select your instance and navigate to the Security tab.&lt;br&gt;
3) Click on the Security Group link.&lt;br&gt;
4) Edit the Inbound Rules to allow TCP traffic on port 5000.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9v7yuo4yyr1mnfpeb8kc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9v7yuo4yyr1mnfpeb8kc.png" alt="Inbound security group" width="800" height="323"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 7: Set Up a Production-Ready Server with Gunicorn (optional)&lt;/strong&gt;&lt;br&gt;
To run your app on a production-ready server, you can use Gunicorn:&lt;/p&gt;

&lt;p&gt;1) Install Gunicorn:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install gunicorn
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;2) Run the app with Gunicorn:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gunicorn --workers 3 --bind 0.0.0.0:5000 app:app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Replace app:app with your actual module and app name if different.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
We have successfully deployed your AI spam detection application on AWS EC2! You can now access it via your EC2 public IP. For further enhancements, consider implementing HTTPS and using a reverse proxy like Nginx for better performance and security.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/cloudwithanne/Deploying-an-AI-Spam-Detection-App/tree/main/The-AI-Spam-Detection-App-(running)" rel="noopener noreferrer"&gt;Feel free to check out the screenshot of what the app looks like here&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Feel free to ask questions or drop your comments😊&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>ai</category>
      <category>python</category>
    </item>
  </channel>
</rss>
