UWSGI_LUA51(1)

๐Ÿ“ฆ
version 2.0.24 ยท 3 versions
, in ubuntu noble

๐Ÿ’– NAME ๐Ÿ’–

okay so bestie, welcome to uwsgi_lua51 โ€” it's a fast (pure C), self-healing, developer-friendly WSGI server. and yes, that's the whole vibe. ๐Ÿ’… (the manual page for this one is UWSGI_LUA51(1), fyi, in case you were wondering who you're talking to ๐Ÿซถ)


โœจ SYNOPSIS โœจ

uwsgi-core-local [options...]

like, that's it. you run the thing, you feed it options, it does the thing. main character energy fr fr. ๐ŸŒˆ


๐ŸŒธ DESCRIPTION ๐ŸŒธ

so here's the whole buffet of options. every single one, no skips, no skimming โ€” we're going through all of them because that's just who we are. ๐Ÿ’–

๐Ÿฆ‹ sockets & protocols

  • -s, --socket โ€” bind to the specified UNIX/TCP socket using the default protocol
  • -s, --uwsgi-socket โ€” bind to the specified UNIX/TCP socket using the uwsgi protocol
  • --suwsgi-socket โ€” bind to the specified UNIX/TCP socket using the uwsgi protocol over SSL
  • --ssl-socket โ€” bind to the specified UNIX/TCP socket using the uwsgi protocol over SSL
  • --http-socket โ€” bind to the specified UNIX/TCP socket using the HTTP protocol
  • --http-socket-modifier1 โ€” force the specified modifier1 when you're using the HTTP protocol
  • --http-socket-modifier2 โ€” force the specified modifier2 when you're using the HTTP protocol
  • --http11-socket โ€” bind to the specified UNIX/TCP socket using the HTTP 1.1 (Keep-Alive) protocol
  • --https-socket โ€” bind to the specified UNIX/TCP socket using the HTTPS protocol
  • --https-socket-modifier1 โ€” force the specified modifier1 when you're using the HTTPS protocol
  • --https-socket-modifier2 โ€” force the specified modifier2 when you're using the HTTPS protocol
  • --fastcgi-socket โ€” bind to the specified UNIX/TCP socket using the FastCGI protocol
  • --fastcgi-nph-socket โ€” bind to the specified UNIX/TCP socket using the FastCGI protocol (nph mode)
  • --fastcgi-modifier1 โ€” force the specified modifier1 when you're using the FastCGI protocol
  • --fastcgi-modifier2 โ€” force the specified modifier2 when you're using the FastCGI protocol
  • --scgi-socket โ€” bind to the specified UNIX/TCP socket using the SCGI protocol
  • --scgi-nph-socket โ€” bind to the specified UNIX/TCP socket using the SCGI protocol (nph mode)
  • --scgi-modifier1 โ€” force the specified modifier1 when you're using the SCGI protocol
  • --scgi-modifier2 โ€” force the specified modifier2 when you're using the SCGI protocol
  • --raw-socket โ€” bind to the specified UNIX/TCP socket using the RAW protocol
  • --raw-modifier1 โ€” force the specified modifier1 when you're using the RAW protocol
  • --raw-modifier2 โ€” force the specified modifier2 when you're using the RAW protocol
  • --puwsgi-socket โ€” bind to the specified UNIX/TCP socket using the 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)

๐Ÿงš workers, locks & harakiri

  • -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 the harakiri timeout
  • --harakiri-verbose โ€” enable verbose mode for harakiri
  • --harakiri-graceful-timeout โ€” the interval between a graceful harakiri attempt and a sigkill
  • --harakiri-graceful-signal โ€” use this signal instead of sigterm for graceful harakiri attempts
  • --harakiri-queue-threshold โ€” only trigger harakiri if the queue is greater than this threshold
  • --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 the backtrace depth
  • --mule-harakiri โ€” set the harakiri timeout for mule tasks

