UWSGI_JVM(1)

๐Ÿ“ฆ
version 2.0.31+3+0.0.7 ยท 3 versions
, in ubuntu resolute, ubuntu stonking

๐Ÿ’– UWSGI_JVM(1) โ€” User Commands ๐Ÿ’–

okay bestie, welcome to UWSGI_JVM(1) โ€” aka uwsgi_jvm(1) โ€” from User Commands. this is the manual page we're about to go through like it's a group chat recap. no cap, nothing skipped. ๐Ÿซถ


โœจ NAME โœจ

uwsgi_jvm โ€” fast (pure C), self-healing, developer-friendly WSGI server. it's giving iconic server behavior, fr fr. ๐Ÿ’…

๐ŸŒธ SYNOPSIS ๐ŸŒธ

uwsgi-core [options...]

๐Ÿ’… DESCRIPTION ๐Ÿ’…

okay so here's the whole option buffet. every flag, every vibe, every "bestie what does this do" answered. let's get into it. โœจ

  • -s, --socket โ€” bind to the specified UNIX/TCP socket using default protocol. this is your main "where do I listen" moment. ๐Ÿ’–
  • -s, --uwsgi-socket โ€” bind to the specified UNIX/TCP socket using uwsgi protocol. keep the protocol as uwsgi, bestie. ๐Ÿฆ‹
  • --suwsgi-socket โ€” bind to the specified UNIX/TCP socket using uwsgi protocol over SSL. secure vibes only. ๐Ÿ”’
  • --ssl-socket โ€” bind to the specified UNIX/TCP socket using uwsgi protocol over SSL. same SSL energy, different flag name. โœจ
  • --http-socket โ€” bind to the specified UNIX/TCP socket using HTTP protocol. yes, plain HTTP, no cap. ๐ŸŒ
  • --http-socket-modifier1 โ€” force the specified modifier1 when using HTTP protocol. ๐Ÿ’…
  • --http-socket-modifier2 โ€” force the specified modifier2 when using HTTP protocol. ๐Ÿ’…
  • --http11-socket โ€” bind to the specified UNIX/TCP socket using HTTP 1.1 (Keep-Alive) protocol. keep-alive, keep thriving. ๐Ÿ”ฅ
  • --https-socket โ€” bind to the specified UNIX/TCP socket using HTTPS protocol. secure and slaying. ๐Ÿ”
  • --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. old school but still cute. ๐ŸŽ€
  • --fastcgi-nph-socket โ€” bind to the specified UNIX/TCP socket using FastCGI protocol (nph mode). note the (nph mode), bestie. ๐Ÿ“
  • --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 said hello. ๐Ÿ‘‹
  • --scgi-nph-socket โ€” bind to the specified UNIX/TCP socket using SCGI protocol (nph mode). again, (nph mode) is the moment. ๐ŸŒธ
  • --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 and unfiltered, iykyk. ๐Ÿ’€
  • --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). persistent queen behavior. ๐Ÿ‘‘
  • --protocol โ€” force the specified protocol for default sockets. default sockets, specified protocol. periodt. ๐Ÿ’–
  • --socket-protocol โ€” force the specified protocol for default sockets. same tea as above, different flag. ๐Ÿ“
  • --shared-socket โ€” create a shared socket for advanced jailing or ipc. advanced jailing/ipc besties, this one's for you. ๐Ÿงš
  • --undeferred-shared-socket โ€” create a shared socket for advanced jailing or ipc (undeferred mode). yes, (undeferred mode) is part of the vibe. โœจ
  • -p, --processes โ€” spawn the specified number of workers/processes. more processes, more main character energy. ๐Ÿ’…
  • -p, --workers โ€” spawn the specified number of workers/processes. same as above, just under the --workers name. ๐Ÿซถ
  • --thunder-lock โ€” serialize accept() usage (if possible). thunder lock said "one at a time, bestie." โšก
  • -t, --harakiri โ€” set harakiri timeout. dramatic name, serious timeout. ๐Ÿ—ก๏ธ
  • --harakiri-verbose โ€” enable verbose mode for harakiri. verbose harakiri, because we need the details. ๐Ÿ“ฃ
  • --harakiri-graceful-timeout โ€” interval between graceful harakiri attempt and a sigkill. yes, sigkill is the whole mood. ๐Ÿ’€
  • --harakiri-graceful-signal โ€” use this signal instead of sigterm for graceful harakiri attempts. pick your signal, bestie. ๐Ÿšฆ
  • --harakiri-queue-threshold โ€” only trigger harakiri if queue is greater than this threshold. threshold tea. ๐Ÿต
  • --harakiri-no-arh โ€” do not enable harakiri during after-request-hook. no harakiri in the after-request-hook era. ๐Ÿ™…
  • --no-harakiri-arh โ€” do not enable harakiri during after-request-hook. same rule, different alias. โœจ
  • --no-harakiri-after-req-hook โ€” do not enable harakiri during after-request-hook. the long-name version of the same boundary. ๐Ÿ’–
  • --backtrace-depth โ€” set backtrace depth. for when you need the stack trace to spill the tea. ๐Ÿซ–
  • --mule-harakiri โ€” set harakiri timeout for mule tasks. mules get their own harakiri timer, periodt. ๐Ÿด
  • -x, --xmlconfig โ€” load config from xml file. xml config loading, old school cute. ๐Ÿ“„
  • -x, --xml โ€” load config from xml file. same -x energy, shorter flag name. โœจ
  • --config โ€” load configuration using the pluggable system. pluggable system said "load me." ๐Ÿ”Œ
  • --fallback-config โ€” re-exec uwsgi with the specified config when exit code is 1. fallback plan on exit code 1, no cap. ๐Ÿšจ
  • --strict โ€” enable strict mode (placeholder cannot be used). strict mode is strict, bestie. ๐Ÿšซ
  • --skip-zero โ€” skip check of file descriptor 0. fd 0 check skipped. 0๏ธโƒฃ
  • --skip-atexit โ€” skip atexit hooks (ignored by the master). the master ignores this, but the flag exists. ๐Ÿ’…
  • --skip-atexit-teardown โ€” skip atexit teardown (ignored by the master). teardown skip, still ignored by the master. ๐Ÿงน
  • -S, --set โ€” set a placeholder or an option. placeholder or option, you choose. ๐ŸŽ€
  • --set-placeholder โ€” set a placeholder. placeholder getting set, slay. โœจ
  • --set-ph โ€” set a placeholder. short version of placeholder-setting. ๐Ÿ’–
  • --get โ€” print the specified option value and exit. print it and dip. ๐Ÿ–จ๏ธ
  • --declare-option โ€” declare a new uWSGI custom option. custom option, custom vibes. ๐Ÿ› ๏ธ
  • --declare-option2 โ€” declare a new uWSGI custom option (non-immediate). the (non-immediate) part matters. โณ
  • --resolve โ€” place the result of a dns query in the specified placeholder, sytax: placeholder=name (immediate option). yes, sytax is spelled like that in the source, bestie. ๐ŸŒ
  • --for โ€” (opt logic) for cycle. opt logic for-cycle moment. ๐Ÿ”
  • --for-glob โ€” (opt logic) for cycle (expand glob). glob expansion included. โœจ
  • --for-times โ€” (opt logic) for cycle (expand the specified num to a list starting from 1). starts from 1, no cap. 1๏ธโƒฃ
  • --for-readline โ€” (opt logic) for cycle (expand the specified file to a list of lines). file lines become list items. ๐Ÿ“„
  • --endfor โ€” (opt logic) end for cycle. close that for cycle. ๐Ÿ”š
  • --end-for โ€” (opt logic) end for cycle. same ending, hyphenated. โœจ
  • --if-opt โ€” (opt logic) check for option. opt logic if-option check. โ“
  • --if-not-opt โ€” (opt logic) check for option. the "not" version still checks for option. ๐Ÿค”
  • --if-env โ€” (opt logic) check for environment variable. env var check, bestie. ๐ŸŒฑ
  • --if-not-env โ€” (opt logic) check for environment variable. same check, "not" flavor. ๐Ÿ‹
  • --ifenv โ€” (opt logic) check for environment variable. short alias for the env check. โœจ
  • --if-reload โ€” (opt logic) check for reload. reload check incoming. ๐Ÿ”„
  • --if-not-reload โ€” (opt logic) check for reload. reload check, but negated. ๐Ÿšซ
  • --if-hostname โ€” (opt logic) check for hostname. hostname check, periodt. ๐Ÿ–ฅ๏ธ
  • --if-not-hostname โ€” (opt logic) check for hostname. hostname check, negated. ๐Ÿ™…
  • --if-hostname-match โ€” (opt logic) try to match hostname against a regular expression. regex hostname matching, iykyk. ๐Ÿง 
  • --if-not-hostname-match โ€” (opt logic) try to match hostname against a regular expression. same regex, negated. โœจ
  • --if-exists โ€” (opt logic) check for file/directory existence. existence check for file/directory. ๐Ÿ“
  • --if-not-exists โ€” (opt logic) check for file/directory existence. existence check, negated. ๐Ÿšซ
  • --ifexists โ€” (opt logic) check for file/directory existence. short alias for existence checking. โœจ
  • --if-plugin โ€” (opt logic) check for plugin. plugin check, bestie. ๐Ÿ”Œ
  • --if-not-plugin โ€” (opt logic) check for plugin. plugin check, negated. ๐Ÿ™…
  • --ifplugin โ€” (opt logic) check for plugin. short plugin check. ๐Ÿ’…
  • --if-file โ€” (opt logic) check for file existence. file existence check. ๐Ÿ“„
  • --if-not-file โ€” (opt logic) check for file existence. file existence check, negated. ๐Ÿšซ
  • --if-dir โ€” (opt logic) check for directory existence. directory existence check. ๐Ÿ“‚
  • --if-not-dir โ€” (opt logic) check for directory existence. directory existence check, negated. ๐Ÿšซ
  • --ifdir โ€” (opt logic) check for directory existence. short directory check. โœจ
  • --if-directory โ€” (opt logic) check for directory existence. long-form directory check. ๐Ÿ“
  • --endif โ€” (opt logic) end if. close that if block. ๐Ÿ”š
  • --end-if โ€” (opt logic) end if. same ending, hyphenated. โœจ
  • --blacklist โ€” set options blacklist context. blacklist context, set. ๐Ÿ–ค
  • --end-blacklist โ€” clear options blacklist context. blacklist context cleared. ๐Ÿงผ
  • --whitelist โ€” set options whitelist context. whitelist context, set. ๐Ÿค
  • --end-whitelist โ€” clear options whitelist context. whitelist context cleared. โœจ
  • --ignore-sigpipe โ€” do not report (annoying) SIGPIPE. yes, (annoying) is in the original. ๐Ÿšซ
  • --ignore-write-errors โ€” do not report (annoying) write()/writev() errors. ignore those annoying write errors. ๐Ÿ™ˆ
  • --write-errors-tolerance โ€” set the maximum number of allowed write errors (default: no tolerance). default is no tolerance, so don't push it. ๐Ÿ’€
  • --write-errors-exception-only โ€” only raise an exception on write errors giving control to the app itself. app gets the control. ๐ŸŽฎ
  • --disable-write-exception โ€” disable exception generation on write()/writev(). no exception generation on those calls. ๐Ÿšซ
  • --inherit โ€” use the specified file as config template. config template energy. ๐Ÿ“„
  • --include โ€” include the specified file as immediate configuration. immediate configuration included. โšก
  • --inject-before โ€” inject a text file before the config file (advanced templating). before the config file, advanced templating. โœจ
  • --inject-after โ€” inject a text file after the config file (advanced templating). after the config file, advanced templating. โœจ
  • -d, --daemonize โ€” daemonize uWSGI. daemon mode, slay. ๐Ÿ‘ป
  • --daemonize2 โ€” daemonize uWSGI after app loading. daemonize after app loading, no cap. โณ
  • --stop โ€” stop an instance. stop that instance. ๐Ÿ›‘
  • --reload โ€” reload an instance. reload that instance. ๐Ÿ”„
  • --pause โ€” pause an instance. pause it. โธ๏ธ
  • --suspend โ€” suspend an instance. suspend it. โธ๏ธ
  • --resume โ€” resume an instance. resume it. โ–ถ๏ธ
  • --connect-and-read โ€” connect to a socket and wait for data from it. connect, then wait for data. ๐Ÿ“ก
  • --extract โ€” fetch/dump any supported address to stdout. dump supported address to stdout. ๐Ÿ–จ๏ธ
  • -l, --listen โ€” set the socket listen queue size. listen queue size, set. ๐Ÿ‘‚
  • -v, --max-vars โ€” set the amount of internal iovec/vars structures. iovec/vars structures amount. ๐Ÿ“ฆ
  • --max-apps โ€” set the maximum number of per-worker applications. max per-worker apps. ๐Ÿ“ฑ
  • -b, --buffer-size โ€” set internal buffer size. buffer size, bestie. ๐Ÿงบ
  • -m, --memory-report โ€” enable memory report. memory report enabled. ๐Ÿง 
  • --profiler โ€” enable the specified profiler. profiler enabled. ๐Ÿ“Š
  • -c, --cgi-mode โ€” force CGI-mode for plugins supporting it. CGI-mode for the plugins that support it. ๐ŸŽ€
  • -a, --abstract-socket โ€” force UNIX socket in abstract mode (Linux only). Linux only, abstract mode. ๐Ÿง
  • -C, --chmod-socket โ€” chmod-socket. literally chmod-socket. ๐Ÿ’…
  • -C, --chmod โ€” chmod-socket. same -C energy, shorter name. โœจ
  • --chown-socket โ€” chown unix sockets. unix sockets get chowned. ๐Ÿ‘‘
  • --umask โ€” set umask. umask set. ๐ŸŽญ
  • --freebind โ€” put socket in freebind mode. freebind mode, activated. ๐Ÿ•Š๏ธ
  • --map-socket โ€” map sockets to specific workers. map sockets to workers. ๐Ÿ—บ๏ธ
  • -T, --enable-threads โ€” enable threads (stub option this is true by default). stub option, and it's true by default. ๐Ÿงต
  • --no-threads-wait โ€” do not wait for threads cancellation on quit/reload. no waiting for threads cancellation on quit/reload. ๐Ÿšซ
  • --auto-procname โ€” automatically set processes name to something meaningful. auto meaningful process names. ๐Ÿท๏ธ
  • --procname-prefix โ€” add a prefix to the process names. prefix added. โœจ
  • --procname-prefix-spaced โ€” add a spaced prefix to the process names. spaced prefix, because aesthetics. ๐Ÿ’…
  • --procname-append โ€” append a string to process names. append a string. โž•
  • --procname โ€” set process names. set those process names. ๐Ÿ“›
  • --procname-master โ€” set master process name. master process name, set. ๐Ÿ‘‘
  • -i, --single-interpreter โ€” do not use multiple interpreters (where available). single interpreter where available. 1๏ธโƒฃ
  • --need-app โ€” exit if no app can be loaded. no app loaded? exit. ๐Ÿšช
  • -M, --master โ€” enable master process. master process enabled. ๐Ÿ‘‘
  • --honour-stdin โ€” do not remap stdin to /dev/null. keep stdin, do not remap to /dev/null. ๐Ÿซถ
  • --emperor โ€” run the Emperor. run the Emperor. ๐Ÿ‘‘
  • --emperor-proxy-socket โ€” force the vassal to became an Emperor proxy. yes, "became" is what the page says, bestie. ๐Ÿฐ
  • --emperor-wrapper โ€” set a binary wrapper for vassals. binary wrapper for vassals. ๐ŸŽ
  • --emperor-wrapper-override โ€” set a binary wrapper for vassals to try before the default one. try before the default one. ๐Ÿฅ‡
  • --emperor-wrapper-fallback โ€” set a binary wrapper for vassals to try as a last resort. last resort wrapper. ๐Ÿ†˜
  • --emperor-nofollow โ€” do not follow symlinks when checking for mtime. no symlink following for mtime checks. ๐Ÿšซ
  • --emperor-procname โ€” set the Emperor process name. Emperor process name, set. ๐Ÿ‘‘
  • --emperor-freq โ€” set the Emperor scan frequency (default 3 seconds). default is 3 seconds. โฐ
  • --emperor-required-heartbeat โ€” set the Emperor tolerance about heartbeats. heartbeat tolerance. ๐Ÿ’“
  • --emperor-curse-tolerance โ€” set the Emperor tolerance about cursed vassals. cursed vassals tolerance, no cap. ๐Ÿ’€

