No commit activity in last 3 years
No release in over 3 years
Capistrano tasks for automatic and sensible unicorn + nginx configuraion. This was customized for Mac OSX Server by Lucius Choi. Enables zero downtime deployments of Rails applications. Configs can be copied to the application using generators and easily customized. Works *only* with Capistrano 3+. For Capistrano 2 try version 0.0.8 of this gem: http://rubygems.org/gems/capistrano-nginx-unicorn
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0

Runtime

>= 0
>= 1.2.0
 Project Readme

Capistrano::UnicornNginxOsx

Gem Version

Capistrano tasks for automatic and sensible unicorn + nginx configuraion, especially, for Mac OSX server. This was customized to work on Mac OSX server, based upon capistrano-plugins/capistrano-unicorn-nginx gem

Goals of this plugin:

  • automatic unicorn and nginx configuration for Rails apps
  • no manual ssh to the server required
  • zero downtime deployments enabled
  • support for single node as well as cluster deployments

Specifics:

  • generates nginx config file on the server (web role)
  • generates unicorn initializer and config files (app role)
    application is started automatically after server restart
  • capistrano tasks for server management, example: unicorn:restart
    see below for all available tasks
  • automatic load balancing setup when there are multiple app nodes

capistrano-unicorn-nginx-osx works only with Capistrano 3!

Installation

Add this to Gemfile:

group :development do
  gem 'capistrano', '~> 3.4.0'
  gem 'capistrano-unicorn-nginx-osx', '~> 3.4.0.2'
end

And then:

$ bundle install

Setup and usage

Depending on your needs 2 general scenarios are covered:

  • single server setup
    A scenario where you run the webserver (nginx) and application server (unicorn) on the same node.
  • multiple server setup
    Webserver (nginx) and application server (unicorn) run on different nodes.

Default log file directories

  • nginx: /var/log/nginx/
  • unicorn: #{shared_path}/log/

Configuration

See the full options list on the wiki page. Feel free to skip this unless you're looking for something specific.

How it works

How it works wiki page contains the list of tasks that the plugin executes.

You do not have to know this unless you want to learn more about the plugin internals.

Template customization

On template customization wiki page see how to inspect, tweak and override templates for nginx and unicorn config files.

Do not do this unless you have a specific need.

More Capistrano automation?

Check out capistrano-plugins github org.

Bug reports and pull requests

...are very welcome!

Thanks

@kalys - for his capistrano-nginx-unicorn plugin.