20% off your first order with code APEX20 00:00:00 See deals
Home Blog Laravel Hosting Guide
Laravel

Laravel Hosting in India: Complete 2026 Guide

Hoststack Team 9 min read July 4, 2026

Laravel is the most-used PHP framework for serious Indian businesses building anything beyond a brochure site — but "Laravel hosting" means very different things depending on whether your app is a simple CRUD site or something running queued jobs and a scheduler. Get this choice wrong and you'll either overpay for a VPS you didn't need, or hit a wall on shared hosting when your first background job silently never runs. Here's how to pick correctly.

What Laravel needs from a host

  • PHP 8.1 or newer (Laravel 10/11 require it; Laravel 12 needs 8.2+)
  • SSH access to run Composer and Artisan commands
  • Cron access for the scheduler, and a persistent process for queue workers if you use jobs
  • MySQL or PostgreSQL, and ideally Redis for cache/session/queue drivers

Shared hosting vs VPS — the real decision point

1

Simple site, no queued jobs → shared hosting works fine

If your Laravel app is a content site, a small internal tool, or an app that does all its work synchronously within the request lifecycle (no `dispatch()` calls, no `Bus::` jobs), Hoststack shared hosting from ₹99/mo with cPanel or DirectAdmin is genuinely enough. You get PHP 8.1–8.3 selectable per site, SSH access on most plans, and cron jobs for the Laravel scheduler. Composer runs fine over SSH to install dependencies.
2

Queue workers need a persistent process — that's VPS-only

This is the line that actually matters. `php artisan queue:work` needs to run continuously in the background, watching a queue (database, Redis, or SQS) and processing jobs as they arrive. Shared hosting environments don't let you run long-lived background processes — they kill anything that isn't tied to an active web request. If your app sends emails via queued mailables, processes uploads asynchronously, or does any deferred work, you need a VPS where you control a process manager like Supervisor to keep `queue:work` alive and auto-restart it on failure or deploy.
3

Set up Supervisor to manage your queue worker

On a Hoststack VPS, install Supervisor (`apt install supervisor`) and create a config at `/etc/supervisor/conf.d/laravel-worker.conf`:

[program:laravel-worker] process_name=%(program_name)s_%(process_num)02d command=php /var/www/app/artisan queue:work --sleep=3 --tries=3 --max-time=3600 autostart=true autorestart=true numprocs=2 user=www-data redirect_stderr=true stdout_logfile=/var/www/app/storage/logs/worker.log
Then run supervisorctl reread && supervisorctl update && supervisorctl start laravel-worker:*. Supervisor restarts the worker if it crashes and brings it back up on server reboot.
4

Wire up the scheduler with one cron entry

Whether you're on shared hosting or VPS, Laravel's scheduler needs exactly one cron entry running every minute:

* * * * * cd /var/www/app && php artisan schedule:run >> /dev/null 2>&1
On DirectAdmin/cPanel, add this via the "Cron Jobs" section of your control panel. On VPS, add it with `crontab -e` under the deploy user. This single line lets you define all your scheduled tasks inside `routes/console.php` or the App\Console\Kernel class instead of managing dozens of separate cron entries.
5

Add Redis for cache, sessions, and queues

On a VPS, install Redis (`apt install redis-server`) and point `CACHE_STORE`, `SESSION_DRIVER`, and `QUEUE_CONNECTION` in your `.env` to `redis`. This takes session and cache reads off the database entirely and gives you a proper queue backend with delayed jobs, retries, and failed-job tracking — far better than the default `database` queue driver under real load. Redis isn't available to configure on shared hosting, which is one more reason queue-heavy apps belong on VPS.
6

Deploy via Git instead of manual uploads

On a VPS, set up a bare Git repo or use a simple pull-based deploy script: SSH in, `git pull`, `composer install --no-dev --optimize-autoloader`, `php artisan migrate --force`, `php artisan config:cache && php artisan route:cache && php artisan view:cache`, then `supervisorctl restart laravel-worker:*` to pick up code changes in the queue workers. This mirrors the Forge-style workflow without paying for a separate deployment SaaS — a 15-line bash script does the job for a single-server setup.

Nginx vs LiteSpeed for Laravel

Both work fine with Laravel's standard `public/index.php` front controller. The practical differences for a Laravel app:

Factor Nginx + PHP-FPM LiteSpeed (LSAPI)
Static asset servingFast, well understoodFaster in most benchmarks
PHP process handlingPHP-FPM pools, standard tuningLSAPI — lower memory per request under load
Full page cache (Laravel views)Needs manual setup (Varnish etc.)Built-in LSCache, configurable via .htaccess-style rules
Config familiarityHuge community, most tutorials assume itGrowing, cPanel/DirectAdmin integration is mature

Hoststack VPS plans ship with LiteSpeed by default, which handles Laravel's `public/` document root and `.htaccess`-based rewrite rules out of the box — you don't need to hand-write an Nginx server block just to get pretty URLs working. If you're more comfortable with Nginx configs from experience elsewhere, it installs cleanly on any Hoststack VPS with full root access.

Don't forget these .env and permission basics

The most common "it works locally, breaks on the server" issues for Laravel deployments in India come down to a short checklist:

  1. 1. Set APP_ENV=production and APP_DEBUG=false — never leave debug mode on in production, it leaks stack traces and .env values
  2. 2. `storage/` and `bootstap/cache/` need to be writable by the web server user (`chown -R www-data:www-data storage bootstrap/cache`)
  3. 3. Set `APP_KEY` via `php artisan key:generate` — a missing key breaks session encryption silently
  4. 4. Configure `DB_CONNECTION`, `DB_HOST`, `DB_DATABASE` to match your MySQL/PostgreSQL credentials from your Hoststack control panel

Database: MySQL or PostgreSQL

  • MySQL 8 is available on all Hoststack shared and VPS plans, and is the default most Laravel tutorials assume
  • PostgreSQL is a solid choice on VPS if you need JSONB columns, better concurrent write handling, or array types Laravel's Eloquent supports natively
  • Run `php artisan migrate --force` on deploy rather than manually applying SQL — keeps schema changes tracked in version control

Quick Summary

  • 1 No queued jobs, simple app → shared hosting from ₹99/mo works fine
  • 2 Any use of `queue:work` requires a VPS with Supervisor to keep it running
  • 3 One cron entry (`schedule:run` every minute) covers your entire scheduler
  • 4 Redis on VPS gives you real caching, sessions, and a proper queue backend
  • 5 LiteSpeed handles Laravel's routing out of the box; Nginx is a drop-in alternative on VPS
  • 6 Boost X2 (₹749) is a solid starting VPS for most queue-driven Laravel apps

Deploy Laravel with full control

Root access, SSH, Supervisor, Redis, and PHP 8.1–8.3 on AMD Ryzen VPS from ₹749/month — or shared hosting from ₹99/month for simpler apps.

View VPS Plans

Deploy today

Online in 60 seconds. Supported around the clock.

Hosting, VPS and game servers on Mumbai infrastructure — INR billing, GST invoices, and code APEX20 for 20% off your first order.

5,000+ customers served
99.9% uptime SLA
<8ms ping across India
24/7 expert support
WhatsApp Discord