diff options
Diffstat (limited to 'man/man1/rainbows.1')
-rw-r--r-- | man/man1/rainbows.1 | 193 |
1 files changed, 193 insertions, 0 deletions
diff --git a/man/man1/rainbows.1 b/man/man1/rainbows.1 new file mode 100644 index 0000000..f7aa43d --- /dev/null +++ b/man/man1/rainbows.1 @@ -0,0 +1,193 @@ +.TH "rainbows" "1" "December 3, 2009" "Rainbows! User Manual" "" +.SH NAME +.PP +rainbows \- rackup\-like command to launch Rainbows! +.SH SYNOPSIS +.PP +rainbows [\-c CONFIG_FILE] [\-E RACK_ENV] [\-D] [RACKUP_FILE] +.SH DESCRIPTION +.PP +A rackup(1)\-like command to launch Rack applications using Rainbows!. +It is expected to be started in your application root (APP_ROOT), but +the "working_directory" directive may be used in the CONFIG_FILE. +.PP +While Rainbows! takes a myriad of command\-line options for +compatibility with ruby(1) and rackup(1), it is recommended to stick to +the few command\-line options specified in the SYNOPSIS and use the +CONFIG_FILE as much as possible. +.SH RACKUP FILE +.PP +This defaults to "config.ru" in APP_ROOT. +It should be the same file used by rackup(1) and other Rack launchers, +it uses the \f[I]Rack::Builder\f[] DSL. +.PP +Embedded command\-line options are mostly parsed for compatibility with +rackup(1) but strongly discouraged. +.SH UNICORN OPTIONS +.TP +.B \-c, \-\-config\-file CONFIG_FILE +Path to the Unicorn\-specific config file. +The config file is implemented as a Ruby DSL, so Ruby code may executed. +See the RDoc/ri for the \f[I]Unicorn::Configurator\f[] class for the +full list of directives available from the DSL. +.RS +.RE +.TP +.B \-D, \-\-daemonize +Run daemonized in the background. +The process is detached from the controlling terminal and stdin is +redirected to "/dev/null". +Unlike many common UNIX daemons, we do not chdir to "/" upon +daemonization to allow more control over the startup/upgrade process. +Unless specified in the CONFIG_FILE, stderr and stdout will also be +redirected to "/dev/null". +.RS +.RE +.TP +.B \-E, \-\-env RACK_ENV +Run under the given RACK_ENV. +See the RACK ENVIRONMENT section for more details. +.RS +.RE +.TP +.B \-l, \-\-listen ADDRESS +Listens on a given ADDRESS. +ADDRESS may be in the form of HOST:PORT or PATH, HOST:PORT is taken to +mean a TCP socket and PATH is meant to be a path to a UNIX domain +socket. +Defaults to "0.0.0.0:8080" (all addresses on TCP port 8080) For +production deployments, specifying the "listen" directive in CONFIG_FILE +is recommended as it allows fine\-tuning of socket options. +.RS +.RE +.TP +.B \-N, \-\-no\-default\-middleware +Disables loading middleware implied by RACK_ENV. +This bypasses the configuration documented in the RACK ENVIRONMENT +section, but still allows RACK_ENV to be used for +application/framework\-specific purposes. +.RS +.RE +.SH RACKUP COMPATIBILITY OPTIONS +.TP +.B \-o, \-\-host HOST +Listen on a TCP socket belonging to HOST, default is "0.0.0.0" (all +addresses). +If specified multiple times on the command\-line, only the +last\-specified value takes effect. +This option only exists for compatibility with the rackup(1) command, +use of "\-l"/"\-\-listen" switch is recommended instead. +.RS +.RE +.TP +.B \-p, \-\-port PORT +Listen on the specified TCP PORT, default is 8080. +If specified multiple times on the command\-line, only the +last\-specified value takes effect. +This option only exists for compatibility with the rackup(1) command, +use of "\-l"/"\-\-listen" switch is recommended instead. +.RS +.RE +.TP +.B \-s, \-\-server SERVER +No\-op, this exists only for compatibility with rackup(1). +.RS +.RE +.SH RUBY OPTIONS +.TP +.B \-e, \-\-eval LINE +Evaluate a LINE of Ruby code. +This evaluation happens immediately as the command\-line is being +parsed. +.RS +.RE +.TP +.B \-d, \-\-debug +Turn on debug mode, the $DEBUG variable is set to true. +.RS +.RE +.TP +.B \-w, \-\-warn +Turn on verbose warnings, the $VERBOSE variable is set to true. +.RS +.RE +.TP +.B \-I, \-\-include PATH +specify +\f[I]L\f[]\f[I]O\f[]\f[I]A\f[]\f[I]D\f[]~\f[I]P\f[]~\f[I]A\f[]\f[I]T\f[]\f[I]H\f[].\f[I]P\f[]\f[I]A\f[]\f[I]T\f[]\f[I]H\f[]\f[I]w\f[]\f[I]i\f[]\f[I]l\f[]\f[I]l\f[]\f[I]b\f[]\f[I]e\f[]\f[I]p\f[]\f[I]r\f[]\f[I]e\f[]\f[I]p\f[]\f[I]e\f[]\f[I]n\f[]\f[I]d\f[]\f[I]e\f[]\f[I]d\f[]\f[I]t\f[]\f[I]o\f[]LOAD_PATH. +The \[aq]:\[aq] character may be used to delimit multiple directories. +This directive may be used more than once. +Modifications to $LOAD_PATH take place immediately and in the order they +were specified on the command\-line. +.RS +.RE +.TP +.B \-r, \-\-require LIBRARY +require a specified LIBRARY before executing the application. +The "require" statement will be executed immediately and in the order +they were specified on the command\-line. +.RS +.RE +.SH SIGNALS +.PP +The following UNIX signals may be sent to the master process: +.IP \[bu] 2 +HUP \- reload config file, app, and gracefully restart all workers +.IP \[bu] 2 +INT/TERM \- quick shutdown, kills all workers immediately +.IP \[bu] 2 +QUIT \- graceful shutdown, waits for workers to finish their current +request before finishing. +.IP \[bu] 2 +USR1 \- reopen all logs owned by the master and all workers See +Unicorn::Util.reopen_logs for what is considered a log. +.IP \[bu] 2 +USR2 \- reexecute the running binary. +A separate QUIT should be sent to the original process once the child is +verified to be up and running. +.IP \[bu] 2 +WINCH \- gracefully stops workers but keep the master running. +This will only work for daemonized processes. +.IP \[bu] 2 +TTIN \- increment the number of worker processes by one +.IP \[bu] 2 +TTOU \- decrement the number of worker processes by one +.PP +See the SIGNALS (https://yhbt.net/rainbows/SIGNALS.html) document +for full description of all signals used by Rainbows!. +.SH RACK ENVIRONMENT +.PP +Accepted values of RACK_ENV and the middleware they automatically load +(outside of RACKUP_FILE) are exactly as those in rackup(1): +.IP \[bu] 2 +development \- loads Rack::CommonLogger, Rack::ShowExceptions, and +Rack::Lint middleware +.IP \[bu] 2 +deployment \- loads Rack::CommonLogger middleware +.IP \[bu] 2 +none \- loads no middleware at all, relying entirely on RACKUP_FILE +.PP +All unrecognized values for RACK_ENV are assumed to be "none". +Production deployments are strongly encouraged to use "deployment" or +"none" for maximum performance. +.PP +Note the Rack::ContentLength and Rack::Chunked middlewares are also +loaded by "deployment" and "development", but no other values of +RACK_ENV. +If needed, they must be individually specified in the RACKUP_FILE, some +frameworks do not require them. +.SH SEE ALSO +.IP \[bu] 2 +unicorn(1) +.IP \[bu] 2 +\f[I]Rack::Builder\f[] ri/RDoc +.IP \[bu] 2 +\f[I]Unicorn::Configurator\f[] ri/RDoc +.IP \[bu] 2 +Rainbows! RDoc (https://yhbt.net/rainbows/) +.IP \[bu] 2 +Rack RDoc (http://rdoc.info/gems/r#/gems/rack/frames) +.IP \[bu] 2 +Rackup HowTo (http://wiki.github.com/rack/rack/tutorial-rackup-howto) +.SH AUTHORS +Rainbows! Hackers <rainbows-public@yhbt.net>. |