Phusion Passenger is an application server for Ruby (Rack) apps. It allows you to get your web apps online with the least amount of hassle, by taking care of pretty much all of the heavy lifting for you when it comes to managing your apps' processes and resources.
Deploy Nginx with Passenger module.
juju deploy nginx-passenger
Deploy Rack application and all dependent services (see how).
juju deploy rack --config myapp.yml
juju add-relation rack nginx-passenger
Open the stack up to the outside world.
juju expose nginx-passenger
Find the nginx-passenger instance's public URL from
It's possible to use this service with load balancer. Here is an example
Run steps 1-3 from Usage section
Deploy load balancer, e.g. haproxy
juju deploy haproxy
Relate it to the stack
juju add-relation haproxy nginx-passenger
Scale up the stack
juju add-unit -n3 nginx-passenger
Expose load balancer up to the outside world.
juju expose haproxy
Under the hood
This Charm - installs Nginx, Phusion Passenger and Ruby from from Brightbox Launchpad package repository. - installs all dependencies - configures Nginx to run Rack application
- Add Python (WSGI) apps support.