Deployment

of PHP applications


by msurguy

Deployment/Hosting options


  • Shared hosting
  • VPS
  • Dedicated server
  • Managed VPS
  • ?

Modern Deployment process



  1. Upload source code
  2. There's no #2

How does it work (ideally)?


  1. Code stored in a GIT repository (Github/Bitbucket/etc)
  2. When new code pushed, server is re-built or code is swapped
  3. Users shouldn't experience downtime

Options that I use


  • Pagodabox
  • Forge + cloud provider


PHP - centered, modern hosting platform

  • Hosts GIT repository + the application itself
  • Easily scalable on demand
  • Affordable

What do I host there:

laravel-tricks.com
builtwithlaravel.com
bootsnipp.com

Process


Boxfile



Allows specifying:

  • PHP version, config and extensions
  • Caching/DBs
  • Environment variables
  • Workers 




Sample Boxfile for a Laravel application:
on my github



Forge






from Laravel creator

Providers



  • Digital Ocean starts at $5/month for 512MB Ram server
  • Linode ($10/month)
  • Rackspace (pricing complicated)
  • Amazon cloud (pricing complicated)


Simple to use


Features


  • Custom stack
  • Uses Github or Bitbucket for GIT storage
  • Auto Deploy
  • Quick starts (Laravel, Wordpress, CraftCMS)
  • Recipes
  • Easy SSL certificate creation
  • Simple scheduling (like cron)
  • Queue workers
  • Monitoring (New relic)
  • Daemons



Q & A



Thanks! 



Deployment

By msurguy

Deployment

  • 2,007