OS Manuals

/usr/bin/puma

Puma is a simple, fast, threaded, and highly parallel HTTP 1.1 server for Ruby/Rack applications. Puma is intended for use in both development and production environments. It's great for highly parallel Ruby implementations such as Rubinius and JRuby as well as as providing process worker support to support CRuby well.

From ruby3.2-puma 8.0.2-r2 (os), captured 2026-11-05 by running puma --help (exit 0). permalink

Also provided by 10 other package versions
puma <options> <rackup file>
    -b, --bind URI                   URI to bind to (tcp://, unix://, ssl://)
        --bind-to-activated-sockets [only]
                                     Bind to all activated sockets
    -C, --config PATH                Load PATH as a config file
        --no-config                  Prevent Puma from searching for a config file
        --control-url URL            The bind url to use for the control server. Use 'auto' to use temp unix server
        --control-token TOKEN        The token to use as authentication for the control server
        --debug                      Log lowlevel debugging information
        --dir DIR                    Change to DIR before starting
    -e, --environment ENVIRONMENT    The environment to run the Rack app on (default development)
    -f, --fork-worker=[REQUESTS]     Fork new workers from existing worker. Cluster mode only
                                     Auto-refork after REQUESTS (default 1000)
    -I, --include PATH               Specify $LOAD_PATH directories
        --idle-timeout SECONDS       Number of seconds until the next request before automatic shutdown
    -p, --port PORT                  Define the TCP port to bind to
                                     Use -b for more advanced options
        --pidfile PATH               Use PATH as a pidfile
        --plugin PLUGIN              Load the given PLUGIN. Can be used multiple times to load multiple plugins.
        --preload                    Preload the app. Cluster mode only
        --prune-bundler              Prune out the bundler env if possible
        --extra-runtime-dependencies GEM1,GEM2
                                     Defines any extra needed gems when using --prune-bundler
    -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, --silent                     Do not log prompt messages other than errors
    -S, --state PATH                 Where to store the state details
    -t, --threads INT                min:max threads to use (default 0:16)
        --early-hints                Enable early hints support
    -V, --version                    Print the version information
    -w, --workers COUNT              Activate cluster mode: How many worker processes to create
        --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
Options (31)
OptionDescriptionSource
-b, --bind URIURI to bind to (tcp://, unix://, ssl://)help
--bind-to-activated-sockets onlyBind to all activated socketshelp
-C, --config PATHLoad PATH as a config filehelp
--no-configPrevent Puma from searching for a config filehelp
--control-url URLThe bind url to use for the control server.help
--control-token TOKENThe token to use as authentication for the control serverhelp
--debugLog lowlevel debugging informationhelp
--dir DIRChange to DIR before startinghelp
-e, --environment ENVIRONMENTThe environment to run the Rack app on (default development)help
-f, --fork-worker REQUESTSFork new workers from existing worker.help
-I, --include PATHSpecify $LOAD_PATH directorieshelp
--idle-timeout SECONDSNumber of seconds until the next request before automatic shutdownhelp
-p, --port PORTDefine the TCP port to bind to Use -b for more advanced optionshelp
--pidfile PATHUse PATH as a pidfilehelp
--plugin PLUGINLoad the given PLUGIN.help
--preloadPreload the app.help
--prune-bundlerPrune out the bundler env if possiblehelp
--extra-runtime-dependencies GEM1Defines any extra needed gems when using --prune-bundlerhelp
-q, --quietDo not log requests internally (default true)help
-v, --log-requestsLog requests as they occurhelp
-R, --restart-cmd CMDThe puma command to run during a hot restart Default: inferredhelp
-s, --silentDo not log prompt messages other than errorshelp
-S, --state PATHWhere to store the state detailshelp
-t, --threads INTmin:max threads to use (default 0:16)help
--early-hintsEnable early hints supporthelp
-V, --versionPrint the version informationhelp
-w, --workers COUNTActivate cluster mode: How many worker processes to createhelp
--tag NAMEAdditional text to display in process listinghelp
--redirect-stdout FILERedirect STDOUT to a specific filehelp
--redirect-stderr FILERedirect STDERR to a specific filehelp
-h, --helpShow helphelp

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.