Host a Laravel App on AWS with CI/CD, SSH, DB, Crons, Email, Logs, Domain, and SSL

preview_player
Показать описание
This video will show you how to setup a Laravel 8 application on AWS Elastic Beanstalk. We'll connect to the server using SSH, set up Continuous Integration / Continuous Delivery through CodeCommit and CodePipeline, connect, migrate, and backup the Database, save our logs with CloudWatch, setup an email with Simple Email Service (SES), register a domain from a third party provider, set up our SSL certificate, and force HTTPS.

This is essentially everything you need to get your app started on AWS!

#AWS #ElasticBeanstalk #SES #SSH #CodeCommit #CodePipeline #CloudWatch #CertificateManager #Laravel #PHP #CICD #CloudComputing #Nginx

Intro: (0:00)
Contents: (0:33)
Security Reminder: (1:12)
Install Laravel: (1:49)
Host App on AWS Elastic Beanstalk: (2:38)
Create SSH Keys: (3:23)
Initialise CodeCommit Repository: (6:48)
Connect Repo to Elastic Beanstalk with CodePipeline: (8:38)
Configure Elastic Beanstalk for Laravel: (9:45)
Connect to RDS: (11:50)
NGINX Configuration: (17:19)
Connect to CloudWatch: (20:00)
Set up DNS: (26:20)
Add Email with SES: (30:40)
Backup Database on S3: (36:23)
Add Crons: (44:48)
Thanks!: (47:00)

Get in touch!
Рекомендации по теме
Комментарии
Автор

This is the best guided step by step tutorial I have found on youtube since last 2 years for AWS deploy by utilizing small small features provided by AWS. Many people end up with setting up single ec2 instance with local database (lol). But, I feel there are few things missing:
1. On multiple instances running together the session will not persist on default file driver. We need to configure it to db or redis or any other...
2. CRON runs on multiple instances together, although ebextension gives parent_only option, but this does not work if parent ec2 instance shutsdown. So it is receommended to use onOneServer(). But this required db or redis or ... cache driver.
3. For only backing up db I prefer using shell_exec() and use mysqldump to dump it to some folder and then upload to s3. I had checked the package that you used but didnt liked it as it internally uses mysqldump
4. You mentioned you would queue up the emails. I tried it but could do only with database driver. Later i came to know mysql gets locked out due to too much load and some other driver is preferred.

I wish you shall make a video to cover these things.

hhaassiill
Автор

By far the best tutorial ever to host an app on AWS, i always come back to this as reference.

beermarket
Автор

Can't believe high quality content with few views and subscribe ... You deserve more than 100k.... You are a great teacher! Please keep make contents

heysisteronion
Автор

Este video es oro puro sigo regresando una y otra vez a él cuando se me olvida algo de AWS

jrgf
Автор

Watching this awesome tutorial for the second time now...
And tomorrow I'm gonna watch for the third time to deploy a Laravel/Inertia/Vue2 app with Supervisor (for queues)

joshbarros
Автор

You saved me a lot of hours trying to figure out everything on my own. Thanks!

DramaticOgre
Автор

Have watched your entire video and it is awesome. You should definitely making Practical apps screencasting. Self-taught developers like me can learn a lot of knowledge from you. So consider making more tutorials like this. Thanks.

anbuselvanrocky
Автор

I can't understand who the hell gave dislike on such a great video.

shaikhdanish
Автор

after 30:30 I get a 404 with my new URL. Its an issue connecting the load balancers and the route 53. what a work around?

grizzleyapps
Автор

Ultimate guide to setup a Laravel app on AWS hehehe

Thanks a lot bud!!!

josuebarros-desenvolvedorw
Автор

Thanks Brad for the tutorial, it was very helpful to me.

mbayelab
Автор

Real time use case, bang on Thanks Bradley, I dont see such level of explaination in udemy course

DevenSitapara
Автор

Watching it for 5 minns, and i have subscribed to your channel. Wonderful practical content. Make more videos on AWS if possible.

anbuselvanrocky
Автор

THIS IS GOOD!!!! SO Fxxxx GOOOOD - You rule, man. No way ... not in ages I would be able to get this done without your guidance ... Jesus, you should charge for these kind of tutorials but let me thank you for doing this for the rest of us ... you're amazing

BTW.: if someone runs Laravel v8.32.1 with PHP v8.0.3 you will run into a problem setting up flysystem S3. Composer will not install it the way Bradley has shown us. The solution is to run
composer require
instead of
composer require league/flysystem-aws-s3-v3

etc.

michaelkocurek
Автор

Hi, thank you for this ultimate guide! I tried your .config file in the ebextensions folder but the job is not running on the server
FYI: There is a file created in the /etc/cron.d folder with the same content, but there is no .bak file

abdulmalekrabiehoplus
Автор

This probably is one of the best explanations for aws products mentioned here on youtube, only thing missing for my use case would be aws SQS, not a lot of videos breaking down the integration between SQS and laravel. maybe a future video idea? thanks

krypton
Автор

I uploaded the same files (.ebextensions & .platform/nginx/nginx.conf), but it’s still not working
Just it shows 404 error. Is it necessary to set the nginx additionally now (because of version different?)?

sichoi
Автор

I don't remember if I already said it but THANK YOU! I have no words to describe how much you've helped with this video =}.

jessicathedoc
Автор

At 12:20 I'd thought you were going to say "with more power comes more responsibility" :D

DejiAdegbite
Автор

I enjoyed watching the video. Thanks 🙏

racemchakroun