How to Set Up Cheap VPS Hosting for Your Website: A 10-Minute Step-by-Step

If you are searching for a reliable yet budget-friendly way to host your website, a VPS cheap hosting plan is one of the smartest options available. It offers the power and flexibility of a dedicated server but at a price that fits most budgets. Many small businesses, developers, and bloggers choose VPS hosting because it provides better performance, scalability, and stability than shared hosting—all without the expensive costs of dedicated hardware.

Setting up a cheap VPS for your website is straightforward if you follow a clear process. This guide walks you through everything from choosing a provider to deploying your first site – all in under 10 minutes of active work (plus waiting time for installations). No prior server administration experience required.

You do not need expensive managed hosting to run a personal site or small business website. A $5-$7/month VPS handles most WordPress or static sites easily. Start by browsing our budget VPS provider comparison table to find a plan that matches your budget and region.

What You’ll Need

  • A cheap VPS plan ($5-$7/month recommended for websites)
  • A domain name (pointed to your VPS IP via DNS)
  • SSH client (Terminal on Mac/Linux, or PuTTY on Windows)
  • Basic comfort with command-line operations

Step 1: Choose and Purchase a VPS Plan

Select a provider from our affordable VPS comparison page and purchase a plan. For a first-time website, look for:

  • At least 1GB RAM and 1 vCPU
  • NVMe or SSD storage (20GB minimum)
  • Ubuntu 22.04 or 24.04 LTS as the OS option
  • A control panel like Vultr’s or Linode’s for easy management

Most providers provision your server within 30-60 seconds. You will receive a root password and IP address via email or dashboard.

Step 2: Connect via SSH and Secure Your Server

Open your terminal and connect:

ssh root@your-server-ip

First thing: update the system and create a non-root user:

apt update && apt upgrade -y
adduser myadmin
usermod -aG sudo myadmin

Then secure SSH by disabling root login and password authentication. Edit /etc/ssh/sshd_config, set PermitRootLogin no and PasswordAuthentication no, then restart: systemctl restart sshd. Always use SSH keys for access.

Step 3: Install a Web Server

For WordPress, install Nginx with PHP and MariaDB. Run this one-liner:

apt install nginx mariadb-server php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip -y

Start services and enable them to run on boot:

systemctl start nginx mariadb
systemctl enable nginx mariadb

Step 4: Configure the Database

Secure MariaDB and create a database for WordPress:

mysql_secure_installation
mysql -u root -p
CREATE DATABASE wp_database;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'strong_password_here';
GRANT ALL PRIVILEGES ON wp_database.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Step 5: Download and Configure WordPress

Download the latest WordPress release and set permissions:

cd /var/www/html
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz
mv wordpress/* .
rmdir wordpress latest.tar.gz
chown -R www-data:www-data /var/www/html/
chmod -R 755 /var/www/html/

Step 6: Configure Nginx for WordPress

Create an Nginx site configuration file, then enable it:

ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx

Step 7: Complete the WordPress Installation

Point your domain to the server IP via an A record. Then visit http://yourdomain.com/wp-admin/install.php in your browser. Enter your database credentials and follow the 5-minute WordPress setup wizard.

Step 8: Enable HTTPS with Let’s Encrypt

Free SSL is non-negotiable in 2026. Install Certbot:

apt install certbot python3-certbot-nginx -y
certbot --nginx -d yourdomain.com -d www.yourdomain.com

Certbot auto-configures your Nginx and sets up automatic renewal. Verify with certbot renew –dry-run.

Step 9: Set Up a Basic Firewall

UFW makes firewall management simple:

ufw allow OpenSSH
ufw allow 'Nginx Full'
ufw enable

Step 10: Install a Caching Plugin

With 1GB RAM, caching makes a huge difference. Configure Nginx FastCGI cache or install a WordPress caching plugin like WP Rocket or W3 Total Cache. This cuts page load times from 2-3 seconds to under 500ms.

Troubleshooting Common Issues

  • 502 Bad Gateway: PHP-FPM is not running. Run systemctl restart php8.3-fpm (adjust version as needed).
  • Connection refused on SSH: Confirm the server IP and that port 22 is open. Check your provider’s firewall console.
  • DNS not resolving: A records can take 1-30 minutes to propagate. Use dig yourdomain.com to check.
  • MySQL Access denied: Double-check your database username, password, and that the user has privileges on the specific database.

Final Thoughts

You now have a fully functional website on a cheap VPS, running securely with HTTPS and a firewall. Total active setup time: roughly 10 minutes. For more budget hosting tips and provider comparisons, check out our affordable VPS comparison table to see if you can get better specs for the same price.

Affordable-Vps-Server-Author
Affordable-Vps-Server-Author
Articles: 175

Leave a Reply