DeployManage, server management for any cloud

Deploy Laravel on Azure and Host Laravel on Azure Virtual Machines

Create an Ubuntu VM in your company's Azure account, run the install command and manage Git deployments, Redis, workers and cron together. Growth and Business add atomic releases and push to deploy. Your team gets panel seats while Azure bills you directly.

One-time demo, no credit card required.

Azure retail prices for pay-as-you-go Linux in East US, read in October 2026. Monthly estimates use 730 hours. Forge prices come from its pricing page.

Servers 5 online
New server
Servers
Sites
Deployments
Databases
Mailboxes
Recipes
Activity
Server Provider Load
web-01.prod
fsn1
Hetzner
32%
web-02.prod
fsn1
Hetzner
47%
db-01.prod
fra1
DigitalOcean
18%
worker-01
eu-central-1
AWS
61%
mail-01
gra
OVHcloud
9%
Deploy to web-01.prod Live
  • Pull main from GitHub
  • Build and migrate
  • Switch release, zero downtime
Finished in 11.3 s
The short answer

To deploy Laravel on Azure, use App Service, create a VM and manage it yourself, or add that VM to a panel such as DeployManage or Laravel Forge. A B2s VM with an E4 disk and a Standard static public IP costs about $36.42 a month, or $48.42 with Forge Hobby and $95.42 with DeployManage Starter, which excludes atomic releases. An App Service B2 plan with MySQL B1ms and 20 GB of database storage totals $39.53, but workers and scheduling need workarounds and Redis is billed separately. For a team running queues on its own VM, DeployManage Growth adds atomic releases, push to deploy and 10 seats for $129 a month plus Azure usage.

Engineer reading Laravel deployment logs for an Azure virtual machine on two monitors

When the cloud is already decided

An enterprise agreement, Azure credits or a client security review can settle the hosting question before the Laravel team gets involved. A Microsoft 365 and Entra organization may want infrastructure in its existing Azure account. The remaining decision is how the app gets deployed.

A VM keeps Redis, workers and the scheduler in familiar places. DeployManage manages that server after you create it. There is no Azure API integration, and the panel subscription is separate from your Azure bill.

A Laravel stack on the Azure VM you own

Install the stack from a root shell

Add a fresh Ubuntu 24.04 VM as Other VPS and run the supplied command with sudo. It installs Nginx, PHP, your database, Redis, Supervisor, Certbot and ufw, adds the panel's SSH key and creates a deploy user.

Build beside the live application

Growth and Business build in release directories and switch the live directory atomically. They include quick deploy on push and recipes. Starter supports panel deployments but excludes those features.

Keep workers under Supervisor

Manage queue workers and daemons under Supervisor with Redis on the VM. Scheduled jobs use cron. You control these processes instead of fitting workers into an App Service startup command.

Return to a kept release

The release workflow keeps 5 releases for code rollback. Read the deploy log before switching directories. Rolling code back does not reverse migrations or restore records changed by a job.

Give each site its own settings

Connect Git with a per-site branch, encrypted .env and editable deploy script. Manage SSL certificates, firewall rules, databases and database users in the panel. Azure Database for MySQL stays outside that management, although your .env can point to it.

Give the team separate seats

Starter includes 2 seats, Growth includes 10 and Business has unlimited seats. Developers work through the panel while the VM remains in the company's or client's Azure account.

How it works

  1. 1
    Create the Azure VM and reserve its address

    Choose fresh Ubuntu 24.04 and a Standard static public IP that survives stop/deallocate. In the VM's Network Security Group allow inbound 80 and 443, and keep 22 reachable for the panel.

  2. 2
    Add the machine as Other VPS

    Enter the public IP in DeployManage, then run the panel's install command as root using sudo on the VM. The installer sets up the stack and reports back.

  3. 3
    Connect Git and configure Laravel

    Create the site, select its branch, enter the encrypted .env and review the deploy script. Configure queue workers and scheduled jobs. Point DNS at the static IP before requesting the SSL certificate.

  4. 4
    Deploy and inspect the release

    Deploy and read the log. On Growth or Business, enable atomic releases and push to deploy. Confirm the app, workers and scheduled jobs behave correctly. Use a retained release for code rollback.

Laravel hosting routes inside Azure

Bills exclude traffic, backups and extra services. Forge is cheaper for one or two servers. App Service is cheaper than DeployManage and fine for a simple app without workers.

swipe to see all columns →

