capistrano-nginx-unit
Installation
gem "capistrano-nginx-unit"
Usage
Require in Capfile.
# Capfile
require "capistrano/nginx-unit"
Defined following tasks.
cap nginx_unit:attach # Attach listener and application configuration to NGINX Unit
cap nginx_unit:attach_app # Attach application configuration to NGINX Unit
cap nginx_unit:attach_listener # Attach listener configuration to NGINX Unit
cap nginx_unit:detach # Detach listener and application configuration from NGINX Unit
cap nginx_unit:detach_app # Detach application configuration from NGINX Unit
cap nginx_unit:detach_listener # Detach listener configuration from NGINX Unit
cap nginx_unit:start # Start NGINX Unit process
cap nginx_unit:stop # Stop NGINX Unit process
nginx_unit:attach is main task.
The task sends HTTP request to configure NGINX Unit on server.
If you want to apply new code when deployed, please invoke nginx_unit:attach task after deploy:published.
# deploy.rb
after "deploy:published", "nginx_unit:attach"
Options
set :nginx_unit_roles, -> { :app }
set :nginx_unit_pid, -> { "/var/run/unit.pid" }
set :nginx_unit_control_sock, -> { "/var/run/control.unit.sock" }
set :nginx_unit_options, -> { "" }
set :nginx_unit_listen, -> { "*:3000" }
set :nginx_unit_app_name, -> { fetch(:application) }
set :nginx_unit_processes, -> { nil }
set :nginx_unit_user, -> { nil }
set :nginx_unit_group, -> { nil }
set :nginx_unit_working_dir, -> { nil }
set :nginx_unit_script, -> { "config.ru" }
:nginx_unit_roles
Roles to run tasks for NGINX Unit. Default: :app
:nginx_unit_pid
Path to NGINX Unit's pid file. Default: "/var/run/unit.pid"
:nginx_unit_control_sock
Path to NGINX Unit's unix domain socket path. Default: "/var/run/control.unit.sock"
:nginx_unit_options
Additional options that is used when launch NGINX Unit by nginx_unit:start
:nginx_unit_listen
IP Address and port where rack application listens on. Default: "*:3000"
See Listeners configuration
:nginx_unit_app_name
Application name.
See Applications configuration
:nginx_unit_processes
Number of rack application processes. Default: 1
See Application Object configuration
:nginx_unit_user:nginx_unit_group
Username and group of rack application process. Default: "nobody"
See Application Object configuration
:nginx_unit_working_dir
Working directory of rack application process. Default: RELEASE_PATH
See Application Object configuration
:nginx_unit_script
Rack application script path. Default: RELEASE_PATH/config.ru
See Ruby application configuration