Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Deploying your Laravel Application

Neo Ighodaro
September 08, 2017

Deploying your Laravel Application

In this talk, we focus on how you can deploy your Laravel Application. Different methods, tips, and tricks for easy deployment.

Neo Ighodaro

September 08, 2017
Tweet

More Decks by Neo Ighodaro

Other Decks in Programming

Transcript

  1. DEPLOYING YOUR LARAVEL APPLICATION Neo Ighodaro CTO, @hotelsng & Founder,

    @CreativityKills Twitter: @neoighodaro Website: https://neoighodaro.com
  2. DEPLOYING YOUR LARAVEL APPLICATION Neo Ighodaro CTO, @hotelsng & Founder,

    @CreativityKills Twitter: @neoighodaro Website: https://neoighodaro.com
  3. 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
  4. 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
  5. 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
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. 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.
  12. 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