logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

puma - fast, concurrent web server for ruby and rack

Author

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

PUMA 3.12                                         January 2020                                           PUMA(1)

Configuration File

puma will look for a configuration file at config/puma.rb. If an environment 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"-"

Examples

       The following examples show how to bind TCP or sockets:

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

       To use a UNIX Socket instead of TCP:
              puma-bunix:///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-urltcp://127.0.0.1:9293--control-tokenfoopumactl--control-url'tcp://127.0.0.1:9293'--control-tokenfoorestart

Name

       puma - fast, concurrent web server for ruby and rack

Options

       The following options are available:

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

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

       --controlURL
              DEPRECATED alias for --control-url.

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

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

       --dirDIR
              Change to given directory before starting.

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

       -I,--includePATH
              Specify $LOAD_PATH directories.

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

       --pidfilePATH
              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-cmdCMD
              The puma command to run during a hot restart. Default: inferred.

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

       -t,--threadsINT
              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,--workersCOUNT
              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 setting
              is per worker.

       --tagNAME
              Additional text to display in process listing.

       --redirect-stdoutFILE
              Redirect STDOUT to a specific file.

       --redirect-stderrFILE
              Redirect STDERR to a specific file.

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

       -h,--help
              Show help.

       -V,--version
              Print the version information.

See Also

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

Usage

puma[options...][rackupfile]puma[-h|--help|-V|--version]

See Also