dwww Home | Manual pages | Find package

PUMA(1)                          User Commands                          PUMA(1)

NAME
       puma - fast, concurrent web server for ruby and rack

USAGE
       puma [options...] [rackup file]

       puma [-h | --help | -V | --version]

OPTIONS
       The following options are available:

       -b, --bind URI
              URI to bind to (tcp://, unix://, ssl://).

       -C, --config PATH
              Load given path as a config file.

       --control URL
              DEPRECATED alias for --control-url.

       --control-token TOKEN
              The TOKEN to use as authentication for the control server.

       --control-url URL
              The  bind  URL to use for the control server and app. Use auto to
              use a temp unix server. This requires to use  a  --control-token,
              which  needs to be given with every request to the control server
              (token=foo).

       -d, --daemon
              Demonize the server into the background.

       --debug
              Show low level debugging information.

       --dir DIR
              Change to given directory before starting.

       -e, --environment ENVIRONMENT
              The environment to run the Rack app on. Default development.

       -I, --include PATH
              Specify $LOAD_PATH directories.

       -p, --port PORT
              Define the TCP port to bind to. Use -b for more advanced options.

       --pidfile PATH
              Use the given path as PID file.

       --preload
              Preload the application. This  loads  all  the  application  code
              prior  to  forking.   Preloading reduces total memory usage of an
              application and is only available in cluster mode.

       --prune-bundler
              Prune out the bundler env if possible.

       -q, --quiet
              Do not log requests internally. Default: true.

       -v, --log-requests
              Log requests as they occur.

       -R, --restart-cmd CMD
              The puma command to run during a hot restart. Default: inferred.

       -S, --state PATH
              Where to store the state details.

       -t, --threads INT
              Min:max threads to use. Puma will automatically scale the  number
              of  threads,  from  the minimum until it caps out at the maximum,
              based on how much traffic is present. Default: 0:16.

       --tcp-mode
              Run the app in raw TCP mode instead of HTTP mode.

       --early-hints
              Enable early hints support.

       -w, --workers COUNT
              Activate cluster mode and define number of  worker  processes  to
              create.  In  this  mode workers are forked from a master process.
              Each child process still has its own thread pool and the -t  set-
              ting is per worker.

       --tag NAME
              Additional text to display in process listing.

       --redirect-stdout FILE
              Redirect STDOUT to a specific file.

       --redirect-stderr FILE
              Redirect STDERR to a specific file.

       --[no-]redirect-append
              Append to redirected files.

       -h, --help
              Show help.

       -V, --version
              Print the version information.

EXAMPLES
       The following examples show how to bind TCP or sockets:

       Bind Puma to a socket with the -b (or --bind) flag:
              puma -b tcp://127.0.0.1:9292

       To use a UNIX Socket instead of TCP:
              puma -b unix:///var/run/puma.sock

       To change the permissions of the UNIX socket, add a umask parameter:
              puma -b 'unix:///var/run/puma.sock?umask=0111'

       In need of a bit of security use SSL sockets:
              puma -b 'ssl://127.0.0.1:9292?key=path_to_key&cert=path_to_cert'

       The  following  example  show  how  to  Create  a control server and use
       pumactl(1) to interact with the control server to restart puma.
              puma --control-url tcp://127.0.0.1:9293 --control-token foo
              pumactl --control-url 'tcp://127.0.0.1:9293' --control-token  foo
              restart

CONFIGURATION FILE
       puma  will  look for a configuration file at config/puma.rb. If an envi-
       ronment is specified, either via the  -e  and  --environment  flags,  or
       through  the  RACK_ENV  or the RAILS_ENV environment variables, it looks
       for configuration at config/puma/<environment_name>.rb.

       The -C flag allows one to pass on a custom  configuration  location.  If
       the  value specified is a dash (-) puma won't look for any configuration
       file:

              puma -C "-"

SEE ALSO
       There is  extensive  documentation  at  <https://puma.io/puma/>  and  <-
       https://github.com/puma/puma>.

AUTHOR
       This  manual  page  was written by Daniel Leidert <dleidert@debian.org>,
       for the Debian GNU/Linux system (but may be used by others).

PUMA 3.12                         January 2020                          PUMA(1)

Generated by dwww version 1.16 on Tue Dec 16 06:20:24 CET 2025.