What you are comparing DeployManage on an Azure VM Azure App Service Laravel Forge (Custom VPS on Azure) Hand built Azure VM
Software fee Starter $59, Growth $129, Business $299 per month No panel fee, Azure plan charges apply Hobby $12, Growth $19, Business $39 per month No panel fee
Who creates the VM You create it, then add Other VPS Azure manages the hosting resources You create it, then add Custom VPS You create and configure it
Root shell Yes, on your VM SSH into the app container only, no Supervisor you control Yes, root SSH required for setup Yes
Queue workers Supervisor on the VM, local Redis available WebJobs or startup scripts, Redis billed separately Supervisor on the VM Install and configure Supervisor yourself
Scheduler Scheduled jobs through cron WebJobs or startup script workaround Scheduled jobs on the VM Create and maintain cron entries
Zero downtime Atomic releases on Growth and Business only B2 plan has no deployment slots Native zero downtime on one server only Write and maintain an atomic release script
Same release to several VMs Growth and Business across added VMs Deploy to the service, Azure manages instances Multi server zero downtime needs Envoyer Build your own deployment coordination
Team seats Starter 2, Growth 10, Business unlimited Access through Azure roles Teammates on every plan, per plan user counts not listed on the pricing table Manage Azure roles and server access yourself
Database and Redis Local services included in stack installation MySQL and Redis billed separately MySQL or Postgres and Redis installed on the VM Install locally or buy managed services
Monthly example bill $95.42 with Starter, without atomic releases $39.53 with MySQL and storage, without Redis $48.42 with Hobby $36.42 for VM, disk and static IP

Who it's for

An enterprise agreement that names Azure

Purchasing or security has settled the infrastructure decision. Keep the VM and invoice in that account while giving developers a place to deploy, inspect failures and manage workers.

An agency working in a client's account

The client owns the Azure resources and budget. The agency adds the existing VM to its panel and gives developers seats instead of sharing a server login for deployments.

A Microsoft team with a Laravel workload

Microsoft 365 and Entra define the company's tools. The application still needs PHP, Redis and cron. Ubuntu accommodates that stack without changing how Laravel processes background jobs.

An App Service app that needs persistent workers

When startup scripts become part of every queue incident, a VM gives the team Supervisor and a shell it controls. Account for the higher panel bill and responsibility for the machine before moving.

How do I deploy a Laravel project on Azure?

Create an Ubuntu 24.04 Azure VM, reserve a Standard static public IP and open the required network ports. Add its address to DeployManage as Other VPS, run the panel's install command as root, connect Git and configure Laravel. Atomic releases and push to deploy require Growth or Business.

The installer adds Nginx, PHP, MySQL, MariaDB or Postgres, Redis, Supervisor, Certbot and a ufw firewall allowing 22, 80 and 443. Azure's Network Security Group must also allow web traffic and keep SSH reachable for the panel.

Set the document root to Laravel's public directory. Point DNS at the static address before issuing the certificate. The Laravel VPS deployment guide covers the underlying server workflow. Unlike our AWS EC2 deployment integration, this Azure route starts with a VM you create yourself.

Is Azure App Service or a VM better for Laravel?

App Service suits a simple Laravel application without persistent queue workers and costs less than a VM with DeployManage. Choose a VM when you want root access, Supervisor, local Redis and cron under your control. The tradeoff is responsibility for the machine and a separate panel fee if you use one.

App Service Linux B1 is about $12.41 monthly, B2 $24.82, P0v3 $56.58 and S1 $69.35. Those plan prices do not include a MySQL server or Redis. Workers and scheduling need workarounds such as WebJobs or startup command scripts, and there is no root shell on a Supervisor you control.

A VM puts the web process and background services together. DeployManage has no PR preview environments and does not copy a production database into staging. The Laravel staging environment guide explains the work involved in keeping a separate site useful.

Does Laravel Forge work with Azure?

Yes, Laravel Forge manages an Azure VM through Custom VPS, but Azure is not a native provider and Forge cannot create that VM. You need a fresh Ubuntu 22.04 or 24.04 x64 server with root SSH, internet reachability and curl. Forge Hobby costs $12 monthly and is cheaper for one server.

Forge's native providers are Laravel VPS, DigitalOcean, Akamai/Linode, Vultr, AWS and Hetzner Cloud. Its Hobby plan allows unlimited Laravel VPS servers and 1 external server. Growth is $19 monthly with unlimited servers and 5% off Laravel VPS; Business is $39 with 15% off Laravel VPS. Those discounts do not reduce Azure charges.

Forge's FAQ limits its native zero downtime deployment to one server. Multi server zero downtime needs Envoyer. DeployManage Growth covers releases across added VMs and includes 10 seats, but its subscription costs more. Forge remains cheaper for one or two servers. Compare the workflows on the Laravel Forge alternative page.

How much does it cost to host Laravel on Azure?

A B2s VM with an E4 Standard SSD and a Standard static public IP costs about $36.42 monthly in East US. Forge Hobby brings that to $48.42, while DeployManage Starter brings it to $95.42 without atomic releases. App Service B2 with MySQL B1ms and storage totals $39.53 before Redis.

