UWSGI_GCCGO(1)

๐Ÿ“ฆ
version 2.0.31+2+0.0.3build2 ยท 6 versions
, in ubuntu resolute, ubuntu stonking

๐Ÿ’– uwsgi_gccgo ๐Ÿ’–

okay bestie, welcome to the User Commands corner of the manual, this is the page for uwsgi_gccgo and honestly? it's giving legendary. โœจ


๐ŸŒธ NAME ๐ŸŒธ

uwsgi_gccgo โ€” a fast (pure C), self-healing, developer-friendly WSGI server ๐Ÿซถ

no cap, that's the whole pitch. pure C. fast. heals itself. loves developers. icon behavior fr fr ๐Ÿ’…


๐ŸŒˆ SYNOPSIS ๐ŸŒˆ

uwsgi-core [options...]

literally just the binary and then however many options your heart desires ๐Ÿ’–


โœจ DESCRIPTION โœจ

okay so here's the thing โ€” this whole section is basically one giant stack of options and every single one of them is listed below. no skipping, no summarizing, we're going all the way down. grab a snack, bestie ๐Ÿ“

๐Ÿ”Œ sockets & protocols (the "where do i listen" era)

  • -s, --socket โ€” bind to the specified UNIX/TCP socket using default protocol ๐Ÿ’ซ
  • -s, --uwsgi-socket โ€” bind to the specified UNIX/TCP socket using uwsgi protocol ๐Ÿ‘‘
  • --suwsgi-socket โ€” bind to the specified UNIX/TCP socket using uwsgi protocol over SSL ๐Ÿ”
  • --ssl-socket โ€” bind to the specified UNIX/TCP socket using uwsgi protocol over SSL ๐Ÿ”
  • --http-socket โ€” bind to the specified UNIX/TCP socket using HTTP protocol ๐ŸŒ
  • --http-socket-modifier1 โ€” force the specified modifier1 when using HTTP protocol ๐ŸŽ€
  • --http-socket-modifier2 โ€” force the specified modifier2 when using HTTP protocol ๐ŸŽ€
  • --http11-socket โ€” bind to the specified UNIX/TCP socket using HTTP 1.1 (Keep-Alive) protocol ๐Ÿ”
  • --https-socket โ€” bind to the specified UNIX/TCP socket using HTTPS protocol ๐Ÿ”
  • --https-socket-modifier1 โ€” force the specified modifier1 when using HTTPS protocol ๐ŸŽ€
  • --https-socket-modifier2 โ€” force the specified modifier2 when using HTTPS protocol ๐ŸŽ€
  • --fastcgi-socket โ€” bind to the specified UNIX/TCP socket using FastCGI protocol โšก
  • --fastcgi-nph-socket โ€” bind to the specified UNIX/TCP socket using FastCGI protocol (nph mode) โšก
  • --fastcgi-modifier1 โ€” force the specified modifier1 when using FastCGI protocol ๐ŸŽ€
  • --fastcgi-modifier2 โ€” force the specified modifier2 when using FastCGI protocol ๐ŸŽ€
  • --scgi-socket โ€” bind to the specified UNIX/TCP socket using SCGI protocol ๐Ÿงต
  • --scgi-nph-socket โ€” bind to the specified UNIX/TCP socket using SCGI protocol (nph mode) ๐Ÿงต
  • --scgi-modifier1 โ€” force the specified modifier1 when using SCGI protocol ๐ŸŽ€
  • --scgi-modifier2 โ€” force the specified modifier2 when using SCGI protocol ๐ŸŽ€
  • --raw-socket โ€” bind to the specified UNIX/TCP socket using RAW protocol ๐Ÿชจ
  • --raw-modifier1 โ€” force the specified modifier1 when using RAW protocol ๐ŸŽ€
  • --raw-modifier2 โ€” force the specified modifier2 when using RAW protocol ๐ŸŽ€
  • --puwsgi-socket โ€” bind to the specified UNIX/TCP socket using persistent uwsgi protocol (puwsgi) ๐Ÿ”—
  • --protocol โ€” force the specified protocol for default sockets ๐ŸŽฏ
  • --socket-protocol โ€” force the specified protocol for default sockets ๐ŸŽฏ
  • --shared-socket โ€” create a shared socket for advanced jailing or ipc ๐Ÿค
  • --undeferred-shared-socket โ€” create a shared socket for advanced jailing or ipc (undeferred mode) ๐Ÿค

๐Ÿง‘๐Ÿณ workers, locking & harakiri (the "keep it alive" chapter)

  • -p, --processes โ€” spawn the specified number of workers/processes ๐Ÿ‘ฏ
  • -p, --workers โ€” spawn the specified number of workers/processes ๐Ÿ‘ฏ
  • --thunder-lock โ€” serialize accept() usage (if possible) โšก๐Ÿ”’
  • -t, --harakiri โ€” set harakiri timeout ๐Ÿ—ก๏ธ
  • --harakiri-verbose โ€” enable verbose mode for harakiri ๐Ÿ—ฃ๏ธ
  • --harakiri-graceful-timeout โ€” interval between 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 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 backtrace depth ๐Ÿชœ
  • --mule-harakiri โ€” set harakiri timeout for mule tasks ๐Ÿด๐Ÿ—ก๏ธ

๐Ÿ“‚ config loading (feeding the server its lore)

  • -x, --xmlconfig โ€” load config from xml file ๐Ÿ“„
  • -x, --xml โ€” load config from xml file ๐Ÿ“„
  • --config โ€” load configuration using the pluggable system ๐Ÿงฉ
  • --fallback-config โ€” re-exec uwsgi with the specified config when exit code is 1 ๐Ÿช‚
  • --strict โ€” enable strict mode (placeholder cannot be used) ๐Ÿ˜ค
  • --skip-zero โ€” skip check of file descriptor 0 0๏ธโƒฃ
  • --skip-atexit โ€” skip atexit hooks (ignored by the master) ๐Ÿšช
  • --skip-atexit-teardown โ€” skip atexit teardown (ignored by the master) ๐Ÿงน

