Guide · PHP Framework · 2026
Laravel Hosting Guide 2026: VPS, PaaS or Cloud?
Laravel is the world's most popular PHP framework, powering everything from small MVPs to large-scale enterprise applications. Choosing the right hosting platform for Laravel in 2026 — one that supports its full-stack requirements including Queues, Scheduler, Redis, and WebSocket broadcasting — is critical for both developers and DevOps teams.
This guide covers everything: system requirements, why shared hosting falls short, a complete VPS vs PaaS comparison with real pricing, and a step-by-step Ubuntu 24.04 deployment walkthrough.
Laravel 11.x System Requirements
Before picking a host, understand exactly what Laravel needs. Laravel 11.x (released early 2024, still under Active Support in 2026) requires the following:
PHP Version
- PHP 8.2 or higher (supports up to PHP 8.4) — Laravel 12.x also requires PHP 8.2+
- Required PHP Extensions: BCMath, Ctype, cURL, DOM, Fileinfo, JSON, Mbstring, OpenSSL, PCRE, PDO, Tokenizer, XML
Database
- MySQL 8.0+ or MariaDB 10.3+
- PostgreSQL 10+ (fully supported)
- SQLite 3.8.8+ (development only)
- SQL Server 2017+ (enterprise use)
Essential Server Tools
- Composer — PHP dependency manager (requires CLI access)
- SSH Access — needed for
php artisan,composer install, migrations - Web Server — Nginx (recommended) or Apache with mod_rewrite
- Cron Job — runs
php artisan schedule:runevery minute - Queue Worker —
php artisan queue:workas a long-running process (Supervisor) - Redis (recommended) — Cache, Session, Queue driver for superior performance
- Node.js + npm (if using Vite/Mix for frontend assets)
Why Shared Hosting Doesn't Work for Laravel
Many developers attempt to run Laravel on shared hosting and repeatedly hit the same obstacles. Here is why it is problematic:
- No SSH access — cannot run
composer install,php artisan migrate, orphp artisan key:generate - No Composer — must upload the entire vendor/ directory (50-200 MB), which is slow and error-prone
- Queue Workers impossible — shared hosting doesn't allow long-running background processes
- Cron interval too coarse — minimum 1-hour granularity on most providers, while Laravel Scheduler needs every 1 minute
- Low memory limits — PHP memory_limit as low as 128-256 MB causes Composer to timeout
- Missing PHP extensions — some providers don't enable BCMath, DOM or other required extensions
In short: shared hosting can run a basic Laravel app in theory, but is unsuitable for any production application using Queues, Scheduler, Redis, or WebSockets. For those, VPS or PaaS is the correct choice.
Option 1: VPS (Virtual Private Server)
A VPS gives you full root access. You control the entire server stack, install any software, and tune performance exactly to your Laravel application's needs. It is the most flexible — and most common — choice for Laravel in production.
DigitalOcean Droplets
DigitalOcean is one of the most popular cloud providers among PHP/Laravel developers worldwide, thanks to excellent documentation, a large community, and a one-click LAMP/LEMP Marketplace image. Pricing for Basic Droplets (as of October 2026 — verify current pricing at digitalocean.com):
| Plan | RAM | vCPU | SSD | Transfer | Price/mo |
|---|---|---|---|---|---|
| Basic | 1 GB | 1 | 25 GB | 1 TB | $6 |
| Basic | 2 GB | 1 | 50 GB | 2 TB | $12 |
| Basic | 2 GB | 2 | 60 GB | 3 TB | $18 |
| Basic | 4 GB | 2 | 80 GB | 4 TB | $24 |
| Basic | 8 GB | 4 | 160 GB | 5 TB | $48 |
| General Purpose | 8 GB | 2 | 25 GB NVMe | 4 TB | $63 |
Pricing as of October 2026 — verify current rates directly at digitalocean.com
For Laravel production: the 2 GB / $12 plan works for small apps. For apps with Queue Workers + Redis running simultaneously, the 4 GB / $24 plan is more comfortable. DigitalOcean's Singapore (SG1) datacenter provides low latency for Southeast Asian traffic.
Ruk-Com Cloud VPS (Thailand)
Ruk-Com Cloud is a Thai cloud provider with datacenters in both Thailand (TH) and Singapore (SG), 24/7 Thai-language support, and a 99.9% uptime SLA. For teams that require local support and minimal latency within Thailand, Ruk-Com VPS delivers full root access, SSD/NVMe storage, and hourly billing.
Ruk-Com Cloud VPS — Full SSH root access, NVMe SSD, TH/SG datacenters, 24/7 Thai support, 99.9% SLA
View VPS PlansBangmod Cloud (Thailand)
Bangmod Cloud is a Thai KVM cloud server provider focused on developers and businesses. It offers a clean control panel, custom OS images, snapshot backups, and competitive pricing with a Thailand datacenter — a solid option for teams wanting a local Thai provider.
Bangmod Cloud — KVM VPS, Thailand datacenter, pay-as-you-go, supports Ubuntu/Debian/CentOS
View PlansOption 2: Cloud PaaS
PaaS (Platform as a Service) sits between shared hosting and a raw VPS. You deploy your code without managing server infrastructure, yet retain the full-stack capabilities that Laravel requires.
Ruk-Com Cloud PaaS
Ruk-Com Cloud PaaS supports PHP (7.4–8.4), Node.js, Python, Ruby and .NET Core through a single GUI. You deploy directly from a Git repository without CLI prerequisites. The platform provides all the layers a Laravel application needs:
- PHP Runtime 8.x with OPcache and per-app PHP-FPM pools
- Git-based deployment — push to deploy, no CLI required
- MariaDB Galera Cluster (3-node HA) or single-node for smaller apps
- Redis with Primary/Replica and Sentinel for automatic failover
- Cron Jobs configured in the GUI — ideal for
php artisan schedule:run - Load Balancer (NGINX or HAProxy) as HA pair
- Hourly billing by Cloudlet (128 MiB RAM + 400 MHz CPU per cloudlet)
- Available in Thailand and Singapore regions
Verdict: Who is PaaS best for?
PaaS is ideal for Laravel teams that want a ready-to-use full-stack environment — Redis, Queue, Cron, HA database — without the overhead of server administration. It costs more than a raw VPS, but saves significant setup and maintenance time. Great fit for small-to-mid teams focused on product development rather than infrastructure.
Option 3: Managed Cloud Hosting
Managed hosting options like Laravel Forge or Cloudways offer a GUI layer on top of a cloud VPS, letting teams manage Laravel deployments without writing raw server commands.
Laravel Forge
Laravel Forge is an official tool from the Laravel ecosystem (created by Taylor Otwell) that provisions and manages VPS servers specifically for Laravel. Pricing starts at $12/month (Forge subscription) plus your VPS cost. Features include:
- One-click deploy from Git with zero-downtime releases
- Automatic SSL certificates (Let's Encrypt)
- Pre-configured Nginx for Laravel (with
try_filesand security headers) - Queue Workers and Cron Jobs managed through the GUI
- Database management (MySQL, PostgreSQL)
- Environment variable management
- Works with DigitalOcean, AWS, Vultr, Linode, Hetzner
Cloudways
Cloudways is a managed cloud platform running on top of DigitalOcean, AWS, Google Cloud, Linode, or Vultr infrastructure. It offers one-click PHP application setup, server-level caching, and automated backups. Pricing depends on the underlying cloud provider and server size — verify current rates at the Cloudways website before deciding, as pricing changes frequently.
Full Comparison Table
| Option | SSH | Composer | Queue Worker | Redis | Starting Price | Best For |
|---|---|---|---|---|---|---|
| Shared Hosting | No | No | No | No | ฿79/mo | Static sites — not recommended for Laravel |
| DigitalOcean VPS | Full | Install | Yes | Install | $6/mo | Dev through production, global reach |
| Ruk-Com VPS (TH) | Full | Install | Yes | Install | See provider | Thai teams needing local TH support |
| Bangmod Cloud (TH) | Full | Install | Yes | Install | See provider | Thai teams, competitive pricing |
| Ruk-Com PaaS | GUI | Auto (Git) | Yes | Built-in | Hourly (Cloudlets) | Teams wanting full-stack GUI management |
| Laravel Forge + VPS | Full | Auto | GUI | Install | $12 (Forge) + VPS | Teams in the Laravel ecosystem |
Data as of October 2026 — verify current pricing at each provider's website
Deploy Laravel on Ubuntu 24.04 — Step by Step
This walkthrough uses Ubuntu 24.04 LTS (the recommended OS for new servers in 2026). It applies to any VPS — DigitalOcean, Ruk-Com, Bangmod, or any other provider.
1. Update System and Install Nginx
sudo apt update && sudo apt upgrade -y
sudo apt install -y nginx
2. Install PHP 8.3 + Extensions
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
sudo apt install -y php8.3-fpm php8.3-cli php8.3-mbstring \
php8.3-xml php8.3-bcmath php8.3-curl php8.3-dom \
php8.3-pdo php8.3-mysql php8.3-redis php8.3-zip
3. Install Composer
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
4. Install MySQL 8.0
sudo apt install -y mysql-server
sudo mysql_secure_installation
sudo mysql -e "CREATE DATABASE laravel_db;"
sudo mysql -e "CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'StrongPass';"
sudo mysql -e "GRANT ALL ON laravel_db.* TO 'laravel_user'@'localhost';"
5. Clone Project and Install Dependencies
cd /var/www
sudo git clone https://github.com/your-org/your-laravel-app.git myapp
cd myapp
sudo composer install --no-dev --optimize-autoloader
cp .env.example .env
php artisan key:generate
6. Configure .env for Production
APP_ENV=production
APP_DEBUG=false
APP_URL=https://yourdomain.com
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_DATABASE=laravel_db
DB_USERNAME=laravel_user
DB_PASSWORD=StrongPass
CACHE_DRIVER=redis
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
REDIS_HOST=127.0.0.1
7. Migrate and Optimize
php artisan migrate --force
php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan storage:link
8. Nginx Server Block
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
root /var/www/myapp/public;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
}
}
9. Set Up Laravel Scheduler Cron
sudo crontab -u www-data -e
# Add this line:
* * * * * cd /var/www/myapp && php artisan schedule:run >> /dev/null 2>&1
10. Queue Worker with Supervisor
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/myapp/artisan queue:work redis --sleep=3 --tries=3 --max-time=3600
autostart=true
autorestart=true
user=www-data
numprocs=2
redirect_stderr=true
stdout_logfile=/var/www/myapp/storage/logs/worker.log
sudo supervisorctl reread && sudo supervisorctl update
sudo supervisorctl start laravel-worker:*
11. SSL Certificate
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
Production Best Practices
Performance
- Run
php artisan optimizeafter every deployment (caches config, routes and views) - Use Redis for Cache and Session instead of the file driver
- Configure OPcache:
opcache.enable=1,opcache.memory_consumption=256 - Build Vite assets for production:
npm run build
Security
- Always set
APP_DEBUG=falseon production — never expose debug output - Block
.envfrom web access via Nginx deny rule - Configure UFW firewall: allow only ports 22 (SSH), 80, 443
- Audit dependencies regularly:
composer audit - Install Fail2Ban to protect against SSH brute-force attacks
Backups
- Use spatie/laravel-backup package, scheduled daily
- Back up both the database and storage files
- Store backups on S3-compatible storage (Cloudflare R2, Wasabi) separate from the server
Zero-downtime Deployment
- Use Laravel Envoy or Deployer for atomic deployments
- Pattern: deploy to a new
releases/directory, then symlinkcurrentto the new release - Automate with GitHub Actions or GitLab CI/CD
Related Guides
Frequently Asked Questions
What PHP version does Laravel 11.x require?
Laravel 11.x requires PHP 8.2 or higher (supports up to PHP 8.4). Required extensions: BCMath, Ctype, cURL, DOM, Fileinfo, JSON, Mbstring, OpenSSL, PCRE, PDO, Tokenizer, XML.
Can I run Laravel on shared hosting?
Technically possible for a basic app, but generally not recommended for production. Shared hosting typically lacks SSH, Composer, long-running processes for Queue Workers, and per-minute Cron scheduling. Use VPS or PaaS instead.
How much RAM does a Laravel VPS need?
For small to medium applications, 2 GB RAM / 1-2 vCPU (around $12-18/mo on DigitalOcean) handles up to ~50-100 concurrent users. Add Queue Workers + Redis and bump to 4 GB RAM for headroom.
Does Ruk-Com Cloud PaaS support Laravel?
Yes, fully. Ruk-Com PaaS provides PHP 7.4–8.4 runtime, Git-based deploy, MariaDB, Redis with Sentinel, Cron Jobs and Load Balancer — everything a Laravel full-stack app needs, managed through one GUI.
What is Laravel Octane and what server does it need?
Laravel Octane replaces PHP-FPM with Swoole or RoadRunner as a persistent application server, delivering 10-100x higher request throughput. It requires installing a PHP extension on a VPS or cloud server with root access — not compatible with shared hosting.
Nginx or Apache for Laravel?
Both work, but Nginx is recommended for production. It is lighter, handles concurrent connections more efficiently, and Laravel's try_files Nginx config is simpler and more reliable than Apache's .htaccess approach.