Provided by: uwsgi-plugin-rack-ruby2.3_2.0.12-5ubuntu3.2_amd64 bug

NAME

       uwsgi_rack_ruby23 - fast (pure C), self-healing, developer-friendly WSGI server

SYNOPSIS

       uwsgi-core-local [options...]

DESCRIPTION

       -s|--socket
              bind to the specified UNIX/TCP socket using default protocol

       -s|--uwsgi-socket
              bind to the specified UNIX/TCP socket using uwsgi protocol

       --suwsgi-socket
              bind to the specified UNIX/TCP socket using uwsgi protocol over SSL

       --ssl-socket
              bind to the specified UNIX/TCP socket using uwsgi protocol over SSL

       --http-socket
              bind to the specified UNIX/TCP socket using HTTP protocol

       --http-socket-modifier1
              force the specified modifier1 when using HTTP protocol

       --http-socket-modifier2
              force the specified modifier2 when using HTTP protocol

       --https-socket
              bind to the specified UNIX/TCP socket using HTTPS protocol

       --https-socket-modifier1
              force the specified modifier1 when using HTTPS protocol

       --https-socket-modifier2
              force the specified modifier2 when using HTTPS protocol

       --fastcgi-socket
              bind to the specified UNIX/TCP socket using FastCGI protocol

       --fastcgi-nph-socket
              bind to the specified UNIX/TCP socket using FastCGI protocol (nph mode)

       --fastcgi-modifier1
              force the specified modifier1 when using FastCGI protocol

       --fastcgi-modifier2
              force the specified modifier2 when using FastCGI protocol

       --scgi-socket
              bind to the specified UNIX/TCP socket using SCGI protocol

       --scgi-nph-socket
              bind to the specified UNIX/TCP socket using SCGI protocol (nph mode)

       --scgi-modifier1
              force the specified modifier1 when using SCGI protocol

       --scgi-modifier2
              force the specified modifier2 when using SCGI protocol

       --raw-socket
              bind to the specified UNIX/TCP socket using RAW protocol

       --raw-modifier1
              force the specified modifier1 when using RAW protocol

       --raw-modifier2
              force the specified modifier2 when using RAW protocol

       --puwsgi-socket
              bind to the specified UNIX/TCP socket using persistent uwsgi protocol (puwsgi)

       --protocol
              force the specified protocol for default sockets

       --socket-protocol
              force the specified protocol for default sockets

       --shared-socket
              create a shared socket for advanced jailing or ipc

       --undeferred-shared-socket
              create a shared socket for advanced jailing or ipc (undeferred mode)

       -p|--processes
              spawn the specified number of workers/processes

       -p|--workers
              spawn the specified number of workers/processes

       --thunder-lock
              serialize accept() usage (if possible)

       -t|--harakiri
              set harakiri timeout

       --harakiri-verbose
              enable verbose mode for harakiri

       --harakiri-no-arh
              do not enable harakiri during after-request-hook

       --no-harakiri-arh
              do not enable harakiri during after-request-hook

       --no-harakiri-after-req-hook
              do not enable harakiri during after-request-hook

       --backtrace-depth
              set backtrace depth

       --mule-harakiri
              set harakiri timeout for mule tasks

       -x|--xmlconfig
              load config from xml file

       -x|--xml
              load config from xml file

       --config
              load configuration using the pluggable system

       --fallback-config
              re-exec uwsgi with the specified config when exit code is 1

       --strict
              enable strict mode (placeholder cannot be used)

       --skip-zero
              skip check of file descriptor 0

       --skip-atexit
              skip atexit hooks (ignored by the master)

       -S|--set
              set a placeholder or an option

       --set-placeholder
              set a placeholder

       --set-ph
              set a placeholder

       --get  print the specified option value and exit

       --declare-option
              declare a new uWSGI custom option

       --declare-option2
              declare a new uWSGI custom option (non-immediate)

       --resolve
              place   the   result   of   a  dns  query  in  the  specified  placeholder,  sytax:
              placeholder=name (immediate option)

       --for  (opt logic) for cycle

       --for-glob
              (opt logic) for cycle (expand glob)

       --for-times
              (opt logic) for cycle (expand the specified num to a list starting from 1)

       --for-readline
              (opt logic) for cycle (expand the specified file to a list of lines)

       --endfor
              (opt logic) end for cycle

       --end-for
              (opt logic) end for cycle

       --if-opt
              (opt logic) check for option

       --if-not-opt
              (opt logic) check for option

       --if-env
              (opt logic) check for environment variable

       --if-not-env
              (opt logic) check for environment variable

       --ifenv
              (opt logic) check for environment variable

       --if-reload
              (opt logic) check for reload

       --if-not-reload
              (opt logic) check for reload

       --if-hostname
              (opt logic) check for hostname

       --if-not-hostname
              (opt logic) check for hostname

       --if-hostname-match
              (opt logic) try to match hostname against a regular expression

       --if-not-hostname-match
              (opt logic) try to match hostname against a regular expression

       --if-exists
              (opt logic) check for file/directory existence

       --if-not-exists
              (opt logic) check for file/directory existence

       --ifexists
              (opt logic) check for file/directory existence

       --if-plugin
              (opt logic) check for plugin

       --if-not-plugin
              (opt logic) check for plugin

       --ifplugin
              (opt logic) check for plugin

       --if-file
              (opt logic) check for file existance

       --if-not-file
              (opt logic) check for file existance

       --if-dir
              (opt logic) check for directory existance

       --if-not-dir
              (opt logic) check for directory existance

       --ifdir
              (opt logic) check for directory existance

       --if-directory
              (opt logic) check for directory existance

       --endif
              (opt logic) end if

       --end-if
              (opt logic) end if

       --blacklist
              set options blacklist context

       --end-blacklist
              clear options blacklist context

       --whitelist
              set options whitelist context

       --end-whitelist
              clear options whitelist context

       --ignore-sigpipe
              do not report (annoying) SIGPIPE

       --ignore-write-errors
              do not report (annoying) write()/writev() errors

       --write-errors-tolerance
              set the maximum number of allowed write errors (default: no tolerance)

       --write-errors-exception-only
              only raise an exception on write errors giving control to the app itself

       --disable-write-exception
              disable exception generation on write()/writev()

       --inherit
              use the specified file as config template

       --include
              include the specified file as immediate configuration

       --inject-before
              inject a text file before the config file (advanced templating)

       --inject-after
              inject a text file after the config file (advanced templating)

       -d|--daemonize
              daemonize uWSGI

       --daemonize2
              daemonize uWSGI after app loading

       --stop stop an instance

       --reload
              reload an instance

       --pause
              pause an instance

       --suspend
              suspend an instance

       --resume
              resume an instance

       --connect-and-read
              connect to a socket and wait for data from it

       --extract
              fetch/dump any supported address to stdout

       -l|--listen
              set the socket listen queue size

       -v|--max-vars
              set the amount of internal iovec/vars structures

       --max-apps
              set the maximum number of per-worker applications

       -b|--buffer-size
              set internal buffer size

       -m|--memory-report
              enable memory report

       --profiler
              enable the specified profiler

       -c|--cgi-mode
              force CGI-mode for plugins supporting it

       -a|--abstract-socket
              force UNIX socket in abstract mode (Linux only)

       -C|--chmod-socket
              chmod-socket

       -C|--chmod
              chmod-socket

       --chown-socket
              chown unix sockets

       --umask
              set umask

       --freebind
              put socket in freebind mode

       --map-socket
              map sockets to specific workers

       -T|--enable-threads
              enable threads

       --no-threads-wait
              do not wait for threads cancellation on quit/reload

       --auto-procname
              automatically set processes name to something meaningful

       --procname-prefix
              add a prefix to the process names

       --procname-prefix-spaced
              add a spaced prefix to the process names

       --procname-append
              append a string to process names

       --procname
              set process names

       --procname-master
              set master process name

       -i|--single-interpreter
              do not use multiple interpreters (where available)

       --need-app
              exit if no app can be loaded

       -M|--master
              enable master process

       --honour-stdin
              do not remap stdin to /dev/null

       --emperor
              run the Emperor

       --emperor-proxy-socket
              force the vassal to became an Emperor proxy

       --emperor-wrapper
              set a binary wrapper for vassals

       --emperor-wrapper-override
              set a binary wrapper for vassals to try before the default one

       --emperor-wrapper-fallback
              set a binary wrapper for vassals to try as a last resort

       --emperor-nofollow
              do not follow symlinks when checking for mtime

       --emperor-procname
              set the Emperor process name

       --emperor-freq
              set the Emperor scan frequency (default 3 seconds)

       --emperor-required-heartbeat
              set the Emperor tolerance about heartbeats

       --emperor-curse-tolerance
              set the Emperor tolerance about cursed vassals

       --emperor-pidfile
              write the Emperor pid in the specified file

       --emperor-tyrant
              put the Emperor in Tyrant mode

       --emperor-tyrant-nofollow
              do not follow symlinks when checking for uid/gid in Tyrant mode

       --emperor-stats
              run the Emperor stats server

       --emperor-stats-server
              run the Emperor stats server

       --early-emperor
              spawn the emperor as soon as possibile

       --emperor-broodlord
              run the emperor in BroodLord mode

       --emperor-throttle
              set throttling level (in milliseconds) for bad behaving vassals (default 1000)

       --emperor-max-throttle
              set max throttling level (in milliseconds) for  bad  behaving  vassals  (default  3
              minutes)

       --emperor-magic-exec
              prefix vassals config files with exec:// if they have the executable bit

       --emperor-on-demand-extension
              search for text file (vassal name + extension) containing the on demand socket name

       --emperor-on-demand-ext
              search for text file (vassal name + extension) containing the on demand socket name

       --emperor-on-demand-directory
              enable  on  demand mode binding to the unix socket in the specified directory named
              like the vassal + .socket

       --emperor-on-demand-dir
              enable on demand mode binding to the unix socket in the specified  directory  named
              like the vassal + .socket

       --emperor-on-demand-exec
              use  the  output of the specified command as on demand socket name (the vassal name
              is passed as the only argument)

       --emperor-extra-extension
              allows the specified extension in the Emperor (vassal will be called with --config)

       --emperor-extra-ext
              allows the specified extension in the Emperor (vassal will be called with --config)

       --emperor-no-blacklist
              disable Emperor blacklisting subsystem

       --emperor-use-clone
              use clone() instead of fork() passing the specified unshare() flags

       --emperor-cap
              set vassals capability

       --vassals-cap
              set vassals capability

       --vassal-cap
              set vassals capability

       --imperial-monitor-list
              list enabled imperial monitors

       --imperial-monitors-list
              list enabled imperial monitors

       --vassals-inherit
              add config templates to vassals config (uses --inherit)

       --vassals-include
              include config templates to vassals config (uses --include instead of --inherit)

       --vassals-inherit-before
              add config templates to vassals config (uses --inherit, parses  before  the  vassal
              file)

       --vassals-include-before
              include  config  templates  to vassals config (uses --include instead of --inherit,
              parses before the vassal file)

       --vassals-start-hook
              run the specified command before each vassal starts

       --vassals-stop-hook
              run the specified command after vassal's death

       --vassal-sos
              ask emperor for reinforcement when overloaded

       --vassal-sos-backlog
              ask emperor for sos if backlog queue has more items than the value specified

       --vassals-set
              automatically set the specified option (via --set) for every vassal

       --vassal-set
              automatically set the specified option (via --set) for every vassal

       --heartbeat
              announce healthiness to the emperor

       --reload-mercy
              set the maximum time (in seconds) we wait for workers and other  processes  to  die
              during reload/shutdown

       --worker-reload-mercy
              set  the maximum time (in seconds) a worker can take to reload/shutdown (default is
              60)

       --mule-reload-mercy
              set the maximum time (in seconds) a mule can take to  reload/shutdown  (default  is
              60)

       --exit-on-reload
              force exit even if a reload is requested

       --die-on-term
              exit instead of brutal reload on SIGTERM

       --force-gateway
              force the spawn of the first registered gateway without a master

       -h|--help
              show this help

       -h|--usage
              show this help

       --print-sym
              print content of the specified binary symbol

       --print-symbol
              print content of the specified binary symbol

       -r|--reaper
              call waitpid(-1,...) after each request to get rid of zombies

       -R|--max-requests
              reload workers after the specified amount of managed requests

       --min-worker-lifetime
              number of seconds worker must run before being reloaded (default is 60)

       --max-worker-lifetime
              reload workers after the specified amount of seconds (default is disabled)

       -z|--socket-timeout
              set internal sockets timeout

       --no-fd-passing
              disable file descriptor passing

       --locks
              create the specified number of shared locks

       --lock-engine
              set the lock engine

       --ftok set the ipcsem key via ftok() for avoiding duplicates

       --persistent-ipcsem
              do not remove ipcsem's on shutdown

       -A|--sharedarea
              create a raw shared memory area of specified pages (note: it supports keyval too)

       --safe-fd
              do not close the specified file descriptor

       --fd-safe
              do not close the specified file descriptor

       --cache
              create a shared cache containing given elements

       --cache-blocksize
              set cache blocksize

       --cache-store
              enable persistent cache to disk

       --cache-store-sync
              set frequency of sync for persistent cache

       --cache-no-expire
              disable auto sweep of expired items

       --cache-expire-freq
              set the frequency of cache sweeper scans (default 3 seconds)

       --cache-report-freed-items
              constantly report the cache item freed by the sweeper (use only for debug)

       --cache-udp-server
              bind the cache udp server (used only for set/update/delete) to the specified socket

       --cache-udp-node
              send cache update/deletion to the specified cache udp server

       --cache-sync
              copy the whole content of another uWSGI cache server on server startup

       --cache-use-last-modified
              update  last_modified_at  timestamp  on  every  cache item modification (default is
              disabled)

       --add-cache-item
              add an item in the cache

       --load-file-in-cache
              load a static file in the cache

       --load-file-in-cache-gzip
              load a static file in the cache with gzip compression

       --cache2
              create a new generation shared cache (keyval syntax)

       --queue
              enable shared queue

       --queue-blocksize
              set queue blocksize

       --queue-store
              enable persistent queue to disk

       --queue-store-sync
              set frequency of sync for persistent queue

       -Q|--spooler
              run a spooler on the specified directory

       --spooler-external
              map spoolers requests to a spooler directory managed by an external instance

       --spooler-ordered
              try to order the execution of spooler tasks

       --spooler-chdir
              chdir() to specified directory before each spooler task

       --spooler-processes
              set the number of processes for spoolers

       --spooler-quiet
              do not be verbose with spooler tasks

       --spooler-max-tasks
              set the maximum number of tasks to run before recycling a spooler

       --spooler-harakiri
              set harakiri timeout for spooler tasks

       --spooler-frequency
              set spooler frequency

       --spooler-freq
              set spooler frequency

       --mule add a mule

       --mules
              add the specified number of mules

       --farm add a mule farm

       --mule-msg-size
              set mule message buffer size

       --signal
              send a uwsgi signal to a server

       --signal-bufsize
              set buffer size for signal queue

       --signals-bufsize
              set buffer size for signal queue

       --signal-timer
              add a timer (syntax: <signal> <seconds>)

       --timer
              add a timer (syntax: <signal> <seconds>)

       --signal-rbtimer
              add a redblack timer (syntax: <signal> <seconds>)

       --rbtimer
              add a redblack timer (syntax: <signal> <seconds>)

       --rpc-max
              maximum number of rpc slots (default: 64)

       -L|--disable-logging
              disable request logging

       --flock
              lock the specified file before starting, exit if locked

       --flock-wait
              lock the specified file before starting, wait if locked

       --flock2
              lock the specified file after logging/daemon setup, exit if locked

       --flock-wait2
              lock the specified file after logging/daemon setup, wait if locked

       --pidfile
              create pidfile (before privileges drop)

       --pidfile2
              create pidfile (after privileges drop)

       --chroot
              chroot() to the specified directory

       --pivot-root
              pivot_root() to the specified directories (new_root and put_old must  be  separated
              with a space)

       --pivot_root
              pivot_root()  to  the specified directories (new_root and put_old must be separated
              with a space)

       --uid  setuid to the specified user/uid

       --gid  setgid to the specified group/gid

       --add-gid
              add the specified group id to the process credentials

       --immediate-uid
              setuid to the specified user/uid IMMEDIATELY

       --immediate-gid
              setgid to the specified group/gid IMMEDIATELY

       --no-initgroups
              disable additional groups set via initgroups()

       --cap  set process capability

       --unshare
              unshare() part of the processes and put it in a new namespace

       --unshare2
              unshare() part of the processes and put it in a new namespace after rootfs change

       --setns-socket
              expose a unix socket returning namespace fds from /proc/self/ns

       --setns-socket-skip
              skip the specified entry when sending setns file descriptors

       --setns-skip
              skip the specified entry when sending setns file descriptors

       --setns
              join a namespace created by an external uWSGI instance

       --setns-preopen
              open /proc/self/ns as soon as possible and cache fds

       --jailed
              mark the instance as jailed (force the execution of post_jail hooks)

       --refork
              fork() again after privileges drop. Useful for jailing systems

       --re-fork
              fork() again after privileges drop. Useful for jailing systems

       --refork-as-root
              fork() again before privileges drop. Useful for jailing systems

       --re-fork-as-root
              fork() again before privileges drop. Useful for jailing systems

       --refork-post-jail
              fork() again after jailing. Useful for jailing systems

       --re-fork-post-jail
              fork() again after jailing. Useful for jailing systems

       --hook-asap
              run the specified hook as soon as possible

       --hook-pre-jail
              run the specified hook before jailing

       --hook-post-jail
              run the specified hook after jailing

       --hook-in-jail
              run the specified hook in jail after initialization

       --hook-as-root
              run the specified hook before privileges drop

       --hook-as-user
              run the specified hook after privileges drop

       --hook-as-user-atexit
              run the specified hook before app exit and reload

       --hook-pre-app
              run the specified hook before app loading

       --hook-post-app
              run the specified hook after app loading

       --hook-post-fork
              run the specified hook after each fork

       --hook-accepting
              run the specified hook after each worker enter the accepting phase

       --hook-accepting1
              run the specified hook after the first worker enters the accepting phase

       --hook-accepting-once
              run  the  specified  hook  after  each  worker  enter  the  accepting  phase  (once
              per-instance)

       --hook-accepting1-once
              run  the specified hook after the first worker enters the accepting phase (once per
              instance)

       --hook-master-start
              run the specified hook when the Master starts

       --hook-touch
              run the specified hook when the specified file is touched (syntax: <file> <action>)

       --hook-emperor-start
              run the specified hook when the Emperor starts

       --hook-emperor-stop
              run the specified hook when the Emperor send a stop message

       --hook-emperor-reload
              run the specified hook when the Emperor send a reload message

       --hook-emperor-lost
              run the specified hook when the Emperor connection is lost

       --hook-as-vassal
              run the specified hook before exec()ing the vassal

       --hook-as-emperor
              run the specified hook in the emperor after the vassal has been started

       --hook-as-mule
              run the specified hook in each mule

       --hook-as-gateway
              run the specified hook in each gateway

       --after-request-hook
              run the specified function/symbol after each request

       --after-request-call
              run the specified function/symbol after each request

       --exec-asap
              run the specified command as soon as possible

       --exec-pre-jail
              run the specified command before jailing

       --exec-post-jail
              run the specified command after jailing

       --exec-in-jail
              run the specified command in jail after initialization

       --exec-as-root
              run the specified command before privileges drop

       --exec-as-user
              run the specified command after privileges drop

       --exec-as-user-atexit
              run the specified command before app exit and reload

       --exec-pre-app
              run the specified command before app loading

       --exec-post-app
              run the specified command after app loading

       --exec-as-vassal
              run the specified command before exec()ing the vassal

       --exec-as-emperor
              run the specified command in the emperor after the vassal has been started

       --mount-asap
              mount filesystem as soon as possible

       --mount-pre-jail
              mount filesystem before jailing

       --mount-post-jail
              mount filesystem after jailing

       --mount-in-jail
              mount filesystem in jail after initialization

       --mount-as-root
              mount filesystem before privileges drop

       --mount-as-vassal
              mount filesystem before exec()ing the vassal

       --mount-as-emperor
              mount filesystem in the emperor after the vassal has been started

       --umount-asap
              unmount filesystem as soon as possible

       --umount-pre-jail
              unmount filesystem before jailing

       --umount-post-jail
              unmount filesystem after jailing

       --umount-in-jail
              unmount filesystem in jail after initialization

       --umount-as-root
              unmount filesystem before privileges drop

       --umount-as-vassal
              unmount filesystem before exec()ing the vassal

       --umount-as-emperor
              unmount filesystem in the emperor after the vassal has been started

       --wait-for-interface
              wait for the specified network interface to come up before running root hooks

       --wait-for-interface-timeout
              set the timeout for wait-for-interface

       --wait-interface
              wait for the specified network interface to come up before running root hooks

       --wait-interface-timeout
              set the timeout for wait-for-interface

       --wait-for-iface
              wait for the specified network interface to come up before running root hooks

       --wait-for-iface-timeout
              set the timeout for wait-for-interface

       --wait-iface
              wait for the specified network interface to come up before running root hooks

       --wait-iface-timeout
              set the timeout for wait-for-interface

       --wait-for-fs
              wait for the specified filesystem item to appear before running root hooks

       --wait-for-file
              wait for the specified file to appear before running root hooks

       --wait-for-dir
              wait for the specified directory to appear before running root hooks

       --wait-for-mountpoint
              wait for the specified mountpoint to appear before running root hooks

       --wait-for-fs-timeout
              set the timeout for wait-for-fs/file/dir

       --wait-for-socket
              wait for the specified socket to be ready before loading apps

       --wait-for-socket-timeout
              set the timeout for wait-for-socket

       --call-asap
              call the specified function as soon as possible

       --call-pre-jail
              call the specified function before jailing

       --call-post-jail
              call the specified function after jailing

       --call-in-jail
              call the specified function in jail after initialization

       --call-as-root
              call the specified function before privileges drop

       --call-as-user
              call the specified function after privileges drop

       --call-as-user-atexit
              call the specified function before app exit and reload

       --call-pre-app
              call the specified function before app loading

       --call-post-app
              call the specified function after app loading

       --call-as-vassal
              call the specified function() before exec()ing the vassal

       --call-as-vassal1
              call the specified function(char *) before exec()ing the vassal

       --call-as-vassal3
              call the specified function(char *, uid_t, gid_t) before exec()ing the vassal

       --call-as-emperor
              call the specified function() in the emperor after the vassal has been started

       --call-as-emperor1
              call the specified function(char *) in  the  emperor  after  the  vassal  has  been
              started

       --call-as-emperor2
              call the specified function(char *, pid_t) in the emperor after the vassal has been
              started

       --call-as-emperor4
              call the specified function(char *, pid_t, uid_t, gid_t) in the emperor  after  the
              vassal has been started

       --ini  load config from ini file

       -y|--yaml
              load config from yaml file

       -y|--yml
              load config from yaml file

       -j|--json
              load config from json file

       -j|--js
              load config from json file

       --weight
              weight of the instance (used by clustering/lb/subscriptions)

       --auto-weight
              set weight of the instance (used by clustering/lb/subscriptions) automatically

       --no-server
              force no-server mode

       --command-mode
              force command mode

       --no-defer-accept
              disable deferred-accept on sockets

       --tcp-nodelay
              enable TCP NODELAY on each request

       --so-keepalive
              enable TCP KEEPALIVEs

       --so-send-timeout
              set SO_SNDTIMEO

       --socket-send-timeout
              set SO_SNDTIMEO

       --so-write-timeout
              set SO_SNDTIMEO

       --socket-write-timeout
              set SO_SNDTIMEO

       --socket-sndbuf
              set SO_SNDBUF

       --socket-rcvbuf
              set SO_RCVBUF

       --limit-as
              limit processes address space/vsz

       --limit-nproc
              limit the number of spawnable processes

       --reload-on-as
              reload if address space is higher than specified megabytes

       --reload-on-rss
              reload if rss memory is higher than specified megabytes

       --evil-reload-on-as
              force  the  master to reload a worker if its address space is higher than specified
              megabytes

       --evil-reload-on-rss
              force the master to reload a worker if its rss  memory  is  higher  than  specified
              megabytes

       --mem-collector-freq
              set the memory collector frequency when evil reloads are in place

       --reload-on-fd
              reload if the specified file descriptor is ready

       --brutal-reload-on-fd
              brutal reload if the specified file descriptor is ready

       --ksm  enable Linux KSM

       --pcre-jit
              enable pcre jit (if available)

       --never-swap
              lock all memory pages avoiding swapping

       --touch-reload
              reload uWSGI if the specified file is modified/touched

       --touch-workers-reload
              trigger reload of (only) workers if the specified file is modified/touched

       --touch-chain-reload
              trigger chain reload if the specified file is modified/touched

       --touch-logrotate
              trigger logrotation if the specified file is modified/touched

       --touch-logreopen
              trigger log reopen if the specified file is modified/touched

       --touch-exec
              run command when the specified file is modified/touched (syntax: file command)

       --touch-signal
              signal when the specified file is modified/touched (syntax: file signal)

       --fs-reload
              graceful reload when the specified filesystem object is modified

       --fs-brutal-reload
              brutal reload when the specified filesystem object is modified

       --fs-signal
              raise a uwsgi signal when the specified filesystem object is modified (syntax: file
              signal)

       --check-mountpoint
              destroy the instance if a filesystem is no more reachable (useful for reliable Fuse
              management)

       --mountpoint-check
              destroy the instance if a filesystem is no more reachable (useful for reliable Fuse
              management)

       --check-mount
              destroy the instance if a filesystem is no more reachable (useful for reliable Fuse
              management)

       --mount-check
              destroy the instance if a filesystem is no more reachable (useful for reliable Fuse
              management)

       --propagate-touch
              over-engineering option for system with flaky signal management

       --limit-post
              limit request body

       --no-orphans
              automatically kill workers if master dies (can be dangerous for availability)

       --prio set processes/threads priority

       --cpu-affinity
              set cpu affinity

       --post-buffering
              set size in bytes after which will buffer to disk instead of memory

       --post-buffering-bufsize
              set buffer size for read() in post buffering mode

       --body-read-warning
              set the amount of allowed memory allocation (in megabytes) for request body  before
              starting printing a warning

       --upload-progress
              enable creation of .json files in the specified directory during a file upload

       --no-default-app
              do not fallback to default app

       --manage-script-name
              automatically rewrite SCRIPT_NAME and PATH_INFO

       --ignore-script-name
              ignore SCRIPT_NAME

       --catch-exceptions
              report exception as http output (discouraged, use only for testing)

       --reload-on-exception
              reload a worker when an exception is raised

       --reload-on-exception-type
              reload a worker when a specific exception type is raised

       --reload-on-exception-value
              reload a worker when a specific exception value is raised

       --reload-on-exception-repr
              reload a worker when a specific exception type+value (language-specific) is raised

       --exception-handler
              add an exception handler

       --enable-metrics
              enable metrics subsystem

       --metric
              add a custom metric

       --metric-threshold
              add a metric threshold/alarm

       --metric-alarm
              add a metric threshold/alarm

       --alarm-metric
              add a metric threshold/alarm

       --metrics-dir
              export metrics as text files to the specified directory

       --metrics-dir-restore
              restore last value taken from the metrics dir

       --metric-dir
              export metrics as text files to the specified directory

       --metric-dir-restore
              restore last value taken from the metrics dir

       --metrics-no-cores
              disable generation of cores-related metrics

       --udp  run the udp server on the specified address

       --stats
              enable the stats server on the specified address

       --stats-server
              enable the stats server on the specified address

       --stats-http
              prefix stats server json output with http headers

       --stats-minified
              minify statistics json output

       --stats-min
              minify statistics json output

       --stats-push
              push the stats json to the specified destination

       --stats-pusher-default-freq
              set the default frequency of stats pushers

       --stats-pushers-default-freq
              set the default frequency of stats pushers

       --stats-no-cores
              disable generation of cores-related stats

       --stats-no-metrics
              do not include metrics in stats output

       --multicast
              subscribe to specified multicast group

       --multicast-ttl
              set multicast ttl

       --multicast-loop
              set multicast loop (default 1)

       --master-fifo
              enable the master fifo

       --notify-socket
              enable the notification socket

       --subscription-notify-socket
              set the notification socket for subscriptions

       --legion
              became a member of a legion

       --legion-mcast
              became a member of a legion (shortcut for multicast)

       --legion-node
              add a node to a legion

       --legion-freq
              set the frequency of legion packets

       --legion-tolerance
              set the tolerance of legion subsystem

       --legion-death-on-lord-error
              declare  itself  as  a  dead node for the specified amount of seconds if one of the
              lord hooks fails

       --legion-skew-tolerance
              set the clock skew tolerance of legion subsystem (default 30 seconds)

       --legion-lord
              action to call on Lord election

       --legion-unlord
              action to call on Lord dismiss

       --legion-setup
              action to call on legion setup

       --legion-death
              action to call on legion death (shutdown of the instance)

       --legion-join
              action to call on legion join (first time quorum is reached)

       --legion-node-joined
              action to call on new node joining legion

       --legion-node-left
              action to call node leaving legion

       --legion-quorum
              set the quorum of a legion

       --legion-scroll
              set the scroll of a legion

       --legion-scroll-max-size
              set max size of legion scroll buffer

       --legion-scroll-list-max-size
              set max size of legion scroll list buffer

       --subscriptions-sign-check
              set digest algorithm and certificate directory for secured subscription system

       --subscriptions-sign-check-tolerance
              set the maximum tolerance (in seconds)  of  clock  skew  for  secured  subscription
              system

       --subscriptions-sign-skip-uid
              skip signature check for the specified uid when using unix sockets credentials

       --subscriptions-credentials-check
              add a directory to search for subscriptions key credentials

       --subscriptions-use-credentials
              enable management of SCM_CREDENTIALS in subscriptions UNIX sockets

       --subscription-algo
              set load balancing algorithm for the subscription system

       --subscription-dotsplit
              try to fallback to the next part (dot based) in subscription key

       --subscribe-to
              subscribe to the specified subscription server

       --st   subscribe to the specified subscription server

       --subscribe
              subscribe to the specified subscription server

       --subscribe2
              subscribe to the specified subscription server using advanced keyval syntax

       --subscribe-freq
              send subscription announce at the specified interval

       --subscription-tolerance
              set tolerance for subscription servers

       --unsubscribe-on-graceful-reload
              force unsubscribe request even during graceful reload

       --start-unsubscribed
              configure subscriptions but do not send them (useful with master fifo)

       --subscribe-with-modifier1
              force the specififed modifier1 when subscribing

       --snmp enable the embedded snmp server

       --snmp-community
              set the snmp community string

       --ssl-verbose
              be verbose about SSL errors

       --ssl-sessions-use-cache
              use uWSGI cache for ssl sessions storage

       --ssl-session-use-cache
              use uWSGI cache for ssl sessions storage

       --ssl-sessions-timeout
              set SSL sessions timeout (default: 300 seconds)

       --ssl-session-timeout
              set SSL sessions timeout (default: 300 seconds)

       --sni  add an SNI-governed SSL context

       --sni-dir
              check  for  cert/key/client_ca file in the specified directory and create a sni/ssl
              context on demand

       --sni-dir-ciphers
              set ssl ciphers for sni-dir option

       --ssl-enable3
              enable SSLv3 (insecure)

       --ssl-option
              set a raw ssl option (numeric value)

       --sni-regexp
              add an SNI-governed SSL context (the key is a regexp)

       --ssl-tmp-dir
              store ssl-related temp files in the specified directory

       --check-interval
              set the interval (in seconds) of master checks

       --forkbomb-delay
              sleep for the specified number of seconds when a forkbomb is detected

       --binary-path
              force binary path

       --privileged-binary-patch
              patch the uwsgi binary with a new command (before privileges drop)

       --unprivileged-binary-patch
              patch the uwsgi binary with a new command (after privileges drop)

       --privileged-binary-patch-arg
              patch the uwsgi binary with a new command and arguments (before privileges drop)

       --unprivileged-binary-patch-arg
              patch the uwsgi binary with a new command and arguments (after privileges drop)

       --async
              enable async mode with specified cores

       --max-fd
              set maximum number of file descriptors (requires root privileges)

       --logto
              set logfile/udp address

       --logto2
              log to specified file or udp address after privileges drop

       --log-format
              set advanced format for request logging

       --logformat
              set advanced format for request logging

       --logformat-strftime
              apply strftime to logformat output

       --log-format-strftime
              apply strftime to logformat output

       --logfile-chown
              chown logfiles

       --logfile-chmod
              chmod logfiles

       --log-syslog
              log to syslog

       --log-socket
              send logs to the specified socket

       --req-logger
              set/append a request logger

       --logger-req
              set/append a request logger

       --logger
              set/append a logger

       --logger-list
              list enabled loggers

       --loggers-list
              list enabled loggers

       --threaded-logger
              offload log writing to a thread

       --log-encoder
              add an item in the log encoder chain

       --log-req-encoder
              add an item in the log req encoder chain

       --log-drain
              drain (do not show) log lines matching the specified regexp

       --log-filter
              show only log lines matching the specified regexp

       --log-route
              log to the specified named logger if regexp applied on logline matches

       --log-req-route
              log requests to the specified named logger if regexp applied on logline matches

       --use-abort
              call abort() on segfault/fpe, could be useful for generating a core dump

       --alarm
              create a new alarm, syntax: <alarm> <plugin:args>

       --alarm-cheap
              use main alarm thread rather than create dedicated threads for curl-based alarms

       --alarm-freq
              tune the anti-loop alarm system (default 3 seconds)

       --alarm-fd
              raise the specified alarm when an fd is read for read (by default it reads 1  byte,
              set 8 for eventfd)

       --alarm-segfault
              raise the specified alarm when the segmentation fault handler is executed

       --segfault-alarm
              raise the specified alarm when the segmentation fault handler is executed

       --alarm-backlog
              raise the specified alarm when the socket backlog queue is full

       --backlog-alarm
              raise the specified alarm when the socket backlog queue is full

       --lq-alarm
              raise the specified alarm when the socket backlog queue is full

       --alarm-lq
              raise the specified alarm when the socket backlog queue is full

       --alarm-listen-queue
              raise the specified alarm when the socket backlog queue is full

       --listen-queue-alarm
              raise the specified alarm when the socket backlog queue is full

       --log-alarm
              raise  the  specified  alarm  when a log line matches the specified regexp, syntax:
              <alarm>[,alarm...] <regexp>

       --alarm-log
              raise the specified alarm when a log line matches  the  specified  regexp,  syntax:
              <alarm>[,alarm...] <regexp>

       --not-log-alarm
              skip  the  specified  alarm  when  a log line matches the specified regexp, syntax:
              <alarm>[,alarm...] <regexp>

       --not-alarm-log
              skip the specified alarm when a log line  matches  the  specified  regexp,  syntax:
              <alarm>[,alarm...] <regexp>

       --alarm-list
              list enabled alarms

       --alarms-list
              list enabled alarms

       --alarm-msg-size
              set the max size of an alarm message (default 8192)

       --log-master
              delegate logging to master process

       --log-master-bufsize
              set the buffer size for the master logger. bigger log messages will be truncated

       --log-master-stream
              create the master logpipe as SOCK_STREAM

       --log-master-req-stream
              create the master requests logpipe as SOCK_STREAM

       --log-reopen
              reopen log after reload

       --log-truncate
              truncate log on startup

       --log-maxsize
              set maximum logfile size

       --log-backupname
              set logfile name after rotation

       --logdate
              prefix logs with date or a strftime string

       --log-date
              prefix logs with date or a strftime string

       --log-prefix
              prefix logs with a string

       --log-zero
              log responses without body

       --log-slow
              log requests slower than the specified number of milliseconds

       --log-4xx
              log requests with a 4xx response

       --log-5xx
              log requests with a 5xx response

       --log-big
              log requestes bigger than the specified size

       --log-sendfile
              log sendfile requests

       --log-ioerror
              log requests with io errors

       --log-micros
              report response time in microseconds instead of milliseconds

       --log-x-forwarded-for
              use the ip from X-Forwarded-For header instead of REMOTE_ADDR

       --master-as-root
              leave master process running as root

       --drop-after-init
              run privileges drop after plugin initialization

       --drop-after-apps
              run privileges drop after apps loading

       --force-cwd
              force the initial working directory to the specified value

       --binsh
              override /bin/sh (used by exec hooks, it always fallback to /bin/sh)

       --chdir
              chdir to specified directory before apps loading

       --chdir2
              chdir to specified directory after apps loading

       --lazy set lazy mode (load apps in workers instead of master)

       --lazy-apps
              load apps in each worker instead of the master

       --cheap
              set cheap mode (spawn workers only after the first request)

       --cheaper
              set cheaper mode (adaptive process spawning)

       --cheaper-initial
              set the initial number of processes to spawn in cheaper mode

       --cheaper-algo
              choose to algorithm used for adaptive process spawning

       --cheaper-step
              number of additional processes to spawn at each overload

       --cheaper-overload
              increase workers after specified overload

       --cheaper-algo-list
              list enabled cheapers algorithms

       --cheaper-algos-list
              list enabled cheapers algorithms

       --cheaper-list
              list enabled cheapers algorithms

       --cheaper-rss-limit-soft
              don't  spawn  new  workers  if total resident memory usage of all workers is higher
              than this limit

       --cheaper-rss-limit-hard
              if total workers resident memory usage is higher try to stop workers

       --idle set idle mode (put uWSGI in cheap mode after inactivity)

       --die-on-idle
              shutdown uWSGI when idle

       --mount
              load application under mountpoint

       --worker-mount
              load application under mountpoint in the specified worker or after workers spawn

       --threads
              run each worker in prethreaded mode with the specified number of threads

       --thread-stacksize
              set threads stacksize

       --threads-stacksize
              set threads stacksize

       --thread-stack-size
              set threads stacksize

       --threads-stack-size
              set threads stacksize

       --vhost
              enable virtualhosting mode (based on SERVER_NAME variable)

       --vhost-host
              enable virtualhosting mode (based on HTTP_HOST variable)

       --route
              add a route

       --route-host
              add a route based on Host header

       --route-uri
              add a route based on REQUEST_URI

       --route-qs
              add a route based on QUERY_STRING

       --route-remote-addr
              add a route based on REMOTE_ADDR

       --route-user-agent
              add a route based on HTTP_USER_AGENT

       --route-remote-user
              add a route based on REMOTE_USER

       --route-referer
              add a route based on HTTP_REFERER

       --route-label
              add a routing label (for use with goto)

       --route-if
              add a route based on condition

       --route-if-not
              add a route based on condition (negate version)

       --route-run
              always run the specified route action

       --final-route
              add a final route

       --final-route-status
              add a final route for the specified status

       --final-route-host
              add a final route based on Host header

       --final-route-uri
              add a final route based on REQUEST_URI

       --final-route-qs
              add a final route based on QUERY_STRING

       --final-route-remote-addr
              add a final route based on REMOTE_ADDR

       --final-route-user-agent
              add a final route based on HTTP_USER_AGENT

       --final-route-remote-user
              add a final route based on REMOTE_USER

       --final-route-referer
              add a final route based on HTTP_REFERER

       --final-route-label
              add a final routing label (for use with goto)

       --final-route-if
              add a final route based on condition

       --final-route-if-not
              add a final route based on condition (negate version)

       --final-route-run
              always run the specified final route action

       --error-route
              add an error route

       --error-route-status
              add an error route for the specified status

       --error-route-host
              add an error route based on Host header

       --error-route-uri
              add an error route based on REQUEST_URI

       --error-route-qs
              add an error route based on QUERY_STRING

       --error-route-remote-addr
              add an error route based on REMOTE_ADDR

       --error-route-user-agent
              add an error route based on HTTP_USER_AGENT

       --error-route-remote-user
              add an error route based on REMOTE_USER

       --error-route-referer
              add an error route based on HTTP_REFERER

       --error-route-label
              add an error routing label (for use with goto)

       --error-route-if
              add an error route based on condition

       --error-route-if-not
              add an error route based on condition (negate version)

       --error-route-run
              always run the specified error route action

       --response-route
              add a response route

       --response-route-status
              add a response route for the specified status

       --response-route-host
              add a response route based on Host header

       --response-route-uri
              add a response route based on REQUEST_URI

       --response-route-qs
              add a response route based on QUERY_STRING

       --response-route-remote-addr
              add a response route based on REMOTE_ADDR

       --response-route-user-agent
              add a response route based on HTTP_USER_AGENT

       --response-route-remote-user
              add a response route based on REMOTE_USER

       --response-route-referer
              add a response route based on HTTP_REFERER

       --response-route-label
              add a response routing label (for use with goto)

       --response-route-if
              add a response route based on condition

       --response-route-if-not
              add a response route based on condition (negate version)

       --response-route-run
              always run the specified response route action

       --router-list
              list enabled routers

       --routers-list
              list enabled routers

       --error-page-403
              add an error page (html) for managed 403 response

       --error-page-404
              add an error page (html) for managed 404 response

       --error-page-500
              add an error page (html) for managed 500 response

       --websockets-ping-freq
              set the frequency (in seconds) of websockets automatic ping packets

       --websocket-ping-freq
              set the frequency (in seconds) of websockets automatic ping packets

       --websockets-pong-tolerance
              set the tolerance (in seconds) of websockets ping/pong subsystem

       --websocket-pong-tolerance
              set the tolerance (in seconds) of websockets ping/pong subsystem

       --websockets-max-size
              set the max allowed size of websocket messages (in Kbytes, default 1024)

       --websocket-max-size
              set the max allowed size of websocket messages (in Kbytes, default 1024)

       --chunked-input-limit
              set the max size of a chunked input part (default 1MB, in bytes)

       --chunked-input-timeout
              set default timeout for chunked input

       --clock
              set a clock source

       --clock-list
              list enabled clocks

       --clocks-list
              list enabled clocks

       --add-header
              automatically add HTTP headers to response

       --rem-header
              automatically remove specified HTTP header from the response

       --del-header
              automatically remove specified HTTP header from the response

       --collect-header
              store the specified response header in a request var (syntax: header var)

       --response-header-collect
              store the specified response header in a request var (syntax: header var)

       --pull-header
              store the specified response header in  a  request  var  and  remove  it  from  the
              response (syntax: header var)

       --check-static
              check for static files in the specified directory

       --check-static-docroot
              check for static files in the requested DOCUMENT_ROOT

       --static-check
              check for static files in the specified directory

       --static-map
              map mountpoint to static directory (or file)

       --static-map2
              like static-map but completely appending the requested resource to the docroot

       --static-skip-ext
              skip specified extension from staticfile checks

       --static-index
              search for specified file if a directory is requested

       --static-safe
              skip security checks if the file is under the specified path

       --static-cache-paths
              put resolved paths in the uWSGI cache for the specified amount of seconds

       --static-cache-paths-name
              use the specified cache for static paths

       --mimefile
              set mime types file path (default /etc/mime.types)

       --mime-file
              set mime types file path (default /etc/mime.types)

       --static-expires-type
              set the Expires header based on content type

       --static-expires-type-mtime
              set the Expires header based on content type and file mtime

       --static-expires
              set the Expires header based on filename regexp

       --static-expires-mtime
              set the Expires header based on filename regexp and file mtime

       --static-expires-uri
              set the Expires header based on REQUEST_URI regexp

       --static-expires-uri-mtime
              set the Expires header based on REQUEST_URI regexp and file mtime

       --static-expires-path-info
              set the Expires header based on PATH_INFO regexp

       --static-expires-path-info-mtime
              set the Expires header based on PATH_INFO regexp and file mtime

       --static-gzip
              if  the  supplied  regexp  matches the static file translation it will search for a
              gzip version

       --static-gzip-all
              check for a gzip version of all requested static files

       --static-gzip-dir
              check for a gzip version of all requested static files in the specified dir/prefix

       --static-gzip-prefix
              check for a gzip version of all requested static files in the specified dir/prefix

       --static-gzip-ext
              check for a  gzip  version  of  all  requested  static  files  with  the  specified
              ext/suffix

       --static-gzip-suffix
              check  for  a  gzip  version  of  all  requested  static  files  with the specified
              ext/suffix

       --honour-range
              enable support for the HTTP Range header

       --offload-threads
              set the number of offload threads to spawn (per-worker, default 0)

       --offload-thread
              set the number of offload threads to spawn (per-worker, default 0)

       --file-serve-mode
              set static file serving mode

       --fileserve-mode
              set static file serving mode

       --disable-sendfile
              disable sendfile() and rely on boring read()/write()

       --check-cache
              check for response data in the specified cache (empty for default cache)

       --close-on-exec
              set close-on-exec on connection sockets (could be required for  spawning  processes
              in requests)

       --close-on-exec2
              set  close-on-exec  on  server sockets (could be required for spawning processes in
              requests)

       --mode set uWSGI custom mode

       --env  set environment variable

       --envdir
              load a daemontools compatible envdir

       --early-envdir
              load a daemontools compatible envdir ASAP

       --unenv
              unset environment variable

       --vacuum
              try to remove all of the generated file/sockets

       --file-write
              write the specified content to  the  specified  file  (syntax:  file=value)  before
              privileges drop

       --cgroup
              put the processes in the specified cgroup

       --cgroup-opt
              set value in specified cgroup option

       --cgroup-dir-mode
              set permission for cgroup directory (default is 700)

       --namespace
              run in a new namespace under the specified rootfs

       --namespace-keep-mount
              keep the specified mountpoint in your namespace

       --ns   run in a new namespace under the specified rootfs

       --namespace-net
              add network namespace

       --ns-net
              add network namespace

       --enable-proxy-protocol
              enable PROXY1 protocol support (only for http parsers)

       --reuse-port
              enable REUSE_PORT flag on socket (BSD only)

       --tcp-fast-open
              enable TCP_FASTOPEN flag on TCP sockets with the specified qlen value

       --tcp-fastopen
              enable TCP_FASTOPEN flag on TCP sockets with the specified qlen value

       --tcp-fast-open-client
              use sendto(..., MSG_FASTOPEN, ...) instead of connect() if supported

       --tcp-fastopen-client
              use sendto(..., MSG_FASTOPEN, ...) instead of connect() if supported

       --zerg attach to a zerg server

       --zerg-fallback
              fallback to normal sockets if the zerg server is not available

       --zerg-server
              enable the zerg server on the specified UNIX socket

       --cron add a cron task

       --cron2
              add a cron task (key=val syntax)

       --unique-cron
              add a unique cron task

       --cron-harakiri
              set the maximum time (in seconds) we wait for cron command to complete

       --legion-cron
              add a cron task runnable only when the instance is a lord of the specified legion

       --cron-legion
              add a cron task runnable only when the instance is a lord of the specified legion

       --unique-legion-cron
              add  a  unique cron task runnable only when the instance is a lord of the specified
              legion

       --unique-cron-legion
              add a unique cron task runnable only when the instance is a lord of  the  specified
              legion

       --loop select the uWSGI loop engine

       --loop-list
              list enabled loop engines

       --loops-list
              list enabled loop engines

       --worker-exec
              run the specified command as worker

       --worker-exec2
              run the specified command as worker (after post_fork hook)

       --attach-daemon
              attach  a  command/daemon  to  the  master  process  (the  command has to not go in
              background)

       --attach-control-daemon
              attach a command/daemon to the master  process  (the  command  has  to  not  go  in
              background), when the daemon dies, the master dies too

       --smart-attach-daemon
              attach a command/daemon to the master process managed by a pidfile (the command has
              to daemonize)

       --smart-attach-daemon2
              attach a command/daemon to the master process managed by a pidfile (the command has
              to NOT daemonize)

       --legion-attach-daemon
              same as --attach-daemon but daemon runs only on legion lord node

       --legion-smart-attach-daemon
              same as --smart-attach-daemon but daemon runs only on legion lord node

       --legion-smart-attach-daemon2
              same as --smart-attach-daemon2 but daemon runs only on legion lord node

       --daemons-honour-stdin
              do not change the stdin of external daemons to /dev/null

       --attach-daemon2
              attach-daemon keyval variant (supports smart modes too)

       --plugins
              load uWSGI plugins

       --plugin
              load uWSGI plugins

       --need-plugins
              load uWSGI plugins (exit on error)

       --need-plugin
              load uWSGI plugins (exit on error)

       --plugins-dir
              add a directory to uWSGI plugin search path

       --plugin-dir
              add a directory to uWSGI plugin search path

       --plugins-list
              list enabled plugins

       --plugin-list
              list enabled plugins

       --autoload
              try to automatically load plugins when unknown options are found

       --dlopen
              blindly load a shared library

       --allowed-modifiers
              comma separated list of allowed modifiers

       --remap-modifier
              remap request modifier from one id to another

       --dump-options
              dump the full list of available options

       --show-config
              show the current config reformatted as ini

       --binary-append-data
              return  the  content  of  a resource to stdout for appending to a uwsgi binary (for
              data:// usage)

       --print
              simple print

       --iprint
              simple print (immediate version)

       --exit force exit() of the instance

       --cflags
              report uWSGI CFLAGS (useful for building external plugins)

       --dot-h
              dump the uwsgi.h used for building the core  (useful for building external plugins)

       --config-py
              dump the uwsgiconfig.py used for building the core  (useful for  building  external
              plugins)

       --build-plugin
              build a uWSGI plugin for the current binary

       --version
              print uWSGI version