๐ŸŽ€ placeholders, custom options & the opt-logic era

  • -S, --set โ€” set a placeholder or an option ๐Ÿท๏ธ
  • --set-placeholder โ€” set a placeholder ๐Ÿท๏ธ
  • --set-ph โ€” set a placeholder ๐Ÿท๏ธ
  • --get โ€” print the specified option value and exit ๐Ÿ–จ๏ธ
  • --declare-option โ€” declare a new uWSGI custom option ๐Ÿ“ข
  • --declare-option2 โ€” declare a new uWSGI custom option (non-immediate) ๐Ÿ“ข
  • --resolve โ€” place the result of a dns query in the specified placeholder, sytax: placeholder=name (immediate option) ๐Ÿ”
  • --for โ€” (opt logic) for cycle ๐Ÿ”
  • --for-glob โ€” (opt logic) for cycle (expand glob) ๐Ÿ”
  • --for-times โ€” (opt logic) for cycle (expand the specified num to a list starting from 1) ๐Ÿ”ข
  • --for-readline โ€” (opt logic) for cycle (expand the specified file to a list of lines) ๐Ÿ“œ
  • --endfor โ€” (opt logic) end for cycle ๐Ÿ”š
  • --end-for โ€” (opt logic) end for cycle ๐Ÿ”š
  • --if-opt โ€” (opt logic) check for option โ“
  • --if-not-opt โ€” (opt logic) check for option โ“
  • --if-env โ€” (opt logic) check for environment variable ๐ŸŒฑ
  • --if-not-env โ€” (opt logic) check for environment variable ๐ŸŒฑ
  • --ifenv โ€” (opt logic) check for environment variable ๐ŸŒฑ
  • --if-reload โ€” (opt logic) check for reload ๐Ÿ”„
  • --if-not-reload โ€” (opt logic) check for reload ๐Ÿ”„
  • --if-hostname โ€” (opt logic) check for hostname ๐Ÿ 
  • --if-not-hostname โ€” (opt logic) check for hostname ๐Ÿ 
  • --if-hostname-match โ€” (opt logic) try to match hostname against a regular expression ๐Ÿงฌ
  • --if-not-hostname-match โ€” (opt logic) try to match hostname against a regular expression ๐Ÿงฌ
  • --if-exists โ€” (opt logic) check for file/directory existence ๐Ÿ‘€
  • --if-not-exists โ€” (opt logic) check for file/directory existence ๐Ÿ‘€
  • --ifexists โ€” (opt logic) check for file/directory existence ๐Ÿ‘€
  • --if-plugin โ€” (opt logic) check for plugin ๐Ÿงฉ
  • --if-not-plugin โ€” (opt logic) check for plugin ๐Ÿงฉ
  • --ifplugin โ€” (opt logic) check for plugin ๐Ÿงฉ
  • --if-file โ€” (opt logic) check for file existence ๐Ÿ“
  • --if-not-file โ€” (opt logic) check for file existence ๐Ÿ“
  • --if-dir โ€” (opt logic) check for directory existence ๐Ÿ“‚
  • --if-not-dir โ€” (opt logic) check for directory existence ๐Ÿ“‚
  • --ifdir โ€” (opt logic) check for directory existence ๐Ÿ“‚
  • --if-directory โ€” (opt logic) check for directory existence ๐Ÿ“‚
  • --endif โ€” (opt logic) end if ๐Ÿ”š
  • --end-if โ€” (opt logic) end if ๐Ÿ”š
  • --blacklist โ€” set options blacklist context ๐Ÿšซ
  • --end-blacklist โ€” clear options blacklist context ๐Ÿšซ
  • --whitelist โ€” set options whitelist context โœ…
  • --end-whitelist โ€” clear options whitelist context โœ…

๐Ÿฉน write errors & sigpipe (the "stop screaming" section)

  • --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) ๐Ÿ’‰

๐Ÿงš daemonize, control & inspection

  • -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 ๐Ÿ“ค

โš™๏ธ tuning & limits (the numbers bestie)

  • -l, --listen โ€” set the socket listen queue size ๐Ÿ“
  • -v, --max-vars โ€” set the amount of internal iovec/vars structures ๐Ÿ“ฆ
  • --max-apps โ€” set the maximum number of per-worker applications ๐Ÿงฎ
  • -b, --buffer-size โ€” set internal buffer size ๐Ÿงบ
  • -m, --memory-report โ€” enable memory report ๐Ÿง 
  • --profiler โ€” enable the specified profiler ๐Ÿ“Š
  • -c, --cgi-mode โ€” force CGI-mode for plugins supporting it ๐Ÿข
  • -a, --abstract-socket โ€” force UNIX socket in abstract mode (Linux only) ๐Ÿง
  • -C, --chmod-socket โ€” chmod-socket ๐Ÿ”‘
  • -C, --chmod โ€” chmod-socket ๐Ÿ”‘
  • --chown-socket โ€” chown unix sockets ๐Ÿ”‘
  • --umask โ€” set umask ๐ŸŽญ
  • --freebind โ€” put socket in freebind mode ๐Ÿ•Š๏ธ
  • --map-socket โ€” map sockets to specific workers ๐Ÿ—บ๏ธ

๐Ÿงต threads & process names

  • -T, --enable-threads โ€” enable threads (stub option this is true by default) ๐Ÿงต
  • --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 ๐Ÿท๏ธ

๐Ÿ‘‘ app loading & the master

  • -i, --single-interpreter โ€” do not use multiple interpreters (where available) 1๏ธโƒฃ
  • --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, really, it's called that)

  • --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 ๐Ÿง™

okay that's part 1 of 6 bestie, and there is SO much more coming โ€” don't go anywhere ๐Ÿ’–