โœจ OPTIONS โœจ

okay bestie, buckle UP, this is the big one ๐Ÿ’… Emperor stuff first, because the Emperor is literally the main character here ๐Ÿ‘‘

  • --emperor-pidfile โ€” drops the Emperor's pid into the file you name ๐Ÿ“
  • --emperor-tyrant โ€” flips the Emperor into Tyrant mode ๐Ÿ‘‘ (yes it's giving monarchy)
  • --emperor-tyrant-nofollow โ€” in Tyrant mode, don't follow symlinks while it's checking for uid/gid ๐Ÿšซ๐Ÿ”—
  • --emperor-stats โ€” spin up the Emperor stats server ๐Ÿ“Š
  • --emperor-stats-server โ€” same thing, spin up the Emperor stats server ๐Ÿ“Š
  • --early-emperor โ€” spawn the emperor as soon as possible โฉ
  • --emperor-broodlord โ€” run the emperor in BroodLord mode ๐Ÿ‰
  • --emperor-throttle โ€” sets the throttling level, in milliseconds, for vassals that are being bad (default is 1000) ๐Ÿ˜ค
  • --emperor-max-throttle โ€” sets the max throttling level, in milliseconds, for badly behaved vassals (default is 3 minutes) ๐Ÿ”ฅ
  • --emperor-magic-exec โ€” prefixes vassals' config files with exec:// if they've got the executable bit set โœจ
  • --emperor-on-demand-extension โ€” looks for a text file (vassal name + extension) that contains the on demand socket name ๐Ÿ”
  • --emperor-on-demand-ext โ€” same deal, looks for that text file (vassal name + extension) holding the on demand socket name ๐Ÿ”
  • --emperor-on-demand-directory โ€” turns on on demand mode, binding to the unix socket in the directory you specify, named like the vassal + .socket ๐Ÿงฆ
  • --emperor-on-demand-dir โ€” yep, same thing: on demand mode, unix socket in your directory, named like the vassal + .socket ๐Ÿงฆ
  • --emperor-on-demand-exec โ€” uses the output of the command you give as the on demand socket name (the vassal name gets passed as the only argument) ๐Ÿ“œ
  • --emperor-extra-extension โ€” lets the Emperor allow the extension you specify (the vassal gets called with --config) ๐ŸŽ€
  • --emperor-extra-ext โ€” same energy: allows your specified extension in the Emperor (vassal gets called with --config) ๐ŸŽ€
  • --emperor-no-blacklist โ€” turns off the Emperor blacklisting subsystem ๐Ÿ’€๐Ÿšซ
  • --emperor-use-clone โ€” uses clone() instead of fork(), passing the unshare() flags you specify ๐Ÿงฌ
  • --emperor-graceful-shutdown โ€” uses vassals' graceful shutdown during ragnarok ๐ŸŒ‹ (yes, ragnarok, iconic)
  • --emperor-cap โ€” sets vassals capability ๐ŸŽฉ
  • --vassals-cap โ€” sets vassals capability ๐ŸŽฉ
  • --vassal-cap โ€” sets vassals capability ๐ŸŽฉ
  • --imperial-monitor-list โ€” lists the enabled imperial monitors ๐Ÿ‘€
  • --imperial-monitors-list โ€” lists the enabled imperial monitors ๐Ÿ‘€
  • --vassals-inherit โ€” adds config templates to vassals config (it uses --inherit) ๐Ÿงฌ
  • --vassals-include โ€” includes config templates into vassals config (it uses --include instead of --inherit) ๐Ÿ“ฅ
  • --vassals-inherit-before โ€” adds config templates to vassals config (uses --inherit, and parses before the vassal file) ๐Ÿงฌโช
  • --vassals-include-before โ€” includes config templates into vassals config (uses --include instead of --inherit, and parses before the vassal file) ๐Ÿ“ฅโช
  • --vassals-start-hook โ€” runs the command you specify before every vassal starts ๐Ÿ
  • --vassals-stop-hook โ€” runs the command you specify after a vassal's death ๐Ÿชฆ
  • --vassal-sos โ€” asks the emperor for reinforcement when it's overloaded ๐Ÿ†˜
  • --vassal-sos-backlog โ€” asks the emperor for sos if the backlog queue has more items than the value you specified ๐Ÿ“ˆ
  • --vassals-set โ€” automatically sets the option you specify (via --set) for every vassal ๐ŸŽ›๏ธ
  • --vassal-set โ€” automatically sets the option you specify (via --set) for every vassal ๐ŸŽ›๏ธ
  • --heartbeat โ€” announces healthiness to the emperor ๐Ÿ’“
  • --reload-mercy โ€” sets the maximum time, in seconds, that we wait for workers and other processes to die during reload/shutdown โณ
  • --worker-reload-mercy โ€” sets the max time, in seconds, a worker can take to reload/shutdown (default is 60) โณ
  • --mule-reload-mercy โ€” sets the max time, in seconds, a mule can take to reload/shutdown (default is 60) ๐Ÿซโณ
  • --exit-on-reload โ€” forces exit even if a reload is requested ๐Ÿšช
  • --die-on-term โ€” exits instead of doing a brutal reload on SIGTERM ๐Ÿ’€
  • --force-gateway โ€” forces the spawn of the first registered gateway without a master ๐Ÿšชโœจ

and now the lil helpers ๐Ÿซถ

  • -h|--help โ€” shows this help ๐Ÿ™‹
  • -h|--usage โ€” shows this help ๐Ÿ™‹
  • --print-sym โ€” prints the content of the binary symbol you specify ๐Ÿ”Ž
  • --print-symbol โ€” prints the content of the binary symbol you specify ๐Ÿ”Ž
  • -r|--reaper โ€” calls waitpid(-1,...) after each request so the zombies get gone ๐ŸงŸโ™€๏ธ๐Ÿšซ
  • -R|--max-requests โ€” reloads workers after the specified amount of managed requests ๐Ÿ”„
  • --max-requests-delta โ€” adds (worker_id * delta) to the max_requests value of each worker โž•
  • --min-worker-lifetime โ€” the number of seconds a worker must run before it can be reloaded (default is 10) โฑ๏ธ
  • --max-worker-lifetime โ€” reloads workers after the specified amount of seconds (default is disabled) โฑ๏ธ
  • --max-worker-lifetime-delta โ€” adds (worker_id * delta) seconds to the max_worker_lifetime value of each worker โž•
  • -z|--socket-timeout โ€” sets internal sockets timeout ๐Ÿ”Œ
  • --no-fd-passing โ€” disables file descriptor passing ๐Ÿšซ๐Ÿ“
  • --locks โ€” creates the specified number of shared locks ๐Ÿ”’
  • --lock-engine โ€” sets the lock engine โš™๏ธ
  • --ftok โ€” set the ipcsem key via ftok() for avoiding duplicates ๐Ÿ”‘
  • --persistent-ipcsem โ€” does not remove ipcsem's on shutdown ๐Ÿงฒ
  • -A|--sharedarea โ€” creates a raw shared memory area of the specified pages (note: it supports keyval too) ๐Ÿง 
  • --safe-fd โ€” don't close the file descriptor you specify ๐Ÿ›Ÿ
  • --fd-safe โ€” don't close the file descriptor you specify ๐Ÿ›Ÿ
  • --cache โ€” creates a shared cache holding the given elements ๐Ÿ—ƒ๏ธ
  • --cache-blocksize โ€” sets the cache blocksize ๐Ÿงฑ
  • --cache-store โ€” enables persistent cache to disk ๐Ÿ’พ
  • --cache-store-sync โ€” sets the sync frequency for the persistent cache ๐Ÿ”„
  • --cache-no-expire โ€” disables the auto sweep of expired items ๐Ÿงน๐Ÿšซ
  • --cache-expire-freq โ€” sets how often the cache sweeper scans (default 3 seconds) ๐Ÿงน
  • --cache-report-freed-items โ€” constantly reports the cache item freed by the sweeper (use only for debug) ๐Ÿ›
  • --cache-udp-server โ€” binds the cache udp server (used only for set/update/delete) to the socket you specify ๐Ÿ“ก
  • --cache-udp-node โ€” sends cache update/deletion to the cache udp server you specify ๐Ÿ“ค
  • --cache-sync โ€” copies the whole content of another uWSGI cache server at server startup ๐Ÿ“‹
  • --cache-use-last-modified โ€” updates the last_modified_at timestamp on every cache item modification (default is disabled) ๐Ÿ•ฐ๏ธ
  • --add-cache-item โ€” adds an item in the cache โž•
  • --load-file-in-cache โ€” loads a static file into the cache ๐Ÿ“‚
  • --load-file-in-cache-gzip โ€” loads a static file into the cache with gzip compression ๐Ÿ—œ๏ธ
  • --cache2 โ€” creates a new generation shared cache (keyval syntax) ๐Ÿ—ƒ๏ธโœจ
  • --queue โ€” enables the shared queue ๐Ÿ“ฌ
  • --queue-blocksize โ€” sets the queue blocksize ๐Ÿงฑ
  • --queue-store โ€” enables persistent queue to disk ๐Ÿ’พ
  • --queue-store-sync โ€” sets the sync frequency for the persistent queue ๐Ÿ”„
  • -Q|--spooler โ€” runs a spooler on the directory you specify ๐Ÿงต
  • --spooler-external โ€” maps spooler requests to a spooler directory managed by an external instance ๐Ÿ”—
  • --spooler-ordered โ€” tries to order the execution of spooler tasks ๐Ÿ”ข
  • --spooler-chdir โ€” chdir()s to the specified directory before each spooler task ๐Ÿ“
  • --spooler-processes โ€” sets the number of processes for spoolers ๐Ÿ‘ฏ
  • --spooler-quiet โ€” don't be verbose with spooler tasks ๐Ÿคซ
  • --spooler-max-tasks โ€” sets the max number of tasks to run before recycling a spooler โ™ป๏ธ
  • --spooler-harakiri โ€” sets the harakiri timeout for spooler tasks โš”๏ธ
  • --spooler-frequency โ€” sets the spooler frequency ๐Ÿ“ถ
  • --spooler-freq โ€” sets the spooler frequency ๐Ÿ“ถ
  • --mule โ€” add a mule ๐Ÿซ
  • --mules โ€” add the specified number of mules ๐Ÿซ๐Ÿซ๐Ÿซ
  • --farm โ€” add a mule farm ๐Ÿšœ
  • --mule-msg-size โ€” sets the mule message buffer size ๐Ÿ“จ
  • --signal โ€” sends a uwsgi signal to a server ๐Ÿ“ถ
  • --signal-bufsize โ€” sets the buffer size for the signal queue ๐Ÿ“ฆ
  • --signals-bufsize โ€” sets the buffer size for the signal queue ๐Ÿ“ฆ
  • --signal-timer โ€” adds a timer (syntax: <signal> <seconds>) โฒ๏ธ
  • --timer โ€” adds a timer (syntax: <signal> <seconds>) โฒ๏ธ
  • --signal-rbtimer โ€” adds a redblack timer (syntax: <signal> <seconds>) โฒ๏ธ๐ŸŒฒ
  • --rbtimer โ€” adds a redblack timer (syntax: <signal> <seconds>) โฒ๏ธ๐ŸŒฒ
  • --rpc-max โ€” the maximum number of rpc slots (default: 64) ๐ŸŽฐ
  • -L|--disable-logging โ€” disables request logging ๐Ÿค
  • --flock โ€” locks the file you specify before starting, and exits if it's locked ๐Ÿ”’
  • --flock-wait โ€” locks the file you specify before starting, and waits if it's locked โณ๐Ÿ”’
  • --flock2 โ€” locks the file you specify after logging/daemon setup, exits if locked ๐Ÿ”’
  • --flock-wait2 โ€” locks the file you specify after logging/daemon setup, waits if locked โณ๐Ÿ”’
  • --pidfile โ€” creates a pidfile (before the privileges drop) ๐Ÿ“
  • --pidfile2 โ€” creates a pidfile (after the privileges drop) ๐Ÿ“
  • --safe-pidfile โ€” creates a safe pidfile (before the privileges drop) ๐Ÿ›Ÿ๐Ÿ“
  • --safe-pidfile2 โ€” creates a safe pidfile (after the privileges drop) ๐Ÿ›Ÿ๐Ÿ“
  • --chroot โ€” chroot()s to the directory you specify ๐Ÿ“ฆ
  • --pivot-root โ€” pivot_root()s to the directories you specify (new_root and put_old must be separated with a space) ๐Ÿ”„
  • --pivot_root โ€” pivot_root()s to the directories you specify (new_root and put_old must be separated with a space) ๐Ÿ”„
  • --uid โ€” setuid to the user/uid you specify ๐Ÿ†”
  • --gid โ€” setgid to the group/gid you specify ๐Ÿ†”
  • --add-gid โ€” adds the group id you specify to the process credentials โž•๐Ÿ†”
  • --immediate-uid โ€” setuid to the user/uid you specify IMMEDIATELY โšก๐Ÿ†”
  • --immediate-gid โ€” setgid to the group/gid you specify IMMEDIATELY โšก๐Ÿ†”
  • --no-initgroups โ€” disables the additional groups set via initgroups() ๐Ÿšซ๐Ÿ‘ฅ
  • --cap โ€” set process capability ๐ŸŽฉ
  • --unshare โ€” unshare()s part of the processes and puts it in a new namespace ๐ŸŒŒ
  • --unshare2 โ€” unshare()s part of the processes and puts it in a new namespace after the rootfs change ๐ŸŒŒ
  • --setns-socket โ€” exposes a unix socket returning namespace fds from /proc/self/ns ๐Ÿ”Œ
  • --setns-socket-skip โ€” skips the entry you specify when sending setns file descriptors โญ๏ธ
  • --setns-skip โ€” skips the entry you specify when sending setns file descriptors โญ๏ธ
  • --setns โ€” joins a namespace created by an external uWSGI instance ๐ŸŒŒ
  • --setns-preopen โ€” opens /proc/self/ns as soon as possible and caches the fds ๐Ÿ—‚๏ธ

and that's the vibes so far, bestie โ€” more coming, don't go anywhere ๐Ÿฆ‹

  • --jailed โ€” marks the instance as jailed, which forces the execution of post_jail hooks. ๐Ÿ’…
  • --refork โ€” fork() again after privileges drop. Useful for jailing systems. ๐Ÿ”
  • --re-fork โ€” yep, same thing: 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 โ€” runs the specified hook as soon as possible. โšก
  • --hook-pre-jail โ€” runs the specified hook before jailing. ๐Ÿ”’
  • --hook-post-jail โ€” runs the specified hook after jailing. ๐Ÿ”“
  • --hook-in-jail โ€” runs the specified hook in jail after initialization. ๐Ÿข
  • --hook-as-root โ€” runs the specified hook before privileges drop. ๐Ÿ‘‘
  • --hook-as-user โ€” runs the specified hook after privileges drop. ๐Ÿ™‹
  • --hook-as-user-atexit โ€” runs the specified hook before app exit and reload. ๐Ÿšช
  • --hook-pre-app โ€” runs the specified hook before app loading. ๐Ÿ“ฆ
  • --hook-post-app โ€” runs the specified hook after app loading. โœ…
  • --hook-post-fork โ€” runs the specified hook after each fork. ๐Ÿด
  • --hook-accepting โ€” runs the specified hook after each worker enters the accepting phase. ๐Ÿ‘€
  • --hook-accepting1 โ€” runs the specified hook after the first worker enters the accepting phase. ๐Ÿฅ‡
  • --hook-accepting-once โ€” runs the specified hook after each worker enters the accepting phase, but once per-instance. 1๏ธโƒฃ
  • --hook-accepting1-once โ€” runs the specified hook after the first worker enters the accepting phase, once per instance. ๐Ÿฅ‡1๏ธโƒฃ
  • --hook-master-start โ€” runs the specified hook when the Master starts. ๐Ÿ‘‘
  • --hook-touch โ€” runs the specified hook when the specified file is touched. Syntax: <file> <action>. ๐Ÿ‘†
  • --hook-emperor-start โ€” runs the specified hook when the Emperor starts. ๐Ÿ‘‘๐Ÿ‘‘
  • --hook-emperor-stop โ€” runs the specified hook when the Emperor sends a stop message. ๐Ÿ›‘
  • --hook-emperor-reload โ€” runs the specified hook when the Emperor sends a reload message. ๐Ÿ”„
  • --hook-emperor-lost โ€” runs the specified hook when the Emperor connection is lost. ๐Ÿ’”
  • --hook-as-vassal โ€” runs the specified hook before exec()ing the vassal. ๐Ÿง‘๐Ÿค๐Ÿง‘
  • --hook-as-emperor โ€” runs the specified hook in the emperor after the vassal has been started. ๐Ÿ‘‘
  • --hook-as-mule โ€” runs the specified hook in each mule. ๐Ÿด
  • --hook-as-gateway โ€” runs the specified hook in each gateway. ๐Ÿšช
  • --after-request-hook โ€” runs the specified function/symbol after each request. ๐Ÿ”
  • --after-request-call โ€” runs the specified function/symbol after each request. ๐Ÿ”
  • --exec-asap โ€” runs the specified command as soon as possible. โšก
  • --exec-pre-jail โ€” runs the specified command before jailing. ๐Ÿ”’
  • --exec-post-jail โ€” runs the specified command after jailing. ๐Ÿ”“
  • --exec-in-jail โ€” runs the specified command in jail after initialization. ๐Ÿข
  • --exec-as-root โ€” runs the specified command before privileges drop. ๐Ÿ‘‘
  • --exec-as-user โ€” runs the specified command after privileges drop. ๐Ÿ™‹
  • --exec-as-user-atexit โ€” runs the specified command before app exit and reload. ๐Ÿšช
  • --exec-pre-app โ€” runs the specified command before app loading. ๐Ÿ“ฆ
  • --exec-post-app โ€” runs the specified command after app loading. โœ…
  • --exec-as-vassal โ€” runs the specified command before exec()ing the vassal. ๐Ÿง‘๐Ÿค๐Ÿง‘
  • --exec-as-emperor โ€” runs the specified command in the emperor after the vassal has been started. ๐Ÿ‘‘
  • --mount-asap โ€” mounts filesystem as soon as possible. ๐Ÿ“
  • --mount-pre-jail โ€” mounts filesystem before jailing. ๐Ÿ”’
  • --mount-post-jail โ€” mounts filesystem after jailing. ๐Ÿ”“
  • --mount-in-jail โ€” mounts filesystem in jail after initialization. ๐Ÿข
  • --mount-as-root โ€” mounts filesystem before privileges drop. ๐Ÿ‘‘
  • --mount-as-vassal โ€” mounts filesystem before exec()ing the vassal. ๐Ÿง‘๐Ÿค๐Ÿง‘
  • --mount-as-emperor โ€” mounts filesystem in the emperor after the vassal has been started. ๐Ÿ‘‘
  • --umount-asap โ€” unmounts filesystem as soon as possible. ๐Ÿ“‚
  • --umount-pre-jail โ€” unmounts filesystem before jailing. ๐Ÿ”’
  • --umount-post-jail โ€” unmounts filesystem after jailing. ๐Ÿ”“
  • --umount-in-jail โ€” unmounts filesystem in jail after initialization. ๐Ÿข
  • --umount-as-root โ€” unmounts filesystem before privileges drop. ๐Ÿ‘‘
  • --umount-as-vassal โ€” unmounts filesystem before exec()ing the vassal. ๐Ÿง‘๐Ÿค๐Ÿง‘
  • --umount-as-emperor โ€” unmounts filesystem in the emperor after the vassal has been started. ๐Ÿ‘‘
  • --wait-for-interface โ€” waits for the specified network interface to come up before running root hooks. ๐Ÿ“ก
  • --wait-for-interface-timeout โ€” sets the timeout for wait-for-interface. โฑ๏ธ
  • --wait-interface โ€” waits for the specified network interface to come up before running root hooks. ๐Ÿ“ก
  • --wait-interface-timeout โ€” sets the timeout for wait-for-interface. โฑ๏ธ
  • --wait-for-iface โ€” waits for the specified network interface to come up before running root hooks. ๐Ÿ“ก
  • --wait-for-iface-timeout โ€” sets the timeout for wait-for-interface. โฑ๏ธ
  • --wait-iface โ€” waits for the specified network interface to come up before running root hooks. ๐Ÿ“ก
  • --wait-iface-timeout โ€” sets the timeout for wait-for-interface. โฑ๏ธ
  • --wait-for-fs โ€” waits for the specified filesystem item to appear before running root hooks. ๐Ÿ“
  • --wait-for-file โ€” waits for the specified file to appear before running root hooks. ๐Ÿ“„
  • --wait-for-dir โ€” waits for the specified directory to appear before running root hooks. ๐Ÿ“‚
  • --wait-for-mountpoint โ€” waits for the specified mountpoint to appear before running root hooks. ๐Ÿ“
  • --wait-for-fs-timeout โ€” sets the timeout for wait-for-fs/file/dir. โฑ๏ธ
  • --wait-for-socket โ€” waits for the specified socket to be ready before loading apps. ๐Ÿ”Œ
  • --wait-for-socket-timeout โ€” sets the timeout for wait-for-socket. โฑ๏ธ
  • --call-asap โ€” calls the specified function as soon as possible. โšก
  • --call-pre-jail โ€” calls the specified function before jailing. ๐Ÿ”’
  • --call-post-jail โ€” calls the specified function after jailing. ๐Ÿ”“
  • --call-in-jail โ€” calls the specified function in jail after initialization. ๐Ÿข
  • --call-as-root โ€” calls the specified function before privileges drop. ๐Ÿ‘‘
  • --call-as-user โ€” calls the specified function after privileges drop. ๐Ÿ™‹
  • --call-as-user-atexit โ€” calls the specified function before app exit and reload. ๐Ÿšช
  • --call-pre-app โ€” calls the specified function before app loading. ๐Ÿ“ฆ
  • --call-post-app โ€” calls the specified function after app loading. โœ…
  • --call-as-vassal โ€” calls the specified function() before exec()ing the vassal. ๐Ÿง‘๐Ÿค๐Ÿง‘
  • --call-as-vassal1 โ€” calls the specified function(char *) before exec()ing the vassal. ๐Ÿง‘๐Ÿค๐Ÿง‘
  • --call-as-vassal3 โ€” calls the specified function(char *, uid_t, gid_t) before exec()ing the vassal. ๐Ÿง‘๐Ÿค๐Ÿง‘
  • --call-as-emperor โ€” calls the specified function() in the emperor after the vassal has been started. ๐Ÿ‘‘
  • --call-as-emperor1 โ€” calls the specified function(char *) in the emperor after the vassal has been started. ๐Ÿ‘‘
  • --call-as-emperor2 โ€” calls the specified function(char *, pid_t) in the emperor after the vassal has been started. ๐Ÿ‘‘
  • --call-as-emperor4 โ€” calls the specified function(char *, pid_t, uid_t, gid_t) in the emperor after the vassal has been started. ๐Ÿ‘‘
  • --ini โ€” loads config from an ini file. ๐Ÿ“
  • -y, --yaml โ€” loads config from a yaml file. ๐Ÿ“
  • -y, --yml โ€” loads config from a yaml file. ๐Ÿ“
  • -j, --json โ€” loads config from a json file. ๐Ÿ“
  • -j, --js โ€” loads config from a json file. ๐Ÿ“
  • --weight โ€” weight of the instance (used by clustering/lb/subscriptions). โš–๏ธ
  • --auto-weight โ€” sets weight of the instance (used by clustering/lb/subscriptions) automatically. โš–๏ธโœจ
  • --no-server โ€” forces no-server mode. ๐Ÿšซ
  • --command-mode โ€” forces command mode. ๐Ÿ’ป
  • --no-defer-accept โ€” disables deferred-accept on sockets. ๐Ÿšซ
  • --tcp-nodelay โ€” enables TCP NODELAY on each request. ๐Ÿš€
  • --so-keepalive โ€” enables TCP KEEPALIVEs. ๐Ÿ’“
  • --so-send-timeout โ€” sets SO_SNDTIMEO. โฑ๏ธ
  • --socket-send-timeout โ€” sets SO_SNDTIMEO. โฑ๏ธ
  • --so-write-timeout โ€” sets SO_SNDTIMEO. โฑ๏ธ
  • --socket-write-timeout โ€” sets SO_SNDTIMEO. โฑ๏ธ
  • --socket-sndbuf โ€” sets SO_SNDBUF. ๐Ÿ“ค
  • --socket-rcvbuf โ€” sets SO_RCVBUF. ๐Ÿ“ฅ
  • --shutdown-sockets โ€” forces calling shutdown() in addition to close() when sockets are destroyed. ๐Ÿ”Œ
  • --limit-as โ€” limits processes address space/vsz. ๐Ÿ“‰
  • --limit-nproc โ€” limits the number of spawnable processes. ๐Ÿšฆ
  • --reload-on-as โ€” reloads if address space is higher than specified megabytes. ๐Ÿ”„
  • --reload-on-rss โ€” reloads if rss memory is higher than specified megabytes. ๐Ÿ”„
  • --evil-reload-on-as โ€” forces the master to reload a worker if its address space is higher than specified megabytes. ๐Ÿ˜ˆ
  • --evil-reload-on-rss โ€” forces the master to reload a worker if its rss memory is higher than specified megabytes. ๐Ÿ˜ˆ
  • --mem-collector-freq โ€” sets the memory collector frequency when evil reloads are in place. ๐Ÿงน
  • --reload-on-fd โ€” reloads if the specified file descriptor is ready. ๐Ÿ”„
  • --brutal-reload-on-fd โ€” brutal reload if the specified file descriptor is ready. ๐Ÿ’€
  • --ksm โ€” enables Linux KSM. ๐Ÿง
  • --pcre-jit โ€” enables pcre jit (if available). โšก
  • --never-swap โ€” locks all memory pages avoiding swapping. ๐Ÿ”’
  • --touch-reload โ€” reloads uWSGI if the specified file is modified/touched. ๐Ÿ‘†
  • --touch-workers-reload โ€” triggers reload of (only) workers if the specified file is modified/touched. ๐Ÿ‘†
  • --touch-mules-reload โ€” reloads mules if the specified file is modified/touched. ๐Ÿ‘†
  • --touch-spoolers-reload โ€” reloads spoolers if the specified file is modified/touched. ๐Ÿ‘†
  • --touch-chain-reload โ€” triggers chain reload if the specified file is modified/touched. ๐Ÿ‘†
  • --touch-logrotate โ€” triggers logrotation if the specified file is modified/touched. ๐Ÿ‘†
  • --touch-logreopen โ€” triggers log reopen if the specified file is modified/touched. ๐Ÿ‘†
  • --touch-exec โ€” runs command when the specified file is modified/touched. Syntax: file command. ๐Ÿ‘†
  • --touch-signal โ€” the moment the file you named gets modified/touched, a signal goes off. syntax is <pink>file signal</pink>, bestie ๐Ÿซถ
  • --fs-reload โ€” if that filesystem object you're watching changes, you get a graceful reload. polite. respectful. ๐Ÿ’…
  • --fs-brutal-reload โ€” same idea but the reload is BRUTAL ๐Ÿ˜ค no gentleness here
  • --fs-signal โ€” raises a uwsgi signal when the filesystem object you pointed at gets modified. syntax: <purple>file signal</purple> โœจ
  • --check-mountpoint โ€” if a filesystem becomes unreachable, the instance gets destroyed. very much useful for reliable Fuse management ๐Ÿ”ฅ
  • --mountpoint-check โ€” literally the same thing: instance gets destroyed when a filesystem is no longer reachable, handy for reliable Fuse management
  • --check-mount โ€” yep, same vibe: kill the instance if a filesystem goes unreachable (reliable Fuse management, you know the drill)
  • --mount-check โ€” one more alias of the above ๐Ÿ’– destroy the instance when a filesystem is no more reachable (useful for reliable Fuse management)
  • --propagate-touch โ€” okay so this one is described as an over-engineering option for system with flaky signal management ๐Ÿ™ˆ the devs said it themselves, not me
  • --limit-post โ€” caps the request body. that's it, that's the whole job ๐ŸŽ€
  • --no-orphans โ€” if the master dies, workers get killed automatically. > โš ๏ธ heads up bestie: this can be dangerous for availability, so know what you're doing before you turn it on ๐Ÿ’€
  • --prio โ€” sets the priority of your processes/threads ๐ŸŒธ
  • --cpu-affinity โ€” sets cpu affinity. pin those cores, main character energy ๐Ÿ‘‘
  • --post-buffering โ€” sets the size in bytes at which, instead of staying in memory, stuff gets buffered to disk ๐Ÿ“
  • --post-buffering-bufsize โ€” sets the buffer size used for read() while you're in post buffering mode
  • --body-read-warning โ€” sets how much memory allocation (in megabytes) for a request body is allowed before it starts printing a warning at you ๐Ÿ˜ญ
  • --upload-progress โ€” while a file upload is happening, .json files get created in the directory you specify. progress tracking, slay โœจ
  • --no-default-app โ€” no falling back to the default app. periodt.
  • --manage-script-name โ€” automatically rewrites SCRIPT_NAME and PATH_INFO for you ๐Ÿ’…
  • --ignore-script-name โ€” just ignores SCRIPT_NAME entirely
  • --catch-exceptions โ€” reports the exception as http output. > ๐Ÿšฉ the original says discouraged, use only for testing โ€” so fr fr, testing only
  • --reload-on-exception โ€” an exception gets raised, the worker reloads. simple as that ๐Ÿ”„
  • --reload-on-exception-type โ€” reloads the worker when a specific exception type is raised ๐Ÿฆ‹
  • --reload-on-exception-value โ€” reloads the worker when a specific exception value is raised
  • --reload-on-exception-repr โ€” reloads the worker when a specific exception type+value combo (language-specific) is raised ๐ŸŒˆ
  • --exception-handler โ€” adds an exception handler. stack 'em up ๐Ÿ’–
  • --enable-metrics โ€” turns on the metrics subsystem. numbers time ๐Ÿ“Š
  • --metric โ€” adds a custom metric of your very own โœจ
  • --metric-threshold โ€” adds a metric threshold/alarm ๐Ÿšจ
  • --metric-alarm โ€” also adds a metric threshold/alarm (same thing, different name, iconic)
  • --alarm-metric โ€” again: adds a metric threshold/alarm ๐Ÿซถ
  • --metrics-dir โ€” exports your metrics as text files into the directory you name ๐Ÿ“
  • --metrics-dir-restore โ€” restores the last value taken from the metrics dir
  • --metric-dir โ€” exports metrics as text files to the specified directory (the singular twin of --metrics-dir)
  • --metric-dir-restore โ€” restores the last value taken from the metrics dir (same deal, singular name)
  • --metrics-no-cores โ€” disables generation of all those cores-related metrics ๐Ÿ’€
  • --udp โ€” runs the udp server on the address you give it ๐ŸŒ
  • --stats โ€” enables the stats server on the specified address ๐Ÿ“ˆ
  • --stats-server โ€” enables the stats server on the specified address (yes, the same one, she has two names)
  • --stats-http โ€” prefixes the stats server json output with http headers
  • --stats-minified โ€” minifies the statistics json output ๐Ÿ—œ๏ธ
  • --stats-min โ€” minifies the statistics json output (short king)
  • --stats-push โ€” pushes the stats json off to the destination you specify ๐Ÿ“ค
  • --stats-pusher-default-freq โ€” sets the default frequency of stats pushers โฑ๏ธ
  • --stats-pushers-default-freq โ€” sets the default frequency of stats pushers (plural version, same energy)
  • --stats-no-cores โ€” disables generation of cores-related stats
  • --stats-no-metrics โ€” metrics do not get included in the stats output ๐Ÿ™…โ€โ™€๏ธ
  • --multicast โ€” subscribes you to the multicast group you specify ๐Ÿ“ก
  • --multicast-ttl โ€” sets multicast ttl
  • --multicast-loop โ€” sets multicast loop. default is 1 ๐Ÿ’ซ
  • --master-fifo โ€” enables the master fifo ๐ŸŽ€
  • --notify-socket โ€” enables the notification socket ๐Ÿ””
  • --subscription-notify-socket โ€” sets the notification socket used for subscriptions
  • --legion โ€” you become a member of a legion. very โœจlegionโœจ of you
  • --legion-mcast โ€” becomes a member of a legion, shortcut style (it's a shortcut for multicast)
  • --legion-node โ€” adds a node to a legion ๐Ÿซ‚
  • --legion-freq โ€” sets the frequency of legion packets
  • --legion-tolerance โ€” sets the tolerance of the legion subsystem
  • --legion-death-on-lord-error โ€” if one of the lord hooks fails, the node declares itself dead for however many seconds you specify ๐Ÿ’€
  • --legion-skew-tolerance โ€” sets the clock skew tolerance of the legion subsystem. default is 60 seconds โฐ
  • --legion-lord โ€” the action to call on Lord election ๐Ÿ‘‘
  • --legion-unlord โ€” the action to call on Lord dismiss
  • --legion-setup โ€” the action to call on legion setup
  • --legion-death โ€” the action to call on legion death (that's the shutdown of the instance) โšฐ๏ธ
  • --legion-join โ€” the action to call on legion join, which is the first time quorum is reached ๐ŸŽ‰
  • --legion-node-joined โ€” the action to call when a new node joins the legion
  • --legion-node-left โ€” the action to call when a node leaves the legion ๐Ÿ‘‹
  • --legion-quorum โ€” sets the quorum of a legion
  • --legion-scroll โ€” sets the scroll of a legion ๐Ÿ“œ
  • --legion-scroll-max-size โ€” sets the max size of the legion scroll buffer
  • --legion-scroll-list-max-size โ€” sets the max size of the legion scroll list buffer
  • --subscriptions-sign-check โ€” sets the digest algorithm and certificate directory for the secured subscription system ๐Ÿ”
  • --subscriptions-sign-check-tolerance โ€” sets the maximum tolerance (in seconds) of clock skew for the secured subscription system
  • --subscriptions-sign-skip-uid โ€” skips the signature check for the uid you specify when unix sockets credentials are in play
  • --subscriptions-credentials-check โ€” adds a directory to search for subscriptions key credentials ๐Ÿ—‚๏ธ
  • --subscriptions-use-credentials โ€” enables management of SCM_CREDENTIALS in subscriptions UNIX sockets
  • --subscription-algo โ€” sets the load balancing algorithm for the subscription system โš–๏ธ
  • --subscription-dotsplit โ€” tries to fall back to the next part (dot based) in the subscription key
  • --subscribe-to โ€” subscribes to the subscription server you specify ๐Ÿ“ฌ
  • --st โ€” subscribes to the specified subscription server (yes, --st, she's tiny but she works)
  • --subscribe โ€” subscribes to the specified subscription server
  • --subscribe2 โ€” subscribes to the specified subscription server but using the advanced keyval syntax โœจ fancy
  • --subscribe-freq โ€” sends the subscription announce at the interval you set
  • --subscription-tolerance โ€” sets tolerance for subscription servers
  • --unsubscribe-on-graceful-reload โ€” forces the unsubscribe request even during a graceful reload ๐Ÿ’…
  • --start-unsubscribed โ€” configures subscriptions but doesn't send them. useful with master fifo ๐ŸŽ€
  • --subscribe-with-modifier1 โ€” forces the specified modifier1 when subscribing
  • --snmp โ€” enables the embedded snmp server ๐ŸŒฒ
  • --snmp-community โ€” sets the snmp community string
  • --ssl-verbose โ€” be verbose about SSL errors ๐Ÿ“ฃ
  • --ssl-verify-depth โ€” sets the maximum certificate verification depth
  • --sni โ€” adds an SNI-governed SSL context ๐Ÿ”’
  • --sni-dir โ€” checks for cert/key/client_ca files in the directory you specify, and creates a sni/ssl context on demand ๐Ÿช„
  • --sni-dir-ciphers โ€” sets the ssl ciphers for the sni-dir option
  • --ssl-enable3 โ€” enables SSLv3. > ๐Ÿšจ it's marked insecure, so pls be careful
  • --ssl-enable-sslv3 โ€” enables SSLv3 (also marked insecure โ€” same warning, same red flag)
  • --ssl-enable-tlsv1 โ€” enables TLSv1. > ๐Ÿšจ yep, this one is insecure too
  • --ssl-option โ€” sets a raw ssl option. numeric value only ๐Ÿ”ข
  • --sni-regexp โ€” adds an SNI-governed SSL context, except the key is a regexp ๐Ÿง 
  • --ssl-tmp-dir โ€” stores all the ssl-related temp files in the directory you name
  • --check-interval โ€” sets the interval (in seconds) of master checks โณ
  • --forkbomb-delay โ€” when a forkbomb is detected, sleep for however many seconds you specify ๐Ÿ˜ด
  • --binary-path โ€” forces the binary path
  • --privileged-binary-patch โ€” patches the uwsgi binary with a new command, and this happens before privileges drop ๐Ÿฉน
  • --unprivileged-binary-patch โ€” patches the uwsgi binary with a new command, happening after privileges drop
  • --privileged-binary-patch-arg โ€” patches the uwsgi binary with a new command and arguments, before privileges drop ๐Ÿงฐ
  • --unprivileged-binary-patch-arg โ€” patches the uwsgi binary with a new command and arguments, after privileges drop
  • --async โ€” enables async mode with however many cores you specify โšก
  • --max-fd โ€” sets the maximum number of file descriptors. > ๐Ÿ”‘ requires root privileges, no cap
  • --logto โ€” sets the logfile/udp address ๐Ÿชต
  • --logto2 โ€” logs to the file or udp address you specify, but after privileges drop
  • --log-format โ€” sets an advanced format for request logging ๐ŸŽจ
  • --logformat โ€” sets an advanced format for request logging (the no-dash twin)
  • --logformat-strftime โ€” applies strftime to logformat output ๐Ÿ•ฐ๏ธ
  • --log-format-strftime โ€” applies strftime to logformat output (dashed edition)
  • --logfile-chown โ€” chowns logfiles
  • --logfile-chmod โ€” chmods logfiles
  • --log-syslog โ€” logs to syslog ๐Ÿ“ฎ
  • --log-socket โ€” sends logs to the socket you specify ๐Ÿ”Œ
  • --req-logger โ€” sets/appends a request logger
  • --logger-req โ€” sets/appends a request logger (same thing, reversed name, iconic)
  • --logger โ€” sets/appends a logger ๐Ÿชต
  • --logger-list โ€” lists enabled loggers ๐Ÿ“‹
  • --loggers-list โ€” lists enabled loggers (plural, same list)
  • --threaded-logger โ€” offloads log writing to a thread ๐Ÿงต
  • --log-encoder โ€” adds an item into the log encoder chain โ›“๏ธ
  • --log-req-encoder โ€” adds an item into the log req encoder chain
  • --log-drain โ€” drains (aka does not show) log lines matching the regexp you give ๐Ÿคซ
  • --log-filter โ€” shows only log lines matching the regexp you give ๐Ÿ”
  • --log-route โ€” if the regexp applied on a logline matches, log to the named logger you specified ๐Ÿš
  • --log-req-route โ€” logs requests to the named logger you specified, if the regexp applied on the logline matches
  • --use-abort โ€” calls abort() on segfault/fpe. could be useful for generating a core dump ๐Ÿ’ฅ
  • --alarm โ€” creates a new alarm. syntax: <purple><alarm> <plugin:args></purple> ๐Ÿšจ

  • --alarm-cheap โ€” don't make a whole new thread for every curl-based alarm, bestie</p> โ€” just use the main alarm thread instead. lowkey efficient ๐Ÿ’…
  • --alarm-freq โ€” tune up the anti-loop alarm system. default is 3 seconds. fr fr, that's the number.
  • --alarm-fd โ€” raise the alarm you specify when an fd is read for read. by default it reads 1 byte; set it to 8 for eventfd. ๐Ÿฆ‹
  • --alarm-segfault โ€” raise the alarm you specify when the segmentation fault handler runs. segfault o'clock ๐Ÿ˜ญ
  • --segfault-alarm โ€” same vibe, same job: raise the alarm you specify when the segmentation fault handler is executed.
  • --alarm-backlog โ€” raise the alarm you specify when the socket backlog queue is full. she's full, she's done, sound the alarm
  • --backlog-alarm โ€” yep, the twin: raise the alarm you specify when the socket backlog queue is full.
  • --lq-alarm โ€” raise the alarm you specify when the socket backlog queue is full. (lq = listen queue, iykyk)
  • --alarm-lq โ€” raise the alarm you specify when the socket backlog queue is full. same energy, different word order โœจ
  • --alarm-listen-queue โ€” raise the alarm you specify when the socket backlog queue is full. the full-name version, we love a thorough queen
  • --listen-queue-alarm โ€” raise the alarm you specify when the socket backlog queue is full. her reversed sister ๐ŸŽ€
  • --log-alarm โ€” raise the alarm you specify whenever a log line matches the regexp you gave. syntax: <alarm>[,alarm...] <regexp>. regex girlies rise ๐Ÿ™ˆ
  • --alarm-log โ€” raise the alarm you specify whenever a log line matches the regexp you gave. syntax: <alarm>[,alarm...] <regexp>.
  • --not-log-alarm โ€” skip the alarm you specify when a log line matches the regexp you gave. syntax: <alarm>[,alarm...] <regexp>. not her, not today ๐Ÿ’…
  • --not-alarm-log โ€” skip the alarm you specify when a log line matches the regexp you gave. syntax: <alarm>[,alarm...] <regexp>.
  • --alarm-list โ€” list the enabled alarms. show me the receipts ๐Ÿ“‹
  • --alarms-list โ€” list the enabled alarms. plural but same, periodt โœจ
  • --alarm-msg-size โ€” set the max size of an alarm message. default 8192.

  • --log-master โ€” delegate logging to the master process. let the main character handle it ๐Ÿ‘‘
  • --log-master-bufsize โ€” set the buffer size for the master logger. bigger log messages will be truncated โ€” no cap, they just get cut off ๐Ÿ’€
  • --log-master-stream โ€” create the master logpipe as SOCK_STREAM. streamy โœจ
  • --log-master-req-stream โ€” create the master requests logpipe as SOCK_STREAM.
  • --log-reopen โ€” reopen the log after a reload. fresh start energy ๐Ÿฆ‹
  • --log-truncate โ€” truncate the log on startup. empty it, clean slate, we move ๐ŸŒธ
  • --log-maxsize โ€” set the maximum logfile size. she has a limit and honestly? boundaries ๐Ÿ’…
  • --log-backupname โ€” set the logfile name used after rotation. the glow-up name ๐ŸŽ€
  • --logdate โ€” prefix your logs with a date or a strftime string. timestamp her ๐Ÿ’–
  • --log-date โ€” prefix your logs with a date or a strftime string. same thing, dash edition โœจ
  • --log-prefix โ€” prefix your logs with a string of your choosing. brand it, bestie ๐ŸŽ€
  • --log-zero โ€” log responses that have no body. silence still counts ๐Ÿซถ
  • --log-slow โ€” log requests slower than the number of milliseconds you specify. slow girls get noticed too ๐Ÿ˜ญ
  • --log-4xx โ€” log requests with a 4xx response. client said no ๐Ÿ’€
  • --log-5xx โ€” log requests with a 5xx response. server said no ๐Ÿ˜ญ
  • --log-big โ€” log requests bigger than the size you specify. thicc requests only ๐Ÿ’…
  • --log-sendfile โ€” log sendfile requests. sendfile girls, this one's for you ๐Ÿฆ‹
  • --log-ioerror โ€” log requests that hit io errors. io oopsie, logged ๐Ÿ“
  • --log-micros โ€” report response time in microseconds instead of milliseconds. precision queen โญ
  • --log-x-forwarded-for โ€” use the ip from the X-Forwarded-For header instead of REMOTE_ADDR. behind a proxy? this is your girl ๐ŸŒˆ

  • --master-as-root โ€” leave the master process running as root. yes, that root. be so careful, bestie ๐Ÿšจ
  • --drop-after-init โ€” run the privileges drop after plugin initialization. superseded by drop-after-apps โ€” so like, newer option took her spot ๐Ÿ’…
  • --drop-after-apps โ€” run the privileges drop after apps loading. superseded by master-as-root. noted, no cap.
  • --force-cwd โ€” force the initial working directory to the value you specify. she goes where she's told ๐ŸŽ€
  • --binsh โ€” override /bin/sh. it's used by exec hooks, and it always fallback to /bin/sh. the fallback is forever iykyk ๐Ÿ™ˆ
  • --chdir โ€” chdir to the directory you specify before apps loading. move in first, unpack later ๐Ÿงณ
  • --chdir2 โ€” chdir to the directory you specify after apps loading. unpack first, move in after ๐Ÿงณ
  • --lazy โ€” set lazy mode, aka load apps in workers instead of master. let the workers do it ๐Ÿ’…
  • --lazy-apps โ€” load apps in each worker instead of the master. every worker gets her own copy, iconic ๐ŸŽ€
  • --cheap โ€” set cheap mode: spawn workers only after the first request. no requests, no workers, no stress ๐Ÿฆ‹
  • --cheaper โ€” set cheaper mode, aka adaptive process spawning. she adapts, she slays ๐ŸŒˆ
  • --cheaper-initial โ€” set the initial number of processes to spawn in cheaper mode. the starter pack โญ
  • --cheaper-algo โ€” choose the algorithm used for adaptive process spawning. pick your fighter ๐Ÿ’œ
  • --cheaper-step โ€” the number of additional processes to spawn at each overload. more workers, more often, periodt ๐Ÿ’…
  • --cheaper-overload โ€” increase workers after the overload you specify. overloaded? grow, girl ๐ŸŒธ
  • --cheaper-algo-list โ€” list the enabled cheapers algorithms. ๐Ÿ“‹
  • --cheaper-algos-list โ€” list the enabled cheapers algorithms. ๐Ÿ“‹โœจ
  • --cheaper-list โ€” list the enabled cheapers algorithms. ๐Ÿ“‹๐ŸŽ€
  • --cheaper-rss-limit-soft โ€” don't spawn new workers if the total resident memory usage of all workers is higher than this limit. chill mode activated ๐Ÿซถ
  • --cheaper-rss-limit-hard โ€” if total workers resident memory usage is higher than this, try to stop workers. hard mode, she's actually shutting things down ๐Ÿ˜ญ
  • --idle โ€” set idle mode, aka put uWSGI in cheap mode after inactivity. nothing happening? back to sleep ๐Ÿ’ค
  • --die-on-idle โ€” shut down uWSGI when it's idle. not idle mode โ€” actually GONE mode ๐Ÿ’€
  • --mount โ€” load an application under a mountpoint. put her where she belongs โœจ
  • --worker-mount โ€” load an application under a mountpoint in the worker you specify, or after workers spawn. worker-specific realness ๐Ÿ’…
  • --threads โ€” run each worker in prethreaded mode with the number of threads you specify. threads girlies, assemble ๐Ÿงต
  • --thread-stacksize โ€” set the threads stacksize. give her room to breathe ๐Ÿฆ‹
  • --threads-stacksize โ€” set the threads stacksize. same, plural ๐ŸŽ€
  • --thread-stack-size โ€” set the threads stacksize. same, hyphenated โœจ
  • --threads-stack-size โ€” set the threads stacksize. same, plural AND hyphenated ๐Ÿ’–
  • --vhost โ€” enable virtualhosting mode, based on the SERVER_NAME variable. many hosts, one server, main character energy ๐Ÿ‘‘
  • --vhost-host โ€” enable virtualhosting mode, based on the HTTP_HOST variable. same but HTTP_HOST ๐ŸŽ€

  • --route โ€” add a route. ๐Ÿ›ฃ๏ธ
  • --route-host โ€” add a route based on the 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. jump girlies know ๐ŸŽ€
  • --route-if โ€” add a route based on a condition. if this, then route โœจ
  • --route-if-not โ€” add a route based on a condition, but the negate version. if NOT this, then route ๐Ÿ’…
  • --route-run โ€” always run the route action you specify. no conditions, she just goes ๐Ÿ”ฅ
  • --final-route โ€” add a final route. ๐Ÿ›ฃ๏ธ๐Ÿ
  • --final-route-status โ€” add a final route for the status you specify. ๐Ÿ
  • --final-route-host โ€” add a final route based on the 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 a condition. ๐Ÿโœจ
  • --final-route-if-not โ€” add a final route based on a condition, negate version. ๐Ÿ๐Ÿ’…
  • --final-route-run โ€” always run the final route action you specify. ๐Ÿ๐Ÿ”ฅ
  • --error-route โ€” add an error route. ๐Ÿ›ฃ๏ธ๐Ÿ’€
  • --error-route-status โ€” add an error route for the status you specify. ๐Ÿ’€
  • --error-route-host โ€” add an error route based on the 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 a condition. ๐Ÿ’€โœจ
  • --error-route-if-not โ€” add an error route based on a condition, negate version. ๐Ÿ’€๐Ÿ’…
  • --error-route-run โ€” always run the error route action you specify. ๐Ÿ’€๐Ÿ”ฅ
  • --response-route โ€” add a response route. ๐Ÿ›ฃ๏ธ๐ŸŒธ
  • --response-route-status โ€” add a response route for the status you specify. ๐ŸŒธ
  • --response-route-host โ€” add a response route based on the 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 a condition. ๐ŸŒธโœจ
  • --response-route-if-not โ€” add a response route based on a condition, negate version. ๐ŸŒธ๐Ÿ’…
  • --response-route-run โ€” always run the response route action you specify. ๐ŸŒธ๐Ÿ”ฅ
  • --router-list โ€” list the enabled routers. ๐Ÿ“‹๐ŸŒˆ
  • --routers-list โ€” list the enabled routers. ๐Ÿ“‹๐ŸŒˆโœจ
  • --error-page-403 โ€” add an error page (html) for the managed 403 response. ๐Ÿšซ๐ŸŽ€
  • --error-page-404 โ€” add an error page (html) for the managed 404 response. ๐Ÿ‘ป๐ŸŽ€
  • --error-page-500 โ€” add an error page (html) for the managed 500 response. ๐Ÿ’ฅ๐ŸŽ€

  • --websockets-ping-freq โ€” set the frequency, in seconds, of the websockets automatic ping packets. ping ping ping ๐Ÿ“
  • --websocket-ping-freq โ€” set the frequency, in seconds, of the websockets automatic ping packets. ๐Ÿ“โœจ
  • --websockets-pong-tolerance โ€” set the tolerance, in seconds, of the websockets ping/pong subsystem. give her a lil grace period ๐Ÿซถ
  • --websocket-pong-tolerance โ€” set the tolerance, in seconds, of the 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. same, singular ๐ŸŽ€
  • --chunked-input-limit โ€” set the max size of a chunked input part. default 1MB, in bytes. chunky but make it bounded ๐Ÿ’…
  • --chunked-input-timeout โ€” set the default timeout for chunked input. clock's ticking bestie โฐ

  • --clock โ€” set a clock source. โฐโœจ
  • --clock-list โ€” list the enabled clocks. ๐Ÿ“‹โฐ
  • --clocks-list โ€” lists every clock that's actually enabled, so you can see what timers you're working with ๐Ÿ•ฐ๏ธ
  • --add-header โ€” auto-adds HTTP headers to the response for you, no manual labour ๐Ÿ’…
  • --rem-header โ€” auto-removes the HTTP header you name from the response โœ‚๏ธ
  • --del-header โ€” same energy: auto-removes the HTTP header you name from the response
  • --collect-header โ€” stashes that response header in a request var (syntax: header var) ๐Ÿ“ฅ
  • --response-header-collect โ€” yeah literally the same thing: stash the response header in a request var (syntax: header var)
  • --pull-header โ€” stashes the response header in a request var and yanks it out of the response (syntax: header var) ๐Ÿซณ

  • --check-static โ€” checks for static files in the directory you give it ๐Ÿ“‚
  • --check-static-docroot โ€” checks for static files in the requested DOCUMENT_ROOT
  • --static-check โ€” checks for static files in the specified directory (twin of the one above, iykyk)
  • --static-map โ€” maps a mountpoint onto a static directory (or a file) ๐Ÿ—บ๏ธ
  • --static-map2 โ€” like --static-map except it completely appends the requested resource to the docroot
  • --static-skip-ext โ€” skips the extension you name during staticfile checks
  • --static-index โ€” hunts for the file you name when a directory is requested
  • --static-safe โ€” skips security checks if the file lives under the path you specify ๐Ÿ”
  • --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 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) โ€” yes bestie, same option, two names

  • --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 a 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 a 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 a PATH_INFO regexp and file mtime

  • --static-gzip โ€” if the regexp you supply matches the static file translation, it goes looking for a gzip version ๐Ÿ—œ๏ธ
  • --static-gzip-all โ€” checks for a gzip version of all requested static files
  • --static-gzip-dir โ€” checks for a gzip version of all requested static files in the dir/prefix you specify
  • --static-gzip-prefix โ€” checks for a gzip version of all requested static files in the dir/prefix you specify
  • --static-gzip-ext โ€” checks for a gzip version of all requested static files with the ext/suffix you specify
  • --static-gzip-suffix โ€” checks for a gzip version of all requested static files with the ext/suffix you specify
  • --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) โ€” same vibe, singular spelling
  • --file-serve-mode โ€” sets the static file serving mode
  • --fileserve-mode โ€” sets the static file serving mode (the no-dash twin, she's here too)
  • --disable-sendfile โ€” disables sendfile() and just 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 โ€” set uWSGI custom mode
  • --env โ€” set 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 all of the generated file/sockets ๐Ÿงน
  • --file-write โ€” writes the content you give to the file you give (syntax: file=value) before privileges drop
  • --cgroup โ€” puts the processes into the cgroup you name
  • --cgroup-opt โ€” sets a value in the cgroup option you name
  • --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 specify in your namespace
  • --ns โ€” runs in a new namespace under the rootfs you specify
  • --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, so don't come crying to Linux)
  • --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 qlen value you give
  • --tcp-fast-open-client โ€” uses sendto(..., MSG_FASTOPEN, ...) instead of connect() if supported
  • --tcp-fastopen-client โ€” uses sendto(..., MSG_FASTOPEN, ...) instead of connect() if supported

  • --zerg โ€” attaches to a zerg server ๐Ÿ‘พ
  • --zerg-fallback โ€” falls back to normal sockets if the zerg server isn't available
  • --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 maximum time (in seconds) we wait for a cron command to complete ๐Ÿ”ช
  • --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 that only runs when the instance is a lord of the legion you specify
  • --unique-legion-cron โ€” adds a unique cron task that only runs when the instance is a lord of the legion you specify
  • --unique-cron-legion โ€” adds a unique cron task that only runs when the instance is a lord of the legion you specify

  • --loop โ€” selects the uWSGI loop engine ๐Ÿ”
  • --loop-list โ€” lists enabled loop engines
  • --loops-list โ€” lists enabled loop engines
  • --worker-exec โ€” runs the command you give as worker
  • --worker-exec2 โ€” runs the command you give as worker (after the post_fork hook)
  • --attach-daemon โ€” attaches a command/daemon to the master process (the command has to not go in background) ๐Ÿงท
  • --attach-control-daemon โ€” attaches 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 โ€” 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 but the daemon runs only on the legion lord node ๐Ÿ‘‘
  • --legion-smart-attach-daemon โ€” same as --smart-attach-daemon but the daemon runs only on the legion lord node
  • --legion-smart-attach-daemon2 โ€” same as --smart-attach-daemon2 but the daemon runs only on the legion lord node
  • --daemons-honour-stdin โ€” does not change the stdin of external daemons 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 (exits on error)
  • --need-plugin โ€” loads uWSGI plugins (exits 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 enabled plugins
  • --plugin-list โ€” lists enabled plugins
  • --autoload โ€” tries to automatically load plugins when unknown options are found โœจ
  • --dlopen โ€” blindly loads a shared library ๐Ÿ™ˆ
  • --allowed-modifiers โ€” a 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 for appending to a uwsgi binary (for data:// usage)
  • --print โ€” simple print ๐Ÿ–จ๏ธ
  • --iprint โ€” simple print (immediate version)
  • --exit โ€” force 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)

and that's a wrap on the whole options list, bestie ๐ŸŽ€โœจ you made it to the end of a genuinely enormous manpage and I'm so proud of you fr fr ๐Ÿซถ

Quick reminder: every one of those flags above is doing real work in a real binary, so copy them character for character and don't freestyle the spelling. ๐Ÿ’…

okay go forth and slay your config, main character energy only ๐Ÿ’–

This page ships as uwsgi_jvm version 2.0.31-3, dated March 2026, and it's the manual page for UWSGI_JVM(1) โ€” see you in the next one, mwah ๐Ÿ’‹๐ŸŒธ

๐Ÿ“ฆ where this page comes from