These are pay-as-you-go Linux retail estimates using 730 hours, without traffic, backups or extra services. The VM bill is $30.37 compute, $2.40 for a 32 GB E4 disk and $3.65 for the IP. Premium SSD P6 with 64 GB costs $10.21 instead of the E4 line.

Azure VMvCPUMemoryHourly computeMonthly compute
B1ms12 GB$0.0207$15.11
B2s24 GB$0.0416$30.37
B2als v224 GB$0.0376$27.45
B2ms28 GB$0.0832$60.74
D2as v528 GB$0.086$62.78
D2s v528 GB$0.096$70.08
B4ms416 GB$0.166$121.18

The App Service example adds B2 at $24.82, MySQL Flexible Server B1ms compute at $12.41 and 20 GB storage at $0.115 per GB-month, or $2.30. MySQL B2s compute is $49.64. Redis is billed separately.

DeployManage Starter covers 3 servers, 10 sites per server and 2 seats. Growth covers 10 servers, 50 sites per server and 10 seats; Business is unlimited. Yearly billing is half price at $29, $64 or $149 monthly. See DeployManage plan limits and billing. Deallocating a VM stops compute billing, but its disk and static IP keep billing.

How do I run Laravel queue workers on Azure?

On an Azure VM, run Laravel queue workers under Supervisor and use Redis locally if the app needs it. Add scheduled jobs through cron and include worker restarts in the deployment process. DeployManage manages workers and daemons on the VM, while App Service requires a different arrangement using WebJobs or startup scripts.

After a release, let workers finish their current jobs and restart so they load the deployed code. The scheduler invokes schedule:run through cron; queue:work belongs in the worker configuration, not in the web request process.

For Horizon, keep Redis reachable and configure the Supervisor process for the application. Our Laravel Horizon hosting guide covers that arrangement. Keep database changes compatible with the previous release because switching code directories cannot undo a migration.

Ready to stop managing servers by hand? DeployManage provisions, deploys and monitors your fleet from one dashboard.

Get started

Frequently asked questions

Can I host Laravel on Azure?

Yes. App Service hosts the web application, while an Ubuntu VM can run PHP, the database, Redis, Supervisor and cron together. Choose App Service for a simple application without workers. Choose a VM when the team needs a root shell and direct control of background processes.

Does Laravel Forge support Azure?

Forge supports an existing Azure VM through Custom VPS, rather than a native Azure provider. Create a fresh Ubuntu 22.04 or 24.04 x64 machine with root SSH, internet access and curl first. Hobby costs $12 monthly and permits 1 external server. Forge cannot create the Azure VM for you.

What Azure VM size do I need for Laravel?

A B2s with 2 vCPU and 4 GB is a reasonable starting point for a small app running its database and Redis locally. Compute is about $30.37 monthly. B1ms has 2 GB at $15.11, while B2ms has 8 GB at $60.74. Measure memory and worker load before resizing.

Does DeployManage create my Azure VM?

No. DeployManage has no Azure API integration. Create the Ubuntu 24.04 VM yourself, enter its public IP as Other VPS and run the supplied command as root using sudo. The installer adds the stack and reports back to the panel. Azure remains responsible for billing those resources.

Which plan includes atomic releases on Azure?

Growth at $129 monthly and Business at $299 include atomic releases, quick deploy on push and recipes. Starter at $59 excludes those features. Yearly billing is half price at $29, $64 or $149 monthly. Every account starts with a one-time demo covering 1 server, 1 site and 1 deploy, with no card.

Can I roll back a Laravel deployment on Azure?

With the release workflow, DeployManage retains 5 releases and can switch back to a kept release directory. Inspect the deploy log and confirm the older code works with the current database. Rolling code back does not undo migrations, restore database records or reverse jobs that have already run.

Will stopping an Azure VM stop the whole bill?

No. A deallocated VM stops compute billing, but the managed disk and static public IP continue to incur charges. Use a Standard static public IP to preserve the address across stop/deallocate. Keep DNS pointing at that address and account for storage and networking even when the application is offline.

Related

Deploy Laravel to AWS EC2 Deploy Laravel to Google Cloud Deploy Laravel to Hetzner Laravel on DigitalOcean Laravel Forge alternative Laravel deployment workflows Laravel Horizon hosting Laravel staging environments Deploy Laravel to a VPS Laravel queue workers under Supervisor

Keep Azure ownership and give Laravel a deployment workflow

Create your VM, add it as Other VPS and run the install command. Start with the one-time demo for 1 server, 1 site and 1 deploy, no card required.

Get started Pricing

One-time demo, no credit card required.