๐Ÿ“ config loading & the pluggable system

  • -x, --xmlconfig โ€” load config from an xml file
  • -x, --xml โ€” load config from an xml file
  • --config โ€” load configuration using the pluggable system
  • --fallback-config โ€” re-exec uwsgi with the specified config when the exit code is 1
  • --strict โ€” enable strict mode (placeholder cannot be used)
  • --skip-zero โ€” skip the check of file descriptor 0
  • --skip-atexit โ€” skip atexit hooks (ignored by the master)
  • --skip-atexit-teardown โ€” skip atexit teardown (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, syntax: placeholder=name (immediate option)

๐Ÿ’œ option logic (the if/for girlies)

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

๐Ÿ”ฅ allowlists, blocklists & being chill about errors

  • --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()

๐ŸŽ€ templating & includes

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

๐ŸŒˆ daemonizing & instance wrangling

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

โญ sizing, buffers & profiling

  • -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 the internal buffer size
  • -m, --memory-report โ€” enable memory report
  • --profiler โ€” enable the specified profiler

๐Ÿ’… socket vibes & permissions

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

๐Ÿซถ threads, process names & the master

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

๐Ÿ‘‘ the Emperor (yes, capital E, it earned it)

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

and that's part 1, bestie โ€” there's more coming so don't go anywhere ๐Ÿ’œ

  • --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-graceful-shutdown โ€” use vassals graceful shutdown during ragnarok ๐ŸŒ…
  • --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) โฑ๏ธ
  • --max-worker-lifetime-delta โ€” add (worker_id * delta) seconds to the max_worker_lifetime value of each worker โž•
  • -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) ๐Ÿ“
  • --safe-pidfile โ€” create safe pidfile (before privileges drop) ๐Ÿ›ก๏ธ๐Ÿ“
  • --safe-pidfile2 โ€” create safe 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 โ€” okay so this one does another fork() after privileges drop. It's giving jailing systems main character energy. โœจ
  • --re-fork โ€” literally same vibe as --refork: fork() again after privileges drop. Jailing systems, this is for you. ๐Ÿซถ
  • --refork-as-root โ€” fork() again before privileges drop. Perfect for jailing systems. ๐Ÿ’…
  • --re-fork-as-root โ€” same as --refork-as-root: fork() again before privileges drop. Jailing systems stay winning. ๐Ÿ‘‘
  • --refork-post-jail โ€” fork() again after jailing. Useful for jailing systems. ๐ŸŽ€
  • --re-fork-post-jail โ€” same energy as --refork-post-jail: fork() again after jailing. Jailing systems lowkey love this. ๐ŸŒธ
  • --hook-asap โ€” run the specified hook as soon as possible. No waiting, bestie. โšก
  • --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 enters 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 enters 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 sends a stop message. ๐Ÿ›‘
  • --hook-emperor-reload โ€” run the specified hook when the Emperor sends 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. Same vibe, different flag name. ๐Ÿ“ž
  • --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. Same as --wait-for-interface. ๐Ÿ“ถ
  • --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. ๐Ÿ“ฅ
  • --shutdown-sockets โ€” force calling shutdown() in addition to close() when sockets are destroyed. ๐Ÿ’ฅ
  • --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-mules-reload โ€” reload mules if the specified file is modified/touched. ๐Ÿ‘†
  • --touch-spoolers-reload โ€” reload spoolers 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 filesystem object you specified gets modified. โœจ
  • --fs-brutal-reload โ€” brutal reload when that specified filesystem object changes. ๐Ÿ’…
  • --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 โ€” literally the same vibe as --check-mountpoint: destroy the instance if a filesystem is no more reachable (useful for reliable Fuse management). ๐Ÿฆ‹
  • --check-mount โ€” again, same energy: destroy the instance if a filesystem is no more reachable (useful for reliable Fuse management). ๐Ÿ’€
  • --mount-check โ€” yes bestie, another alias: 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-verify-depth โ€” set maximum certificate verification depth. ๐Ÿ“œ
  • --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-enable-sslv3 โ€” enable SSLv3 (insecure). โš ๏ธ
  • --ssl-enable-tlsv1 โ€” enable TLSv1 (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 โ€” tunes the anti-loop alarm system. default is 3 seconds bestie, don't touch it unless you know what you're doing โœจ
  • --alarm-fd โ€” raises the specified alarm when an fd is read for read. by default it reads 1 byte, so set it to 8 for eventfd ๐Ÿ’…
  • --alarm-segfault โ€” raises the specified alarm whenever the segmentation fault handler gets executed ๐Ÿ˜ญ
  • --segfault-alarm โ€” same exact vibe as --alarm-segfault, raises the specified alarm when the segfault handler runs ๐Ÿ’€
  • --alarm-backlog โ€” raises the specified alarm when the socket backlog queue is full ๐Ÿšจ
  • --backlog-alarm โ€” yeah it's the same thing again, raise the specified alarm when the socket backlog queue fills up ๐Ÿ”ฅ
  • --lq-alarm โ€” raise the specified alarm when the socket backlog queue is full (listen queue edition, iykyk) ๐Ÿ‘‘
  • --alarm-lq โ€” raise the specified alarm when the socket backlog queue is full, same energy, different spelling ๐Ÿฆ‹
  • --alarm-listen-queue โ€” raise the specified alarm when the socket backlog queue is full, longest name for the same iconic behavior โœจ
  • --listen-queue-alarm โ€” raise the specified alarm when the socket backlog queue is full, yes it's a twin ๐Ÿซถ
  • --log-alarm โ€” raise the specified alarm whenever 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> (same as --log-alarm, just flipped) ๐ŸŒธ
  • --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 โ€” lists all the enabled alarms, so you can see what's poppin' ๐Ÿ‘€
  • --alarms-list โ€” list enabled alarms, plural bestie, same thing ๐ŸŒˆ
  • --alarm-msg-size โ€” sets the max size of an alarm message. default is 8192 ๐ŸŽ€
  • --log-master โ€” delegates the logging over to the master process, main character does the work โœจ
  • --log-master-bufsize โ€” sets the buffer size for the master logger. heads up: bigger log messages will get truncated ๐Ÿ’€
  • --log-master-stream โ€” creates the master logpipe as SOCK_STREAM ๐Ÿ’…
  • --log-master-req-stream โ€” creates the master requests logpipe as SOCK_STREAM, very specific, very slay ๐Ÿ”ฅ
  • --log-reopen โ€” reopens the log after a reload ๐Ÿ”„
  • --log-truncate โ€” truncates the log on startup, fresh start energy ๐Ÿซถ
  • --log-maxsize โ€” sets the maximum logfile size ๐Ÿ“
  • --log-backupname โ€” sets the logfile name to use after rotation ๐ŸŽ€
  • --logdate โ€” prefixes your logs with a date or a strftime string ๐Ÿ—“๏ธ
  • --log-date โ€” prefixes logs with a date or a strftime string, same iconic behavior ๐ŸŒธ
  • --log-prefix โ€” prefixes logs with a string you pick ๐Ÿ’–
  • --log-zero โ€” logs responses that have no body ๐Ÿ‘ป
  • --log-slow โ€” logs requests that are slower than the specified number of milliseconds ๐ŸŒ
  • --log-4xx โ€” logs requests that come back with a 4xx response ๐Ÿšซ
  • --log-5xx โ€” logs requests that come back with a 5xx response ๐Ÿ’€
  • --log-big โ€” logs requests bigger than the specified size, big back energy ๐Ÿ˜ญ
  • --log-sendfile โ€” logs the sendfile requests ๐Ÿ“ฆ
  • --log-ioerror โ€” logs requests that hit io errors ๐Ÿ˜ต
  • --log-micros โ€” reports response time in microseconds instead of milliseconds, precision queen โฑ๏ธ
  • --log-x-forwarded-for โ€” uses the ip from the X-Forwarded-For header instead of REMOTE_ADDR ๐ŸŒ
  • --master-as-root โ€” leaves the master process running as root ๐Ÿ‘‘ (careful with that one bestie)
  • --drop-after-init โ€” runs the privileges drop after plugin initialization. heads up, this is superseded by drop-after-apps ๐Ÿ’…
  • --drop-after-apps โ€” runs the privileges drop after apps loading. superseded by master-as-root โœจ
  • --force-cwd โ€” forces the initial working directory to the value you specify ๐Ÿ“
  • --binsh โ€” overrides /bin/sh. used by exec hooks, and it always falls back to /bin/sh no matter what ๐Ÿซถ
  • --chdir โ€” chdirs to the specified directory before apps loading ๐Ÿšช
  • --chdir2 โ€” chdirs to the specified directory after apps loading, sequencing matters bestie ๐Ÿ’…
  • --lazy โ€” sets lazy mode, which loads apps in the workers instead of the master ๐Ÿ˜ด
  • --lazy-apps โ€” loads apps in each worker instead of the master, same lazy vibe different name ๐ŸŒธ
  • --cheap โ€” sets cheap mode: workers only spawn after the very first request ๐Ÿ’ธ
  • --cheaper โ€” sets cheaper mode, aka adaptive process spawning โœจ
  • --cheaper-initial โ€” sets the initial number of processes to spawn in cheaper mode ๐ŸŽ€
  • --cheaper-algo โ€” chooses the algorithm used for adaptive process spawning ๐Ÿง 
  • --cheaper-step โ€” the number of additional processes to spawn at each overload ๐Ÿ“ˆ
  • --cheaper-overload โ€” increases workers after the specified overload ๐Ÿ”ฅ
  • --cheaper-algo-list โ€” lists the enabled cheapers algorithms ๐Ÿ‘€
  • --cheaper-algos-list โ€” list enabled cheapers algorithms, plural version, still iconic ๐ŸŒˆ
  • --cheaper-list โ€” list enabled cheapers algorithms, yes another one ๐Ÿ’œ
  • --cheaper-rss-limit-soft โ€” won't spawn new workers if the total resident memory usage of all workers goes higher than this limit ๐ŸงŠ
  • --cheaper-rss-limit-hard โ€” if the total workers resident memory usage is higher, it tries to stop workers ๐Ÿ’€
  • --idle โ€” sets idle mode, which puts uWSGI into cheap mode after inactivity ๐Ÿ˜ด
  • --die-on-idle โ€” shuts down uWSGI when it's idle, dramatic but valid ๐Ÿ’…
  • --mount โ€” loads the application under the mountpoint ๐Ÿ“Œ
  • --worker-mount โ€” loads the application under the mountpoint in the specified worker, or after workers spawn ๐Ÿ› ๏ธ
  • --threads โ€” runs each worker in prethreaded mode with the specified number of threads ๐Ÿงต
  • --thread-stacksize โ€” sets the threads stacksize ๐Ÿ“š
  • --threads-stacksize โ€” sets the threads stacksize, same thing bestie โœจ
  • --thread-stack-size โ€” sets the threads stacksize, third twin in the lineup ๐ŸŒธ
  • --threads-stack-size โ€” sets the threads stacksize, fourth and final twin ๐Ÿ’–
  • --vhost โ€” enables virtualhosting mode, based on the SERVER_NAME variable ๐ŸŒ
  • --vhost-host โ€” enables virtualhosting mode, based on the HTTP_HOST variable ๐Ÿ 
  • --route โ€” adds a route ๐Ÿ›ฃ๏ธ
  • --route-host โ€” adds a route based on the Host header ๐Ÿ‘‘
  • --route-uri โ€” adds a route based on REQUEST_URI ๐Ÿ”—
  • --route-qs โ€” adds a route based on QUERY_STRING โ“
  • --route-remote-addr โ€” adds a route based on REMOTE_ADDR ๐Ÿ“
  • --route-user-agent โ€” adds a route based on HTTP_USER_AGENT ๐Ÿ•ต๏ธ
  • --route-remote-user โ€” adds a route based on REMOTE_USER ๐Ÿ™‹
  • --route-referer โ€” adds a route based on HTTP_REFERER ๐Ÿ”™
  • --route-label โ€” adds a routing label, for use with goto ๐Ÿท๏ธ
  • --route-if โ€” adds a route based on a condition ๐Ÿงฉ
  • --route-if-not โ€” adds a route based on a condition, the negate version ๐Ÿ™ƒ
  • --route-run โ€” always runs the specified route action, no conditions, it just goes ๐Ÿƒ
  • --final-route โ€” adds a final route ๐Ÿ
  • --final-route-status โ€” adds a final route for the specified status ๐Ÿ”ข
  • --final-route-host โ€” adds a final route based on the Host header ๐Ÿ‘‘
  • --final-route-uri โ€” adds a final route based on REQUEST_URI ๐Ÿ”—
  • --final-route-qs โ€” adds a final route based on QUERY_STRING โ“
  • --final-route-remote-addr โ€” adds a final route based on REMOTE_ADDR ๐Ÿ“
  • --final-route-user-agent โ€” adds a final route based on HTTP_USER_AGENT ๐Ÿ•ต๏ธ
  • --final-route-remote-user โ€” adds a final route based on REMOTE_USER ๐Ÿ™‹
  • --final-route-referer โ€” adds a final route based on HTTP_REFERER ๐Ÿ”™
  • --final-route-label โ€” adds a final routing label, for use with goto ๐Ÿท๏ธ
  • --final-route-if โ€” adds a final route based on a condition ๐Ÿงฉ
  • --final-route-if-not โ€” adds a final route based on a condition, the negate version ๐Ÿ™ƒ
  • --final-route-run โ€” always runs the specified final route action ๐Ÿƒ
  • --error-route โ€” adds an error route ๐Ÿšจ
  • --error-route-status โ€” adds an error route for the specified status ๐Ÿ”ข
  • --error-route-host โ€” adds an error route based on the Host header ๐Ÿ‘‘
  • --error-route-uri โ€” adds an error route based on REQUEST_URI ๐Ÿ”—
  • --error-route-qs โ€” adds an error route based on QUERY_STRING โ“
  • --error-route-remote-addr โ€” adds an error route based on REMOTE_ADDR ๐Ÿ“
  • --error-route-user-agent โ€” adds an error route based on HTTP_USER_AGENT ๐Ÿ•ต๏ธ
  • --error-route-remote-user โ€” adds an error route based on REMOTE_USER ๐Ÿ™‹
  • --error-route-referer โ€” adds an error route based on HTTP_REFERER ๐Ÿ”™
  • --error-route-label โ€” adds an error routing label, for use with goto ๐Ÿท๏ธ
  • --error-route-if โ€” adds an error route based on a condition ๐Ÿงฉ
  • --error-route-if-not โ€” adds an error route based on a condition, the negate version ๐Ÿ™ƒ
  • --error-route-run โ€” always runs the specified error route action ๐Ÿƒ
  • --response-route โ€” adds a response route ๐Ÿ“ฌ
  • --response-route-status โ€” adds a response route for the specified status ๐Ÿ”ข
  • --response-route-host โ€” adds a response route based on the Host header ๐Ÿ‘‘
  • --response-route-uri โ€” adds a response route based on REQUEST_URI ๐Ÿ”—
  • --response-route-qs โ€” adds a response route based on QUERY_STRING โ“
  • --response-route-remote-addr โ€” adds a response route based on REMOTE_ADDR ๐Ÿ“
  • --response-route-user-agent โ€” adds a response route based on HTTP_USER_AGENT ๐Ÿ•ต๏ธ
  • --response-route-remote-user โ€” adds a response route based on REMOTE_USER ๐Ÿ™‹
  • --response-route-referer โ€” adds a response route based on HTTP_REFERER ๐Ÿ”™
  • --response-route-label โ€” adds a response routing label, for use with goto ๐Ÿท๏ธ
  • --response-route-if โ€” adds a response route based on a condition ๐Ÿงฉ
  • --response-route-if-not โ€” adds a response route based on a condition, the negate version ๐Ÿ™ƒ
  • --response-route-run โ€” always runs the specified response route action ๐Ÿƒ
  • --router-list โ€” lists the enabled routers ๐Ÿ‘€
  • --routers-list โ€” list enabled routers, plural, still slay ๐ŸŒˆ
  • --error-page-403 โ€” adds an error page (html) for the managed 403 response ๐Ÿšซ
  • --error-page-404 โ€” adds an error page (html) for the managed 404 response ๐Ÿ”
  • --error-page-500 โ€” adds an error page (html) for the managed 500 response ๐Ÿ’ฅ
  • --websockets-ping-freq โ€” sets the frequency (in seconds) of the websockets automatic ping packets ๐Ÿ“
  • --websocket-ping-freq โ€” sets the frequency (in seconds) of websockets automatic ping packets, same thing โœจ
  • --websockets-pong-tolerance โ€” sets the tolerance (in seconds) of the websockets ping/pong subsystem ๐ŸŽพ
  • --websocket-pong-tolerance โ€” sets the tolerance (in seconds) of the websockets ping/pong subsystem, identical twin ๐Ÿ’–
  • --websockets-max-size โ€” sets the max allowed size of websocket messages, in Kbytes, default 1024 ๐Ÿ“
  • --websocket-max-size โ€” sets the max allowed size of websocket messages, in Kbytes, default 1024, yes same one ๐ŸŒธ
  • --chunked-input-limit โ€” sets the max size of a chunked input part, default 1MB, in bytes ๐Ÿงฑ
  • --chunked-input-timeout โ€” sets the default timeout for chunked input โณ
  • --clock โ€” sets a clock source โฐ
  • --clock-list โ€” lists the enabled clocks ๐Ÿ‘€
  • --clocks-list โ€” list enabled clocks, plural edition ๐ŸŒˆ
  • --add-header โ€” automatically adds HTTP headers to the response ๐Ÿ’Œ
  • --rem-header โ€” auto-yeets the HTTP header you name right out of the response ๐Ÿ’…
  • --del-header โ€” same energy as above: it automatically removes the specified HTTP header from the response
  • --collect-header โ€” stashes the specified response header into a request var (syntax: header var) ๐ŸŽ€
  • --response-header-collect โ€” yep, also stashes the specified response header into a request var (syntax: header var)
  • --pull-header โ€” grabs the specified response header, saves it in a request var, AND deletes it from the response (syntax: header var) โ€” two-for-one, iconic
  • --check-static โ€” peeks for static files in the directory you specify ๐Ÿ“‚
  • --check-static-docroot โ€” peeks for static files in the requested DOCUMENT_ROOT
  • --static-check โ€” again: checks for static files in the specified directory
  • --static-map โ€” maps a mountpoint to a static directory (or file)
  • --static-map2 โ€” like --static-map, except it fully appends the requested resource onto the docroot
  • --static-skip-ext โ€” skips the extension you name when doing staticfile checks
  • --static-index โ€” if a directory gets requested, it searches for the file you specified ๐ŸŒธ
  • --static-safe โ€” skips security checks when the file lives under the path you give it
  • --static-cache-paths โ€” drops resolved paths into the uWSGI cache for however many seconds you say
  • --static-cache-paths-name โ€” uses the cache you name for those static paths
  • --mimefile โ€” sets the mime types file path (default /etc/mime.types)
  • --mime-file โ€” sets the mime types file path (default /etc/mime.types) โ€” twin, not a sequel
  • --static-expires-type โ€” sets the Expires header based on content type
  • --static-expires-type-mtime โ€” sets the Expires header based on content type and file mtime
  • --static-expires โ€” sets the Expires header based on a filename regexp
  • --static-expires-mtime โ€” sets the Expires header based on filename regexp and file mtime
  • --static-expires-uri โ€” sets the Expires header based on a REQUEST_URI regexp
  • --static-expires-uri-mtime โ€” sets the Expires header based on REQUEST_URI regexp and file mtime
  • --static-expires-path-info โ€” sets the Expires header based on a PATH_INFO regexp
  • --static-expires-path-info-mtime โ€” sets the Expires header based on PATH_INFO regexp and file mtime

  • --static-gzip โ€” if your regexp matches the static file translation, it goes looking for a gzip version ๐Ÿ—œ๏ธ
  • --static-gzip-all โ€” checks for a gzip version of literally every requested static file
  • --static-gzip-dir โ€” checks for a gzip version of all requested static files inside the dir/prefix you name
  • --static-gzip-prefix โ€” same thing: gzip version of all requested static files in the specified dir/prefix
  • --static-gzip-ext โ€” checks for a gzip version of all requested static files with the ext/suffix you specify
  • --static-gzip-suffix โ€” same deal, specified ext/suffix ๐Ÿฆ‹
  • --honour-range โ€” turns on support for the HTTP Range header
  • --offload-threads โ€” sets how many offload threads to spawn (per-worker, default 0)
  • --offload-thread โ€” sets how many offload threads to spawn (per-worker, default 0)
  • --file-serve-mode โ€” sets the static file serving mode
  • --fileserve-mode โ€” sets the static file serving mode (same vibe, different spelling)
  • --disable-sendfile โ€” disables sendfile() and relies on boring old read()/write() ๐Ÿ˜ด
  • --check-cache โ€” checks for response data in the cache you name (leave it empty for the default cache)
  • --close-on-exec โ€” sets close-on-exec on connection sockets (could be required for spawning processes in requests)
  • --close-on-exec2 โ€” sets close-on-exec on server sockets (could be required for spawning processes in requests)
  • --mode โ€” sets a uWSGI custom mode
  • --env โ€” sets an environment variable
  • --envdir โ€” loads a daemontools compatible envdir
  • --early-envdir โ€” loads a daemontools compatible envdir ASAP โšก
  • --unenv โ€” unsets an environment variable
  • --vacuum โ€” tries to remove every generated file/socket it made ๐Ÿงน
  • --file-write โ€” writes the content you specify into the file you specify (syntax: file=value) before privileges drop
  • --cgroup โ€” puts the processes into the cgroup you name
  • --cgroup-opt โ€” sets a value in the specified cgroup option
  • --cgroup-dir-mode โ€” sets permission for the cgroup directory (default is 700)
  • --namespace โ€” runs in a new namespace under the rootfs you specify
  • --namespace-keep-mount โ€” keeps the mountpoint you name inside your namespace
  • --ns โ€” runs in a new namespace under the specified rootfs
  • --namespace-net โ€” adds a network namespace
  • --ns-net โ€” adds a network namespace
  • --enable-proxy-protocol โ€” enables PROXY1 protocol support (only for http parsers)
  • --reuse-port โ€” enables the REUSE_PORT flag on the socket (BSD only)
  • --tcp-fast-open โ€” enables the TCP_FASTOPEN flag on TCP sockets with the qlen value you give
  • --tcp-fastopen โ€” enables the TCP_FASTOPEN flag on TCP sockets with the specified qlen value
  • --tcp-fast-open-client โ€” uses sendto(..., MSG_FASTOPEN, ...) instead of connect() when it's supported
  • --tcp-fastopen-client โ€” uses sendto(..., MSG_FASTOPEN, ...) instead of connect() when supported
  • --zerg โ€” attaches to a zerg server ๐Ÿ‘พ
  • --zerg-fallback โ€” falls back to normal sockets if the zerg server isn't around
  • --zerg-server โ€” enables the zerg server on the UNIX socket you specify

  • --cron โ€” adds a cron task โฐ
  • --cron2 โ€” adds a cron task (key=val syntax)
  • --unique-cron โ€” adds a unique cron task
  • --cron-harakiri โ€” sets the max time (in seconds) we wait for a cron command to finish
  • --legion-cron โ€” adds a cron task that only runs when the instance is a lord of the legion you specify
  • --cron-legion โ€” adds a cron task runnable only when the instance is a lord of the specified legion
  • --unique-legion-cron โ€” adds a unique cron task runnable only when the instance is a lord of the specified legion
  • --unique-cron-legion โ€” adds a unique cron task runnable only when the instance is a lord of the specified legion
  • --loop โ€” selects the uWSGI loop engine
  • --loop-list โ€” lists the enabled loop engines
  • --loops-list โ€” lists the enabled loop engines
  • --worker-exec โ€” runs the command you specify as a worker
  • --worker-exec2 โ€” runs the specified command as a worker (after the post_fork hook)
  • --attach-daemon โ€” attaches a command/daemon to the master process (the command must not go in background)
  • --attach-control-daemon โ€” attaches a command/daemon to the master process (the command must not go in background), and when that daemon dies, the master dies too ๐Ÿ’€
  • --smart-attach-daemon โ€” attaches a command/daemon to the master process managed by a pidfile (the command has to daemonize)
  • --smart-attach-daemon2 โ€” attaches a command/daemon to the master process managed by a pidfile (the command has to NOT daemonize)
  • --legion-attach-daemon โ€” same as --attach-daemon, except the daemon only runs on a legion lord node
  • --legion-smart-attach-daemon โ€” same as --smart-attach-daemon, except the daemon only runs on a legion lord node
  • --legion-smart-attach-daemon2 โ€” same as --smart-attach-daemon2, except the daemon only runs on a legion lord node
  • --daemons-honour-stdin โ€” does not swap the stdin of external daemons over to /dev/null
  • --attach-daemon2 โ€” the attach-daemon keyval variant (supports smart modes too)
  • --plugins โ€” loads uWSGI plugins ๐Ÿ”Œ
  • --plugin โ€” loads uWSGI plugins
  • --need-plugins โ€” loads uWSGI plugins (and exits on error)
  • --need-plugin โ€” loads uWSGI plugins (exit on error)
  • --plugins-dir โ€” adds a directory to the uWSGI plugin search path
  • --plugin-dir โ€” adds a directory to the uWSGI plugin search path
  • --plugins-list โ€” lists the enabled plugins
  • --plugin-list โ€” lists the enabled plugins
  • --autoload โ€” tries to automatically load plugins whenever unknown options show up
  • --dlopen โ€” blindly loads a shared library ๐Ÿ™ˆ
  • --allowed-modifiers โ€” comma separated list of allowed modifiers
  • --remap-modifier โ€” remaps a request modifier from one id to another
  • --dump-options โ€” dumps the full list of available options
  • --show-config โ€” shows the current config reformatted as ini
  • --binary-append-data โ€” returns the content of a resource to stdout so you can append it to a uwsgi binary (for data:// usage)
  • --print โ€” simple print
  • --iprint โ€” simple print (immediate version)
  • --exit โ€” forces exit() of the instance
  • --cflags โ€” reports uWSGI CFLAGS (useful for building external plugins)
  • --dot-h โ€” dumps the uwsgi.h used for building the core (useful for building external plugins)
  • --config-py โ€” dumps the uwsgiconfig.py used for building the core (useful for building external plugins)
  • --build-plugin โ€” builds a uWSGI plugin for the current binary
  • --version โ€” prints the uWSGI version
  • --response-headers-limit โ€” sets the response header maximum size (default: 64k)
  • --lua โ€” loads a lua wsapi app ๐Ÿงš
  • --lua-load โ€” loads a lua file
  • --lua-shell โ€” runs the lua interactive shell (debug.debug())
  • --luashell โ€” runs the lua interactive shell (debug.debug())
  • --lua-gc-freq โ€” sets the lua gc frequency (default: 0, runs after every request)

And that's a wrap on this whole thing bestie, no cap ๐Ÿซถ this page comes from uwsgi_lua51, version 2.0.24-debian, dated April 2024 โ€” go forth and slay โœจ๐Ÿ‘‘

๐Ÿ“ฆ where this page comes from