---
title: "Discussion on \"How I Deployed a Laravel + React Application to Production on AWS\" | Hashnode"
description: "Discussion on \"How I Deployed a Laravel + React Application to Production on AWS\". Step-by-step case study: how I set up AWS, a production LAMP stack, security testing, and AWS WAF to deploy a Laravel and React app safely."
url: "https://hashnode.com/posts/laravel-react-aws-production-deployment/6ad65b33f0abdaaf688b650a"
---

[Feed](https://hashnode.com/feed) /

Discussion

# [How I Deployed a Laravel + React Application to Production on AWS](https://pdeep1506.hashnode.dev/laravel-react-aws-production-deployment?utm_source=hashnode&utm_medium=feed)

Step-by-step case study: how I set up AWS, a production LAMP stack, security testing, and AWS WAF to deploy a Laravel and React app safely.

Oct 19 · 4 min read · pdeep1506.hashnode.dev  
Read the article

-   [#aws](https://hashnode.com/tag/aws)
-   [#devops](https://hashnode.com/tag/devops)
-   [#laravel](https://hashnode.com/tag/laravel)
-   [#reactjs](https://hashnode.com/tag/reactjs)
-   [#websecurity](https://hashnode.com/tag/websecurity)

## Written by

[Deep Patel](https://hashnode.com/@pdeep1506)

@pdeep1506

  
[View profile](https://hashnode.com/@pdeep1506)

Cloud engineer & MERN developer | Writing about real deployments

Full Stack &amp; DevOps engineer building MERN apps and deploying them securely on AWS and Azure. I write about real deployments, security, and CI/CD.

## Responses 2

Markdown supported · ⌘↵ to post

[Kamran Khan](https://hashnode.com/@kamrankhandev)

[Oct 20](https://hashnode.com/posts/laravel-react-aws-production-deployment/6ad65b33f0abdaaf688b650a/comment/6ad768603134dec2d7f7a347)

One thing I'd add to the deploy checklist: Supervisor keeps your queue workers alive across reboots, but it does not restart them when you ship new code. We learned this on a dashboard app: after a deploy, the workers kept running the old release's code, so a queued report job referenced a column we had just renamed and failed quietly for the better part of a day. Now every deploy ends with php artisan queue:restart, which signals the workers to finish their current job and exit so Supervisor boots them on the new code. It's one line, but it closes the gap between "deployed" and "actually running the new code".

[Deep Patel](https://hashnode.com/@pdeep1506)

[Oct 21](https://hashnode.com/posts/laravel-react-aws-production-deployment/6ad65b33f0abdaaf688b650a/comment/6ad768603134dec2d7f7a347#reply-6ad8478ba6d3354092a52f37)

Great point, Kamran, thank you.
