Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Deploying Your Laravel Application

1,144 views

Published on

Learn about deploying your Laravel application into the wild. Learn about PaaS and other services that help in deploying your Laravel Application

Published in: Software
  • Use Cloudways + Envoyer to deploy your app on cloud, it is a much quicker way to do that. Cloudways is a Laravel hosting platform that gives you a pre-installed server, with laravel, stack and everything else already installed, in just few minutes. You can install Envoyer through composer on the server and start deploying your app.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Deploying Your Laravel Application

  1. 1. DEPLOYING YOUR LARAVEL APPLICATION. NEO IGHODARO
  2. 2. DEPLOYING YOUR LARAVEL APPLICATION Neo Ighodaro CTO, @hotelsng & Founder, @CreativityKills Twitter: @neoighodaro Website: https://neoighodaro.com
  3. 3. DEPLOYING YOUR LARAVEL APPLICATION Neo Ighodaro CTO, @hotelsng & Founder, @CreativityKills Twitter: @neoighodaro Website: https://neoighodaro.com
  4. 4. WE WILL COVER 1. Choosing your application server 2. Server deployment options 1. Shared Hosts 2. Cloud VPS e.g Digital Ocean, Linode 3. Platform as a Service (PaaS) e.g Heroku, Pagodabox, Fortrabbit 3. Automatic deployment using CI tools e.g Jenkins 4. Handling Stuff like Queues and Workers
  5. 5. CHOOSING YOUR APPLICATION SERVER.
  6. 6. 1. The nature of your application 2. The potential size of the application 3. The features and needs of your application 4. Flexibility 5. Price also matters A FEW THINGS TO CONSIDER
  7. 7. Simple applications might not require a buff server, so most times a basic server will do
  8. 8. Complex architecture however more than often require capable servers
  9. 9. Features can go out of hand
  10. 10. Flexibility. Some cloud servers allow you to scale up and down depending on traffic
  11. 11. SERVER DEPLOYMENT OPTIONS
  12. 12. SERVER DEPLOYMENT OPTIONS
  13. 13. 1. Shared Hosting SERVER DEPLOYMENT OPTIONS
  14. 14. 1. Shared Hosting 2. Cloud VPS e.g Digital Ocean, Linode SERVER DEPLOYMENT OPTIONS
  15. 15. 1. Shared Hosting 2. Cloud VPS e.g Digital Ocean, Linode 3. Platform as a Service (PaaS) e.g Heroku, Pagodabox, Fortrabbit SERVER DEPLOYMENT OPTIONS
  16. 16. SHARED HOSTING Shared hosting is Web hosting in which the service provider serves pages for multiple Web sites, each having its own Internet domain name, from a single Web server.
  17. 17. SHARED HOSTING
  18. 18. SHARED HOSTING
  19. 19. CLOUD VPS Cloud VPS is…well…VPS in the cloud. Mostly better than shared hosting but requires some knowledge of operating systems and how they work.
  20. 20. CLOUD VPS
  21. 21. CLOUD VPS
  22. 22. PLATFORM AS A SERVICE Platform as a Service, often simply referred to as PaaS, is a category of cloud computing that provides a platform and environment to allow developers to build applications and services over the internet.
  23. 23. CLOUD VPS
  24. 24. CLOUD VPS
  25. 25. INTRODUCTION TO AUTODEPLOYMENT USING JENKINS.
  26. 26. WHAT IS CONTINUOUS INTEGRATION? Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early.
  27. 27. MEET JENKINS Jenkins is an open source automation server written in Java.
  28. 28. MEET JENKINS
  29. 29. HANDLING LARAVEL QUEUES AND WORKERS.
  30. 30. WHAT ARE QUEUES? Queues allow you to defer the processing of a time consuming task, such as sending an email, until a later time. Deferring these time consuming tasks drastically speeds up web requests to your application.
  31. 31. WHAT ARE QUEUES? dispatch(new ProcessPodcast);
  32. 32. WHAT ARE QUEUES? $ php artisan queue:work --queue=high,default
  33. 33. RUNNING WORKERS IN THE BACKGROUND USING SUPERVISOR Supervisor is a client/server system that allows its users to monitor and control a number of processes on UNIX-like operating systems. It shares some of the same goals of programs like launchd, daemontools, and runit.
  34. 34. RUNNING WORKERS IN THE BACKGROUND USING SUPERVISOR [program:laravel-worker] process_name=%(program_name)s_%(process_num)02d command=php /path/to/artisan queue:work --sleep=3 --tries=3 autostart=true autorestart=true numprocs=8 stdout_logfile=/home/forge/app.com/worker.log redirect_stderr=true
  35. 35. RUNNING WORKERS IN THE BACKGROUND USING SUPERVISOR $ supervisorctl start
  36. 36. THANKS.

×