Hosting your Vite+React application on a Virtual Private Server (VPS) is a great way to gain full control over your application's environment. This guide will walk you through the steps required to get your Vite+React app up and running on a VPS.
Prerequisites
Before we start, make sure you have the following:
A VPS (e.g., from providers like DigitalOcean, AWS, Linode, etc.)
A domain name (optional, but recommended)
Basic knowledge of SSH and Linux command line
Node.js and npm installed on your local machine
Git installed on your local machine
Step 1: Set Up Your VPS
First, you need to set up your VPS. If you haven't already, sign up with a VPS provider and create a new server instance. Choose an operating system (typically Ubuntu) and make a note of your server's IP address.
Connect to Your VPS
Open your terminal and connect to your VPS using SSH:
ssh your_username@your_server_ip
Replace your_username
and your_server_ip
with your actual username and server IP address.
Update and Upgrade Your VPS
Once connected, update and upgrade the server packages:
sudo apt update
sudo apt upgrade -y
Step 2: Install Node.js and npm
Next, install Node.js and npm on your VPS:
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt install -y nodejs
Verify the installation:
node -v
npm -v
Step 3: Install Git
You will need Git to clone your Vite+React app repository:
sudo apt install git -y
Step 4: Clone Your Vite+React App
Navigate to the directory where you want to host your application and clone your app's repository:
cd /var/www
sudo git clone https://github.com/yourusername/your-vite-react-app.git
cd your-vite-react-app
Replace the repository URL with the actual URL of your repository.
Step 5: Install Dependencies and Build the App
Install your app's dependencies and build the app:
npm install
npm run build
This will generate a dist
folder containing your static files.
Step 6: Set Up a Web Server (Nginx)
Install Nginx, which will serve your Vite+React app:
sudo apt install nginx -y
Configure Nginx to serve your app. Create a new configuration file:
sudo nano /etc/nginx/sites-available/your-vite-react-app
Add the following content to the file:
server {
listen 80;
server_name your_domain_or_ip;
root /var/www/your-vite-react-app/dist;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www/html;
}
}
Save and close the file. Enable the new configuration:
sudo ln -s /etc/nginx/sites-available/your-vite-react-app /etc/nginx/sites-enabled/
sudo unlink /etc/nginx/sites-enabled/default
Test the Nginx configuration and restart the service:
sudo nginx -t
sudo systemctl restart nginx
Step 7: Set Up a Firewall
Ensure your firewall allows HTTP and HTTPS traffic:
sudo ufw allow 'Nginx Full'
sudo ufw enable
Step 8: Access Your App
Now, your Vite+React app should be accessible via your domain name or server IP address. Open a web browser and navigate to http://your_domain_or_ip
.
Conclusion
Congratulations! You've successfully hosted your Vite+React application on a VPS. This setup gives you a robust and scalable environment for your app, with the flexibility to tweak and optimize as needed.