okay bestie, deep breath, hydrate, we're still in the option mines โ›๏ธโœจ but honestly? this part is kinda iconic. Emperor stuff, caches, spoolers, namespaces โ€” it's giving systems programming main character energy fr fr.


  • --emperor-pidfile โ€” drop the Emperor's pid into the file you name. That's it, that's the whole job ๐Ÿซถ
  • --emperor-tyrant โ€” flip the Emperor into Tyrant mode. yes it's called that. no we didn't name it.
  • --emperor-tyrant-nofollow โ€” in Tyrant mode, when it's checking uid/gid, do not follow symlinks. don't get tricked by a sneaky link, bestie ๐Ÿšซ๐Ÿ”—
  • --emperor-stats โ€” run the Emperor stats server.
  • --emperor-stats-server โ€” run the Emperor stats server. (same thing, different name, they're twins ๐Ÿ’…)
  • --early-emperor โ€” spawn the emperor as soon as possible. impatient king behavior ๐Ÿ‘‘
  • --emperor-broodlord โ€” run the emperor in BroodLord mode. yes, BroodLord. we love a dramatic name.
  • --emperor-throttle โ€” set the throttling level, in milliseconds, for vassals that are acting up. default is 1000. time-out for misbehaving children ๐Ÿ˜ค
  • --emperor-max-throttle โ€” set the max throttling level, in milliseconds, for bad-behaving vassals. default is 3 minutes. so the naughty corner has a ceiling.
  • --emperor-magic-exec โ€” if a vassal's config file has the executable bit set, prefix it with exec://. magic โœจ
  • --emperor-on-demand-extension โ€” go looking for a text file named <vassal name><extension> that contains the on demand socket name.
  • --emperor-on-demand-ext โ€” same deal, shorter name. searches for a text file (vassal name + extension) holding the on demand socket name.
  • --emperor-on-demand-directory โ€” turns on on demand mode and binds to a unix socket inside the directory you give, named like the vassal + .socket.
  • --emperor-on-demand-dir โ€” the abbreviated twin of the above. same behavior: on demand mode, unix socket in your directory, named <vassal> + .socket.
  • --emperor-on-demand-exec โ€” use the output of the command you specify as the on demand socket name. the vassal name gets passed in as the only argument.
  • --emperor-extra-extension โ€” lets the Emperor accept the extension you name. vassals with it get called with --config.
  • --emperor-extra-ext โ€” the short-name version: allow the given extension in the Emperor, vassal invoked with --config.
  • --emperor-no-blacklist โ€” kill the Emperor blacklisting subsystem. no more naughty list ๐Ÿšซ๐Ÿ“
  • --emperor-use-clone โ€” use clone() instead of fork(), passing along the unshare() flags you specify.
  • --emperor-graceful-shutdown โ€” during ragnarok, let the vassals go out with a graceful shutdown. respectful. ๐ŸŒธ
  • --emperor-cap โ€” set the vassals' capability.
  • --vassals-cap โ€” set the vassals' capability. (yes, same as above, this page really said "here's three spellings, pick your fave")
  • --vassal-cap โ€” set the vassals' capability. third one. collect the whole set ๐ŸŽ€
  • --imperial-monitor-list โ€” list the imperial monitors that are enabled.
  • --imperial-monitors-list โ€” list the enabled imperial monitors. plural, same energy.
  • --vassals-inherit โ€” add config templates into the vassals' config. this one uses --inherit.
  • --vassals-include โ€” include config templates into the vassals' config. this one uses --include instead of --inherit.
  • --vassals-inherit-before โ€” add config templates to the vassals' config using --inherit, and it parses before the vassal file.
  • --vassals-include-before โ€” include config templates into the vassals' config using --include instead of --inherit, parsed before the vassal file.
  • --vassals-start-hook โ€” run your command before each vassal starts up. hype person for every vassal ๐Ÿ“ฃ
  • --vassals-stop-hook โ€” run your command after a vassal dies.
  • --vassal-sos โ€” when a vassal is overloaded, it asks the emperor for reinforcement. SOS bestie, send help ๐Ÿ†˜
  • --vassal-sos-backlog โ€” ask the emperor for SOS when the backlog queue has more items than the value you set.
  • --vassals-set โ€” automatically --set the option you name for every single vassal. mass apply, slay.
  • --vassal-set โ€” automatically set the specified option (via --set) for every vassal. singular spelling, same power.
  • --heartbeat โ€” announce healthiness to the emperor. "i'm alive!!" ๐Ÿ’“
  • --reload-mercy โ€” the max time, in seconds, that we wait for workers and other processes to die during reload/shutdown.
  • --worker-reload-mercy โ€” the max time, in seconds, that a worker is allowed to take to reload/shutdown. default is 60.
  • --mule-reload-mercy โ€” the max time, in seconds, that a mule is allowed to take to reload/shutdown. default is 60.
  • --exit-on-reload โ€” force an exit even if a reload was requested. it said no and meant it ๐Ÿšช
  • --die-on-term โ€” on SIGTERM, exit instead of doing a brutal reload.
  • --force-gateway โ€” force the first registered gateway to spawn without a master.
  • -h, --help โ€” show this help.
  • -h, --usage โ€” show this help. (yep, -h does both, it's a multitasker ๐Ÿ’…)
  • --print-sym โ€” print the content of the binary symbol you specify.
  • --print-symbol โ€” print the content of the specified binary symbol. long-form twin.
  • -r, --reaper โ€” call waitpid(-1,...) after each request to clear out zombies. ๐ŸงŸ no undead processes on our watch.
  • -R, --max-requests โ€” reload workers after the specified amount of managed requests.
  • --max-requests-delta โ€” add (worker_id * delta) to the max_requests value of each worker.
  • --min-worker-lifetime โ€” number of seconds a worker has to run before it can be reloaded. default is 10.
  • --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 the internal sockets timeout.
  • --no-fd-passing โ€” disable file descriptor passing.
  • --locks โ€” create the number of shared locks you specify.
  • --lock-engine โ€” set the lock engine.
  • --ftok โ€” set the ipcsem key via ftok() so you dodge duplicates.
  • --persistent-ipcsem โ€” do not remove ipcsem's on shutdown. they stay. periodt.
  • -A, --sharedarea โ€” create a raw shared memory area of the specified number of pages. note: it supports keyval too.
  • --safe-fd โ€” do not close the file descriptor you specify.
  • --fd-safe โ€” do not close the specified file descriptor. same thing, flipped name, we love that for us.
  • --cache โ€” create a shared cache containing the given elements.
  • --cache-blocksize โ€” set the cache blocksize.
  • --cache-store โ€” enable a persistent cache to disk. it survives ๐Ÿ’พ
  • --cache-store-sync โ€” set how often the persistent cache syncs.
  • --cache-no-expire โ€” disable the auto sweep of expired items.
  • --cache-expire-freq โ€” set how often the cache sweeper scans. default is 3 seconds.
  • --cache-report-freed-items โ€” constantly report each cache item the sweeper frees. > use only for debug, bestie, this one is loud.
  • --cache-udp-server โ€” bind the cache udp server to the socket you specify. it's used only for set/update/delete.
  • --cache-udp-node โ€” send cache update/deletion over to the cache udp server you name.
  • --cache-sync โ€” copy the entire content of another uWSGI cache server when the server starts up.
  • --cache-use-last-modified โ€” update the last_modified_at timestamp on every cache item modification. default is disabled.
  • --add-cache-item โ€” add an item into the cache.
  • --load-file-in-cache โ€” load a static file into the cache.
  • --load-file-in-cache-gzip โ€” load a static file into the cache, with gzip compression. ๐Ÿ—œ๏ธโœจ
  • --cache2 โ€” create a new generation shared cache. keyval syntax.
  • --queue โ€” enable the shared queue.
  • --queue-blocksize โ€” set the queue blocksize.
  • --queue-store โ€” enable a persistent queue to disk.
  • --queue-store-sync โ€” set how often the persistent queue syncs.
  • -Q, --spooler โ€” run a spooler on the directory you specify.
  • --spooler-external โ€” map spooler requests onto a spooler directory that's managed by an external instance.
  • --spooler-ordered โ€” try to order how spooler tasks get executed. we're trying our best okay ๐Ÿ˜ญ
  • --spooler-chdir โ€” chdir() into the specified directory before each spooler task.
  • --spooler-processes โ€” set the number of processes for spoolers.
  • --spooler-quiet โ€” don't be verbose about spooler tasks. shhh ๐Ÿคซ
  • --spooler-max-tasks โ€” set the maximum number of tasks to run before recycling a spooler.
  • --spooler-harakiri โ€” set the harakiri timeout for spooler tasks.
  • --spooler-frequency โ€” set the spooler frequency.
  • --spooler-freq โ€” set the spooler frequency. the short one. same vibe.
  • --mule โ€” add a mule. ๐Ÿด
  • --mules โ€” add the specified number of mules. herd behavior.
  • --farm โ€” add a mule farm. yes, a farm of mules. the theme is committed.
  • --mule-msg-size โ€” set the mule message buffer size.
  • --signal โ€” send a uwsgi signal to a server.
  • --signal-bufsize โ€” set the buffer size for the signal queue.
  • --signals-bufsize โ€” set the buffer size for the signal queue. plural spelling, same buffer.
  • --signal-timer โ€” add a timer. syntax: <signal> <seconds>.
  • --timer โ€” add a timer. syntax: <signal> <seconds>. (short name, same timer)
  • --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. if it's already locked, exit. ๐Ÿ”’
  • --flock-wait โ€” lock the specified file before starting, and if it's locked, wait instead of bailing.
  • --flock2 โ€” lock the specified file after logging/daemon setup. exit if it's locked.
  • --flock-wait2 โ€” lock the specified file after logging/daemon setup, and wait if it's locked.
  • --pidfile โ€” create a pidfile. this happens before privileges drop.
  • --pidfile2 โ€” create a pidfile. this one happens after privileges drop.
  • --safe-pidfile โ€” create a safe pidfile, before privileges drop.
  • --safe-pidfile2 โ€” create a safe pidfile, after privileges drop.
  • --chroot โ€” chroot() into the directory you specify.
  • --pivot-root โ€” pivot_root() into the directories you specify. new_root and put_old must be separated with a space.
  • --pivot_root โ€” pivot_root() into the specified directories. again: new_root and put_old separated by a space. underscores, same option.
  • --uid โ€” setuid to the user/uid you specify.
  • --gid โ€” setgid to the group/gid you specify.
  • --add-gid โ€” add the group id you specify to the process credentials.
  • --immediate-uid โ€” setuid to the specified user/uid IMMEDIATELY. no waiting, no queue, right now.
  • --immediate-gid โ€” setgid to the specified group/gid IMMEDIATELY.
  • --no-initgroups โ€” disable the additional groups that get set via initgroups().
  • --cap โ€” set the process capability.
  • --unshare โ€” unshare() part of the processes and drop it into a new namespace. ๐Ÿซง
  • --unshare2 โ€” unshare() part of the processes into a new namespace, but after the rootfs change.
  • --setns-socket โ€” expose a unix socket that returns namespace fds from /proc/self/ns.
  • --setns-socket-skip โ€” skip the entry you name when sending setns file descriptors.
  • --setns-skip โ€” skip the specified entry when sending setns file descriptors. short-name twin.
  • --setns โ€” join a namespace that was created by an external uWSGI instance.
  • --setns-preopen โ€” open /proc/self/ns as soon as possible and cache the fds. early bird gets the namespace ๐Ÿฆ
  • --jailed โ€” marks this instance as jailed, which forces the post_jail hooks to actually run ๐Ÿ’…
  • --refork โ€” does a fork() again after the privileges drop. Super handy for jailing systems ๐Ÿงš
  • --re-fork โ€” same thing bestie: fork() again after privileges drop. Useful for jailing systems.
  • --refork-as-root โ€” fork() again but before the privileges drop this time. Useful for jailing systems โœจ
  • --re-fork-as-root โ€” identical energy: fork() again before privileges drop. Useful for jailing systems.
  • --refork-post-jail โ€” fork() again after jailing. Useful for jailing systems ๐Ÿซถ
  • --re-fork-post-jail โ€” yep, the twin: fork() again after jailing. Useful for jailing systems.
  • --hook-asap โ€” runs the hook you specify as soon as possible, like literally the moment it can ๐Ÿ‘‘
  • --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 inside the jail, after initialization.
  • --hook-as-root โ€” runs the specified hook before the privileges drop.
  • --hook-as-user โ€” runs the specified hook after the 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.
  • --hook-accepting1-once โ€” runs the specified hook after the first worker enters the accepting phase, once per instance.
  • --hook-master-start โ€” runs the specified hook when the Master starts up ๐ŸŒˆ
  • --hook-touch โ€” runs the specified hook whenever the file you name gets 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 the privileges drop.
  • --exec-as-user โ€” runs the specified command after the 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 a 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 the 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 a 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 the 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 network interface you name 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 the privileges drop.
  • --call-as-user โ€” calls the specified function after the 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 โ€” sets the weight of the instance (used by clustering/lb/subscriptions) โš–๏ธ
  • --auto-weight โ€” sets the 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 the specified megabytes.
  • --reload-on-rss โ€” reloads if rss memory is higher than the specified megabytes.
  • --evil-reload-on-as โ€” forces the master to reload a worker if its address space is higher than the specified megabytes ๐Ÿ˜ˆ
  • --evil-reload-on-rss โ€” forces the master to reload a worker if its rss memory is higher than the 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 a reload of (only) the 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 a 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 a command when the specified file is modified/touched. Syntax: file command โœจ
  • --touch-signal โ€” the moment that one file gets modified or touched, fire off a signal, bestie โœจ (syntax is file signal, so like --touch-signal /tmp/thing 17)
  • --fs-reload โ€” if the filesystem object you point at gets modified, do a graceful reload ๐Ÿ’…
  • --fs-brutal-reload โ€” same energy, except it's a brutal reload when that filesystem object changes ๐Ÿ˜ค no softness, no grace
  • --fs-signal โ€” raise a uwsgi signal when the specified filesystem object gets modified (syntax: file signal) ๐Ÿฆ‹
  • --check-mountpoint โ€” if a filesystem becomes unreachable, the instance gets destroyed ๐Ÿ’€ genuinely useful if you want reliable Fuse management
  • --mountpoint-check โ€” exact same thing: destroy the instance if a filesystem is no longer reachable (again, for reliable Fuse management) ๐Ÿ”ฅ
  • --check-mount โ€” yep, you guessed it โ€” destroy the instance when a filesystem is unreachable, for that reliable Fuse management life ๐ŸŒธ
  • --mount-check โ€” the fourth alias, same deal: instance goes bye-bye if the filesystem can't be reached, useful for reliable Fuse management ๐ŸŽ€
  • --propagate-touch โ€” the over-engineering option, for systems with flaky signal management ๐Ÿ™ˆ it's giving "we did too much and we know it"
  • --limit-post โ€” cap that request body, periodt ๐Ÿ’…
  • --no-orphans โ€” workers get automatically killed if the master dies. Heads up though: this can be dangerous for availability โš ๏ธ
  • --prio โ€” set processes/threads priority ๐Ÿ‘‘
  • --cpu-affinity โ€” set cpu affinity ๐Ÿงš
  • --post-buffering โ€” set the size in bytes where, past that point, it buffers to disk instead of memory ๐Ÿ“
  • --post-buffering-bufsize โ€” set the buffer size used for read() in post buffering mode ๐Ÿ’œ
  • --body-read-warning โ€” set how much memory allocation (in megabytes) is allowed for a request body before it starts printing a warning ๐Ÿ˜ญ
  • --upload-progress โ€” turn on creation of .json files in the directory you specify, while a file upload is happening โœจ
  • --no-default-app โ€” do not fall back to the default app ๐Ÿ™…
  • --manage-script-name โ€” automatically rewrite SCRIPT_NAME and PATH_INFO ๐Ÿฆ‹
  • --ignore-script-name โ€” just ignore SCRIPT_NAME entirely
  • --catch-exceptions โ€” report exceptions as http output. Discouraged โ€” use this only for testing, fr fr ๐Ÿšจ
  • --reload-on-exception โ€” reload a worker whenever an exception gets raised ๐Ÿ”„
  • --reload-on-exception-type โ€” reload a worker when one specific exception type gets raised ๐ŸŽฏ
  • --reload-on-exception-value โ€” reload a worker when a specific exception value gets 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 โ€” turn on the metrics subsystem ๐Ÿ“Š
  • --metric โ€” add a custom metric โœจ
  • --metric-threshold โ€” add a metric threshold/alarm ๐Ÿšจ
  • --metric-alarm โ€” also adds a metric threshold/alarm (same thing, different name bestie)
  • --alarm-metric โ€” and again โ€” add a metric threshold/alarm ๐Ÿ’–
  • --metrics-dir โ€” export metrics as text files into the directory you name ๐Ÿ“
  • --metrics-dir-restore โ€” restore the last value taken from the metrics dir
  • --metric-dir โ€” export metrics as text files to the specified directory (yes, singular spelling, same vibe)
  • --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 address you give it ๐ŸŒˆ
  • --stats โ€” enable the stats server on the specified address ๐Ÿ“ˆ
  • --stats-server โ€” enable the stats server on the specified address (same option, other name)
  • --stats-http โ€” prefix the stats server json output with http headers ๐ŸŒ
  • --stats-minified โ€” minify the statistics json output โœ‚๏ธ
  • --stats-min โ€” minify statistics json output (short version, same result)
  • --stats-push โ€” push the stats json to the destination you specify ๐Ÿš€
  • --stats-pusher-default-freq โ€” set the default frequency of stats pushers โฑ๏ธ
  • --stats-pushers-default-freq โ€” set the default frequency of stats pushers (plural spelling, same deal)
  • --stats-no-cores โ€” disable generation of cores-related stats
  • --stats-no-metrics โ€” don't include metrics in the stats output ๐Ÿ™…
  • --multicast โ€” subscribe to the multicast group you specify ๐Ÿ“ก
  • --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 used for subscriptions
  • --legion โ€” become a member of a legion โš”๏ธ
  • --legion-mcast โ€” become 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 the legion subsystem
  • --legion-death-on-lord-error โ€” declare itself a dead node for the number of seconds you specify if one of the lord hooks fails ๐Ÿ’€
  • --legion-skew-tolerance โ€” set the clock skew tolerance of the legion subsystem (default 60 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 (that's the shutdown of the instance, dramatic ik) ๐Ÿ˜ญ
  • --legion-join โ€” action to call on legion join (the first time quorum is reached) ๐ŸŽ‰
  • --legion-node-joined โ€” action to call when a new node joins the legion
  • --legion-node-left โ€” action to call when a node leaves the legion ๐Ÿ‘‹
  • --legion-quorum โ€” set the quorum of a legion ๐Ÿ—ณ๏ธ
  • --legion-scroll โ€” set the scroll of a legion ๐Ÿ“œ
  • --legion-scroll-max-size โ€” set the max size of the legion scroll buffer
  • --legion-scroll-list-max-size โ€” set the max size of the legion scroll list buffer
  • --subscriptions-sign-check โ€” set the digest algorithm and certificate directory for the secured subscription system ๐Ÿ”
  • --subscriptions-sign-check-tolerance โ€” set the maximum tolerance (in seconds) of clock skew for the secured subscription system
  • --subscriptions-sign-skip-uid โ€” skip the signature check for the uid you specify 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 the load balancing algorithm for the subscription system โš–๏ธ
  • --subscription-dotsplit โ€” try to fall back to the next part (dot based) in the subscription key ๐ŸŽฏ
  • --subscribe-to โ€” subscribe to the subscription server you specify ๐Ÿ“ฌ
  • --st โ€” subscribe to the specified subscription server (the tiny version)
  • --subscribe โ€” subscribe to the specified subscription server ๐Ÿซถ
  • --subscribe2 โ€” subscribe to the specified subscription server using the advanced keyval syntax โœจ
  • --subscribe-freq โ€” send subscription announce at the interval you specify โฑ๏ธ
  • --subscription-tolerance โ€” set tolerance for subscription servers
  • --unsubscribe-on-graceful-reload โ€” force the unsubscribe request even during a graceful reload ๐Ÿ’…
  • --start-unsubscribed โ€” configure subscriptions but don't actually send them (super handy with master fifo) ๐Ÿ™ˆ
  • --subscribe-with-modifier1 โ€” force the specified 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 the maximum certificate verification depth ๐Ÿ”
  • --sni โ€” add an SNI-governed SSL context ๐Ÿงš
  • --sni-dir โ€” check for cert/key/client_ca files in the directory you specify, and create a sni/ssl context on demand ๐Ÿ“
  • --sni-dir-ciphers โ€” set ssl ciphers for the sni-dir option ๐Ÿ”’
  • --ssl-enable3 โ€” enable SSLv3. This is insecure โš ๏ธ like, genuinely, bestie
  • --ssl-enable-sslv3 โ€” enable SSLv3 โ€” also insecure ๐Ÿšจ
  • --ssl-enable-tlsv1 โ€” enable TLSv1 โ€” insecure too ๐Ÿ˜ฌ
  • --ssl-option โ€” set a raw ssl option (numeric value) ๐Ÿ”ข
  • --sni-regexp โ€” add an SNI-governed SSL context where the key is a regexp ๐ŸŽ€
  • --ssl-tmp-dir โ€” store ssl-related temp files in the directory you specify
  • --check-interval โ€” set the interval (in seconds) of master checks โฐ
  • --forkbomb-delay โ€” sleep for the number of seconds you specify when a forkbomb is detected ๐Ÿ’ฃ
  • --binary-path โ€” force binary path ๐Ÿ›ฃ๏ธ
  • --privileged-binary-patch โ€” patch the uwsgi binary with a new command (this happens before privileges drop) ๐Ÿ‘‘
  • --unprivileged-binary-patch โ€” patch the uwsgi binary with a new command (this happens 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 the number of cores you specify โšก
  • --max-fd โ€” set the maximum number of file descriptors (requires root privileges ๐Ÿ‘‘)
  • --logto โ€” set logfile/udp address ๐Ÿ“
  • --logto2 โ€” log to the specified file or udp address after privileges drop
  • --log-format โ€” set an advanced format for request logging โœจ
  • --logformat โ€” set advanced format for request logging (same option, one dash fewer)
  • --logformat-strftime โ€” apply strftime to logformat output ๐Ÿ•ฐ๏ธ
  • --log-format-strftime โ€” apply strftime to logformat output (yep, the dashed twin)
  • --logfile-chown โ€” chown logfiles ๐Ÿ‘ค
  • --logfile-chmod โ€” chmod logfiles ๐Ÿ”ง
  • --log-syslog โ€” log to syslog ๐Ÿ“ฎ
  • --log-socket โ€” send logs to the socket you specify ๐Ÿ”Œ
  • --req-logger โ€” set/append a request logger
  • --logger-req โ€” set/append a request logger (same thing, flipped name, we love consistency ๐Ÿ’…)
  • --logger โ€” set/append a logger ๐Ÿ“‹
  • --logger-list โ€” list enabled loggers ๐Ÿ“ƒ
  • --loggers-list โ€” list enabled loggers (plural, same output)
  • --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 (aka don't show) log lines that match the regexp you specify ๐Ÿ•ณ๏ธ
  • --log-filter โ€” show only log lines matching the regexp you specify ๐Ÿ”
  • --log-route โ€” log to the named logger you specify if the regexp applied to the logline matches ๐Ÿš
  • --log-req-route โ€” log requests to the named logger you specify if the regexp applied to the logline matches
  • --use-abort โ€” call abort() on segfault/fpe, which could be useful for generating a core dump ๐Ÿ’ฅ
  • --alarm โ€” create a new alarm, syntax: <alarm> <plugin:args> โฐ
  • --alarm-cheap โ€” bestie, instead of spinning up a whole dedicated thread for every curl-based alarm, just reuse the main alarm thread ๐Ÿ’… cheaper, faster, iconic.
  • --alarm-freq โ€” tunes the anti-loop alarm system. default is 3 seconds btw โฑ๏ธ
  • --alarm-fd โ€” fire the alarm you name whenever an fd gets read for read. by default it reads 1 byte โ€” set it to 8 for eventfd, no cap ๐Ÿซถ
  • --alarm-segfault โ€” raise the specified alarm the moment the segmentation fault handler runs ๐Ÿ’€
  • --segfault-alarm โ€” same energy, same thing: raise the specified alarm when the segfault handler executes ๐Ÿ’€
  • --alarm-backlog โ€” raise the specified alarm when the socket backlog queue is full ๐Ÿ˜ญ
  • --backlog-alarm โ€” yep, twin: raise the specified alarm when the socket backlog queue is full ๐Ÿ˜ญ
  • --lq-alarm โ€” raise the specified alarm when the socket backlog queue is full (listen-queue girlies rise ๐Ÿ™ˆ)
  • --alarm-lq โ€” same deal, raise the specified alarm when the socket backlog queue is full.
  • --alarm-listen-queue โ€” raise the specified alarm when the socket backlog queue is full ๐Ÿ”ฅ
  • --listen-queue-alarm โ€” and again, raise the specified alarm when the socket backlog queue is full.
  • --log-alarm โ€” raise the specified alarm whenever a log line matches your regexp. syntax: <alarm>[,alarm...] <regexp> โœจ
  • --alarm-log โ€” raise the specified alarm when a log line matches the specified regexp. syntax: <alarm>[,alarm...] <regexp>
  • --not-log-alarm โ€” skip the specified alarm when a log line matches the 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 โ€” just lists all your enabled alarms, so you can vibe check them ๐Ÿ‘‘
  • --alarms-list โ€” same, list enabled alarms.
  • --alarm-msg-size โ€” sets the max size of an alarm message. default is 8192 ๐Ÿ“
  • --log-master โ€” delegate the logging to the master process ๐Ÿงš
  • --log-master-bufsize โ€” set the buffer size for the master logger. heads up: bigger log messages will be truncated โœ‚๏ธ
  • --log-master-stream โ€” create the master logpipe as SOCK_STREAM ๐ŸŒŠ
  • --log-master-req-stream โ€” create the master requests logpipe as SOCK_STREAM ๐ŸŒŠ
  • --log-reopen โ€” reopen the log after a reload ๐Ÿ”„
  • --log-truncate โ€” truncate the log on startup ๐Ÿงผ
  • --log-maxsize โ€” set maximum logfile size.
  • --log-backupname โ€” set the logfile name used after rotation ๐ŸŽ€
  • --logdate โ€” prefix logs with a date, or a strftime string ๐Ÿ“…
  • --log-date โ€” prefix logs with date or a strftime string (same thing, cuter hyphen ๐Ÿ’–)
  • --log-prefix โ€” prefix logs with a string of your choosing โœ๏ธ
  • --log-zero โ€” log responses that have no body ๐Ÿ‘ป
  • --log-slow โ€” log requests slower than the number of milliseconds you specify ๐ŸŒ
  • --log-4xx โ€” log requests that come back with a 4xx response ๐Ÿ˜ฌ
  • --log-5xx โ€” log requests with a 5xx response ๐Ÿ˜ญ
  • --log-big โ€” log requests bigger than the size you specify ๐Ÿ˜
  • --log-sendfile โ€” log sendfile requests ๐Ÿ“จ
  • --log-ioerror โ€” log requests that hit io errors ๐Ÿ’ฅ
  • --log-micros โ€” report response time in microseconds instead of milliseconds ๐Ÿ”ฌ
  • --log-x-forwarded-for โ€” use the ip from the X-Forwarded-For header instead of REMOTE_ADDR ๐Ÿ•ต๏ธโ€โ™€๏ธ

  • --master-as-root โ€” leave the master process running as root ๐Ÿ‘‘
  • --drop-after-init โ€” run the privileges drop after plugin initialization. note: this is superseded by drop-after-apps โš ๏ธ
  • --drop-after-apps โ€” run the privileges drop after apps loading. note: this is superseded by master-as-root โš ๏ธ
  • --force-cwd โ€” force the initial working directory to the value you specify ๐Ÿ“‚
  • --binsh โ€” override /bin/sh (used by exec hooks, and it always falls back to /bin/sh) ๐Ÿš
  • --chdir โ€” chdir to the specified directory before apps loading ๐Ÿšช
  • --chdir2 โ€” chdir to the specified directory after apps loading ๐Ÿšช
  • --lazy โ€” set lazy mode: load apps in the workers instead of the master ๐Ÿ˜ด
  • --lazy-apps โ€” load apps in each worker instead of the master ๐Ÿ’ค
  • --cheap โ€” set cheap mode: only spawn workers after the first request ๐Ÿช™
  • --cheaper โ€” set cheaper mode, aka adaptive process spawning ๐Ÿ“ˆ
  • --cheaper-initial โ€” set the initial number of processes to spawn in cheaper mode ๐ŸŒฑ
  • --cheaper-algo โ€” choose the algorithm used for adaptive process spawning ๐Ÿง 
  • --cheaper-step โ€” the number of additional processes to spawn at each overload ๐Ÿชœ
  • --cheaper-overload โ€” increase workers after the specified overload ๐Ÿš€
  • --cheaper-algo-list โ€” list enabled cheapers algorithms ๐Ÿ“œ
  • --cheaper-algos-list โ€” list enabled cheapers algorithms.
  • --cheaper-list โ€” list enabled cheapers algorithms.
  • --cheaper-rss-limit-soft โ€” don't spawn new workers if the total resident memory usage of all workers is higher than this limit ๐Ÿงท
  • --cheaper-rss-limit-hard โ€” if total workers resident memory usage is higher than this, try to stop workers โœ‹
  • --idle โ€” set idle mode: put uWSGI into cheap mode after inactivity ๐Ÿ˜Œ
  • --die-on-idle โ€” shutdown uWSGI when idle ๐Ÿ’€
  • --mount โ€” load the application under the specified mountpoint ๐Ÿ—‚๏ธ
  • --worker-mount โ€” load the application under the mountpoint in the specified worker, or after workers spawn ๐Ÿ‘ท
  • --threads โ€” run each worker in prethreaded mode with the specified number of threads ๐Ÿงต
  • --thread-stacksize โ€” set threads stacksize.
  • --threads-stacksize โ€” set threads stacksize.
  • --thread-stack-size โ€” set threads stacksize.
  • --threads-stack-size โ€” set threads stacksize (yes bestie, four whole spellings of the same thing, slay ๐Ÿ’…)
  • --vhost โ€” enable virtualhosting mode, based on the SERVER_NAME variable ๐ŸŒ
  • --vhost-host โ€” enable virtualhosting mode, based on the HTTP_HOST variable ๐ŸŒ

  • --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) ๐Ÿท๏ธ
  • --route-if โ€” add a route based on a condition ๐Ÿค”
  • --route-if-not โ€” add a route based on a condition, but the negate version ๐Ÿ™ƒ
  • --route-run โ€” always run the specified route action โ–ถ๏ธ
  • --final-route โ€” add a final route ๐Ÿ
  • --final-route-status โ€” add a final route for the specified status ๐Ÿ”ข
  • --final-route-host โ€” add a final route based on 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 specified final route action โ–ถ๏ธ
  • --error-route โ€” add an error route ๐Ÿšจ
  • --error-route-status โ€” add an error route for the specified status ๐Ÿ”ข
  • --error-route-host โ€” add an error route based on 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 specified error route action โ–ถ๏ธ
  • --response-route โ€” add a response route ๐Ÿ’ฌ
  • --response-route-status โ€” add a response route for the specified status ๐Ÿ”ข
  • --response-route-host โ€” add a response route based on 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 specified response route action โ–ถ๏ธ
  • --router-list โ€” list enabled routers ๐Ÿ“‹
  • --routers-list โ€” list enabled routers.
  • --error-page-403 โ€” add an error page (html) for a managed 403 response ๐Ÿšซ
  • --error-page-404 โ€” add an error page (html) for a managed 404 response ๐Ÿ”
  • --error-page-500 โ€” add an error page (html) for a managed 500 response ๐Ÿ’ฅ

  • --websockets-ping-freq โ€” set the frequency (in seconds) of websockets automatic ping packets ๐Ÿ“
  • --websocket-ping-freq โ€” set the frequency (in seconds) of websockets automatic ping packets.
  • --websockets-pong-tolerance โ€” set the tolerance (in seconds) of the websockets ping/pong subsystem ๐Ÿ“
  • --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.
  • --chunked-input-limit โ€” set the max size of a chunked input part. default 1MB, in bytes ๐Ÿงฉ
  • --chunked-input-timeout โ€” set the default timeout for chunked input โณ
  • --clock โ€” set a clock source โฐ
  • --clock-list โ€” list enabled clocks ๐Ÿ•ฐ๏ธ

okay we're SO back bestie, the options keep going and honestly? iconic behavior ๐Ÿ’…

  • --clocks-list โ€” shows you every clock that's enabled, like a lil headcount of your clocks โฐ
  • --add-header โ€” auto-slaps HTTP headers onto the response, no manual labor required โœจ
  • --rem-header โ€” auto-removes the HTTP header you name from the response, gone, bye ๐Ÿซถ
  • --del-header โ€” same vibe as above: auto-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 โ€” also stores that specified response header in a request var (syntax: header var) ๐ŸŒธ
  • --pull-header โ€” stores the specified response header in a request var and yeets it out of the response (syntax: header var) ๐Ÿ’€
  • --check-static โ€” peeks for static files in the directory you name ๐Ÿ‘€
  • --check-static-docroot โ€” checks for static files in the requested DOCUMENT_ROOT ๐Ÿ—‚๏ธ
  • --static-check โ€” checks for static files in the specified directory (yes, same energy as check-static, different flag name) ๐Ÿ”
  • --static-map โ€” maps a mountpoint to a static directory (or file) ๐Ÿ—บ๏ธ
  • --static-map2 โ€” like --static-map except it completely appends the requested resource to the docroot ๐ŸŒˆ
  • --static-skip-ext โ€” skips the extension you name when doing staticfile checks ๐Ÿ™ˆ
  • --static-index โ€” searches for the file you specify if a directory is what got requested ๐Ÿ“
  • --static-safe โ€” skips security checks when the file lives under the path you give it ๐Ÿ›ก๏ธ
  • --static-cache-paths โ€” pops resolved paths into the uWSGI cache for however many seconds you say โฑ๏ธ
  • --static-cache-paths-name โ€” uses the cache you named for static paths ๐Ÿ’พ
  • --mimefile โ€” sets the mime types file path (default /etc/mime.types) ๐Ÿ“„
  • --mime-file โ€” also sets the mime types file path (default /etc/mime.types), twin flag fr fr ๐Ÿ‘ฏ
  • --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 hunting for a gzip version ๐Ÿ—œ๏ธ
  • --static-gzip-all โ€” checks for a gzip version of every requested static file ๐ŸŽ
  • --static-gzip-dir โ€” checks for a gzip version of all requested static files in the dir/prefix you specify ๐Ÿ“ฆ
  • --static-gzip-prefix โ€” same deal: gzip version check for 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 give ๐Ÿท๏ธ
  • --static-gzip-suffix โ€” same but it's the specified ext/suffix, matching energy ๐Ÿ’…
  • --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 โ€” same: number of offload threads to spawn (per-worker, default 0) ๐Ÿชก
  • --file-serve-mode โ€” sets the static file serving mode ๐Ÿฝ๏ธ
  • --fileserve-mode โ€” also sets the static file serving mode, bestie twin ๐Ÿซ‚
  • --disable-sendfile โ€” disables sendfile() and relies on the "boring" read()/write() instead ๐Ÿ˜ด
  • --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, like right now, no waiting ๐Ÿƒโ€โ™€๏ธ
  • --unenv โ€” unsets an environment variable ๐Ÿšซ
  • --vacuum โ€” tries to remove all the generated file/sockets ๐Ÿงน
  • --file-write โ€” writes the content you specify to the file you specify (syntax: file=value) before privileges drop โœ๏ธ
  • --cgroup โ€” puts the processes in 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 โ€” also runs in a new namespace under the specified rootfs, twin flag ๐Ÿ’ซ
  • --namespace-net โ€” adds a network namespace ๐Ÿ•ธ๏ธ
  • --ns-net โ€” adds a network namespace, matching set ๐ŸŒ
  • --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 โ€” same: TCP_FASTOPEN flag on TCP sockets with the specified qlen value ๐Ÿš€
  • --tcp-fast-open-client โ€” uses sendto(..., MSG_FASTOPEN, ...) instead of connect() if it's supported ๐Ÿ“จ
  • --tcp-fastopen-client โ€” same energy: sendto(..., MSG_FASTOPEN, ...) over connect() if supported ๐Ÿ“ฌ
  • --zerg โ€” attaches to a zerg server ๐Ÿ›ธ
  • --zerg-fallback โ€” falls back to normal sockets when 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 with key=val syntax ๐Ÿ”‘
  • --unique-cron โ€” adds a unique cron task ๐ŸŒŸ
  • --cron-harakiri โ€” sets the max time (in seconds) we wait for the cron command to complete โณ
  • --legion-cron โ€” adds a cron task that only runs when the instance is a lord of the specified legion ๐Ÿ‘‘
  • --cron-legion โ€” same thing, legion-lord-only cron task ๐Ÿฐ
  • --unique-legion-cron โ€” adds a unique cron task that only runs when the instance is a lord of the specified legion ๐Ÿ’Ž
  • --unique-cron-legion โ€” unique cron task, legion-lord-only, yes again ๐ŸŽ 
  • --loop โ€” selects the uWSGI loop engine ๐Ÿ”„
  • --loop-list โ€” lists enabled loop engines ๐Ÿ“‹
  • --loops-list โ€” also lists enabled loop engines, plural twin ๐Ÿ“
  • --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 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), and 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 only runs on the legion lord node ๐Ÿ‘‘
  • --legion-smart-attach-daemon โ€” same as --smart-attach-daemon but daemon only runs on the legion lord node ๐Ÿ…
  • --legion-smart-attach-daemon2 โ€” same as --smart-attach-daemon2 but daemon only runs 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, singular twin ๐Ÿงท
  • --need-plugins โ€” loads uWSGI plugins and exits on error ๐Ÿšช
  • --need-plugin โ€” same: 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, twin again ๐Ÿ“
  • --plugins-list โ€” lists enabled plugins ๐Ÿ“œ
  • --plugin-list โ€” lists enabled plugins, yep ๐Ÿ“ƒ
  • --autoload โ€” tries to automatically load plugins when unknown options show up ๐Ÿค–
  • --dlopen โ€” blindly loads a shared library, no questions asked ๐Ÿ™ˆ
  • --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 (the 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) ๐Ÿ“

and that's a wrap on the options, bestie ๐ŸŽ€ you made it to the end and honestly? main character energy fr fr. this page comes to you from uwsgi_gccgo version 2.0.31-2, dated February 2026 โ€” go build something gorgeous with it ๐Ÿ’–โœจ๐ŸŒธ

๐Ÿ“ฆ where this page comes from