Skip to main content

Deploying a React Project on an Ubuntu Server: A Step-by-Step Guide

Introduction

Deploying a React project on an Ubuntu server is a crucial step to make your web application accessible to users worldwide. In this tutorial, we'll walk through the process of deploying a React project on an Ubuntu server, complete with step-by-step instructions and accompanying images to guide you along the way.

Prerequisites

Before you begin, ensure you have the following:

  • An Ubuntu server (either a physical server or a virtual machine)
  • Basic knowledge of the Linux command line
  • Node.js and npm installed on your server
  • Your React project's build files ready for deployment

Step 1: Connect to Your Ubuntu Server

Begin by accessing your Ubuntu server using SSH. Open your terminal and run the following command:

ssh username@server_ip_address

Replace username with your server's username and server_ip_address with your server's actual IP address.

Step 2: Update and Upgrade

It's a good practice to ensure your server is up to date before proceeding with deployment. Run the following commands:

sudo apt update
sudo apt upgrade

Step 3: Install a Web Server (Nginx)

Nginx will serve as the web server for your React application. Install Nginx using:

sudo apt install nginx

After installation, start Nginx and enable it to start on boot:

sudo systemctl start nginx
sudo systemctl enable nginx

Step 4: Serve Your React Build

Navigate to your React project's build directory. If your project is ready for deployment, you should have a build directory containing optimized production-ready files. Copy these files to Nginx's default serving directory:

sudo cp -r /path/to/your/build/* /var/www/html

Step 5: Configure Nginx for React

Create a new Nginx server block configuration for your React application:

sudo nano /etc/nginx/sites-available/react-app

Add the following configuration, adjusting the domain and other settings as needed:

            
server {
    listen 80;
    server_name your_domain.com www.your_domain.com;

    location / {
        root /var/www/html;
        index index.html;
        try_files $uri $uri/ /index.html;
    }
}
            
        

Save and close the file. Then, create a symbolic link to enable the new configuration:

sudo ln -s /etc/nginx/sites-available/react-app /etc/nginx/sites-enabled

Step 6: Test and Restart Nginx

Before restarting Nginx, test the configuration for syntax errors:

sudo nginx -t

If the test is successful, restart Nginx to apply the changes:

sudo systemctl restart nginx

Step 7: Configure Domain and DNS (Optional)

If you have a domain name, configure the DNS settings to point to your server's IP address.

Step 8: Access Your React App

Open a web browser and enter your domain or server's IP address. You should see your React application live and accessible to users.

Conclusion

Congratulations! You've successfully deployed your React project on an Ubuntu server using Nginx as the web server. By following this guide, you've made your application accessible to users worldwide. Remember, deploying a web application is an iterative process, so ensure you keep your server and application up to date for optimal performance and security.

Remember, the provided commands and configurations are generic examples and may need to be adapted to your specific project and server environment. Always ensure you understand the commands you are using and the changes you're making to your server. Happy deploying!

Comments

Popular posts from this blog

How to Change Git Remote Origin: A Step-by-Step Guide

Introduction Changing the remote origin of your Git repository is a common task, especially when you need to move your repository to a different hosting service or update its URL. In this step-by-step guide , we will walk you through the process of changing the remote origin of your Git repository. Prerequisites Before you begin, make sure you have the following: A Git repository with the current remote origin. A new URL or location where you want to set the new remote origin. Step 1: Verify the Current Remote Origin URL Open your terminal and navigate to your Git repository's root directory. Use the following command to view your current remote configuration: git remote -v This command will display the current remote origin URL, fetch URL, and push URL. Step 2: Remove the Current Remote Origin (Optional) If you wish to completely remo...

How to solve internet problem for ubuntu in virtual box?

You can access internet on virtual box by two way one is bridge network or host only. today i show you the host only option. First you need to create a Host only network in virtual box virtual box -> file -> preferences -> network -> Host-only network  Click add button Click DHCP, click Enable Server Select virtual OS, go to setting -> network Now login to your ubuntu os and do the following            sudoedit /etc/network/interfaces # The loopback network interface auto lo iface lo inet loopback # NAT auto eth0 iface eth0 inet dhcp # Host only auto eth1 iface eth1 inet dhcp After VM reboot hope everything worked fine.