xenial (1) rainbows.1.gz

Provided by: rainbows_4.6.2-1_all bug

NAME

       rainbows - rackup-like command to launch Rainbows!

SYNOPSIS

       rainbows [-c CONFIG_FILE] [-E RACK_ENV] [-D] [RACKUP_FILE]

DESCRIPTION

       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.

       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.

RACKUP FILE

       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 Rack::Builder DSL.

       Embedded   command-line  options  are  mostly  parsed  for  compatibility  with  rackup(1)  but  strongly
       discouraged.

UNICORN OPTIONS

       -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 Unicorn::Configurator class for the full list of
              directives available from the DSL.

       -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”.

       -E, --env RACK_ENV
              Run under the given RACK_ENV.  See the RACK ENVIRONMENT section for more details.

       -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.

RACKUP COMPATIBILITY OPTIONS

       -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.

       -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.

       -s, --server SERVER
              No-op, this exists only for compatibility with rackup(1).

RUBY OPTIONS

       -e, --eval LINE
              Evaluate  a  LINE  of Ruby code.  This evaluation happens immediately as the command-line is being
              parsed.

       -d, --debug
              Turn on debug mode, the $DEBUG variable is set to true.

       -w, --warn
              Turn on verbose warnings, the $VERBOSE variable is set to true.

       -I, --include PATH
              specify $LOAD_PATH.  PATH will be prepended to $LOAD_PATH.  The  ':'  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.

       -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.

SIGNALS

       The following UNIX signals may be sent to the master process:

       • HUP - reload config file, app, and gracefully restart all workers

       • INT/TERM - quick shutdown, kills all workers immediately

       • QUIT - graceful shutdown, waits for workers to finish their current request before finishing.

       • USR1  -  reopen  all logs owned by the master and all workers See Unicorn::Util.reopen_logs for what is
         considered a log.

       • 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.

       • WINCH  -  gracefully  stops  workers  but  keep the master running.  This will only work for daemonized
         processes.

       • TTIN - increment the number of worker processes by one

       • TTOU - decrement the number of worker processes by one

       See the SIGNALS (http://rainbows.rubyforge.org/SIGNALS.html) document for full description of all signals
       used by Rainbows!.

RACK ENVIRONMENT

       Accepted  values  of  RACK_ENV  and  the  middleware they automatically load (outside of RACKUP_FILE) are
       exactly as those in rackup(1):

       • development - loads Rack::CommonLogger, Rack::ShowExceptions, and Rack::Lint middleware

       • deployment - loads Rack::CommonLogger middleware

       • none - loads no middleware at all, relying entirely on RACKUP_FILE

       All unrecognized values for RACK_ENV are assumed to  be  “none”.   Production  deployments  are  strongly
       encouraged to use “deployment” or “none” for maximum performance.

       Note  that the Rack::ContentLength and Rack::Chunked middlewares are never loaded by default.  If needed,
       they should be individually specified in the RACKUP_FILE, some frameworks do not require them.

SEE ALSO

unicorn(1)

       • Rack::Builder ri/RDoc

       • Unicorn::Configurator ri/RDoc

       • Rainbows! RDoc (http://rainbows.rubyforge.org/)

       • Rack RDoc (http://rack.rubyforge.org/doc/)

       • Rackup HowTo (http://wiki.github.com/rack/rack/tutorial-rackup-howto)

AUTHOR

       Rainbows! Hackers <rainbows-talk@rubyforge.org>