UWSGI_JVM_OPENJDK17(1)
hey bestie! welcome to the UWSGI_JVM_OPENJDK17(1) manual โ User Commands section, and yes, we're doing this together. โจ part 1, no cap. grab a strawberry ๐ and let's vibe check this whole thing.
NAME ๐ธ
uwsgi_jvm_openjdk17 โ fast (pure C), self-healing, developer-friendly WSGI server. it's giving server that literally heals itself, and I'm obsessed. ๐
SYNOPSIS โจ
uwsgi-core-local [options...]
DESCRIPTION ๐
okay so this whole section is the flag menu. one bullet per option, exactly as the manual serves it. let's go, bestie. ๐
-s,--socketโ bind the specified UNIX/TCP socket with the default protocol. the classic default-protocol bind. โจ-s,--uwsgi-socketโ bind the specified UNIX/TCP socket with the uwsgi protocol. uwsgi protocol only, bestie. ๐--suwsgi-socketโ bind the specified UNIX/TCP socket with the uwsgi protocol over SSL. yes, SSL on top. ๐--ssl-socketโ bind the specified UNIX/TCP socket with the uwsgi protocol over SSL. same SSL energy, different flag. ๐ธ--http-socketโ bind the specified UNIX/TCP socket with the HTTP protocol. HTTP bestie. ๐--http-socket-modifier1โ force the specified modifier1 when you're using HTTP protocol. modifier1 said so. ๐--http-socket-modifier2โ force the specified modifier2 when you're using HTTP protocol. modifier2 also said so. ๐--http11-socketโ bind the specified UNIX/TCP socket with the HTTP 1.1 (Keep-Alive) protocol. keep-alive era. ๐ฅ--https-socketโ bind the specified UNIX/TCP socket with the HTTPS protocol. secure vibes. ๐--https-socket-modifier1โ force the specified modifier1 when you're using HTTPS protocol. HTTPS but with modifier1. โจ--https-socket-modifier2โ force the specified modifier2 when you're using HTTPS protocol. HTTPS but with modifier2. โจ--fastcgi-socketโ bind the specified UNIX/TCP socket with the FastCGI protocol. FastCGI, iconic. ๐ฆ--fastcgi-nph-socketโ bind the specified UNIX/TCP socket with the FastCGI protocol (nph mode). nph mode, specifically. ๐ซ--fastcgi-modifier1โ force the specified modifier1 when you're using FastCGI protocol. FastCGI modifier1. ๐--fastcgi-modifier2โ force the specified modifier2 when you're using FastCGI protocol. FastCGI modifier2. ๐--scgi-socketโ bind the specified UNIX/TCP socket with the SCGI protocol. SCGI bestie. ๐--scgi-nph-socketโ bind the specified UNIX/TCP socket with the SCGI protocol (nph mode). nph mode again. โจ--scgi-modifier1โ force the specified modifier1 when you're using SCGI protocol. SCGI modifier1. ๐--scgi-modifier2โ force the specified modifier2 when you're using SCGI protocol. SCGI modifier2. ๐--raw-socketโ bind the specified UNIX/TCP socket with the RAW protocol. RAW and unfiltered. ๐ฅ--raw-modifier1โ force the specified modifier1 when you're using RAW protocol. RAW modifier1. ๐--raw-modifier2โ force the specified modifier2 when you're using RAW protocol. RAW modifier2. ๐--puwsgi-socketโ bind the specified UNIX/TCP socket with the persistent uwsgi protocol (puwsgi). persistent uwsgi, periodt. ๐--protocolโ force the specified protocol for default sockets. default sockets, specified protocol. โจ--socket-protocolโ force the specified protocol for default sockets. same energy. ๐ซ--shared-socketโ create a shared socket for advanced jailing or ipc. advanced jailing/ipc vibes. ๐ฆ--undeferred-shared-socketโ create a shared socket for advanced jailing or ipc (undeferred mode). undeferred mode, specifically. ๐-p,--processesโ spawn the specified number of workers/processes. that many processes. ๐-p,--workersโ spawn the specified number of workers/processes. same thing, worker edition. ๐--thunder-lockโ serialize accept() usage (if possible). thunder lock, if possible. โก-t,--harakiriโ set the harakiri timeout. harakiri timeout, bestie. ๐ก๏ธ--harakiri-verboseโ enable verbose mode for harakiri. verbose harakiri. ๐ข--harakiri-graceful-timeoutโ interval between a graceful harakiri attempt and a sigkill. graceful then sigkill. ๐--harakiri-graceful-signalโ use this signal instead of sigterm for graceful harakiri attempts. not sigterm, this signal. ๐ฆ--harakiri-queue-thresholdโ only trigger harakiri if queue is greater than this threshold. queue threshold gate. ๐ง--harakiri-no-arhโ do not enable harakiri during after-request-hook. no harakiri in ARH. ๐--no-harakiri-arhโ do not enable harakiri during after-request-hook. same no-harakiri ARH energy. ๐--no-harakiri-after-req-hookโ do not enable harakiri during after-request-hook. literally the same. ๐--backtrace-depthโ set the backtrace depth. depth, set. ๐งต--mule-harakiriโ set the harakiri timeout for mule tasks. mule tasks get harakiri timeout. ๐ด-x,--xmlconfigโ load config from an xml file. xml config, bestie. ๐-x,--xmlโ load config from an xml file. same xml config energy. ๐--configโ load configuration using the pluggable system. pluggable system, go. ๐--fallback-configโ re-exec uwsgi with the specified config when exit code is 1. exit code 1 fallback. ๐--strictโ enable strict mode (placeholder cannot be used). strict mode, so placeholders are a no. ๐ซ--skip-zeroโ skip check of file descriptor 0. fd 0 check skipped. 0๏ธโฃ--skip-atexitโ skip atexit hooks (ignored by the master). atexit hooks skipped, master ignores it. ๐--skip-atexit-teardownโ skip atexit teardown (ignored by the master). teardown skipped, master ignores it. ๐-S,--setโ set a placeholder or an option. placeholder or option, your call. ๐--set-placeholderโ set a placeholder. placeholder set. ๐--set-phโ set a placeholder. placeholder set, short version. ๐--getโ print the specified option value and exit. print it and bounce. ๐จ๏ธ--declare-optionโ declare a new uWSGI custom option. new custom option, declared. ๐--declare-option2โ declare a new uWSGI custom option (non-immediate). non-immediate custom option. โณ--resolveโ place the result of a dns query in the specified placeholder, sytax: placeholder=name (immediate option). yes,sytaxis literally the typo, iconic. immediate option. ๐--forโ (opt logic) for cycle. opt logic for loop. ๐--for-globโ (opt logic) for cycle (expand glob). for cycle with glob expansion. ๐--for-timesโ (opt logic) for cycle (expand the specified num to a list starting from 1). num to list starting at 1. ๐ข--for-readlineโ (opt logic) for cycle (expand the specified file to a list of lines). file to lines. ๐--endforโ (opt logic) end for cycle. end for. ๐--end-forโ (opt logic) end for cycle. end for again. ๐--if-optโ (opt logic) check for option. if option. โ--if-not-optโ (opt logic) check for option. if not option. โ--if-envโ (opt logic) check for environment variable. if env var. ๐ฟ--if-not-envโ (opt logic) check for environment variable. if not env var. ๐ฟ--ifenvโ (opt logic) check for environment variable. ifenv, same check. ๐ฟ--if-reloadโ (opt logic) check for reload. if reload. ๐--if-not-reloadโ (opt logic) check for reload. if not reload. ๐--if-hostnameโ (opt logic) check for hostname. if hostname. ๐--if-not-hostnameโ (opt logic) check for hostname. if not hostname. ๐--if-hostname-matchโ (opt logic) try to match hostname against a regular expression. hostname regex match. ๐งฌ--if-not-hostname-matchโ (opt logic) try to match hostname against a regular expression. hostname regex non-match. ๐งฌ--if-existsโ (opt logic) check for file/directory existence. if file/dir exists. ๐--if-not-existsโ (opt logic) check for file/directory existence. if file/dir does not exist. ๐--ifexistsโ (opt logic) check for file/directory existence. ifexists, same check. ๐--if-pluginโ (opt logic) check for plugin. if plugin. ๐--if-not-pluginโ (opt logic) check for plugin. if not plugin. ๐--ifpluginโ (opt logic) check for plugin. ifplugin, same check. ๐--if-fileโ (opt logic) check for file existance. yes,existancewith an a, love that. ๐--if-not-fileโ (opt logic) check for file existance. sameexistanceenergy. ๐--if-dirโ (opt logic) check for directory existance. directoryexistance, iconic. ๐--if-not-dirโ (opt logic) check for directory existance. same. ๐--ifdirโ (opt logic) check for directory existance. ifdir. ๐--if-directoryโ (opt logic) check for directory existance. if-directory. ๐--endifโ (opt logic) end if. end if. ๐--end-ifโ (opt logic) end if. end if again. ๐--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. bye annoying SIGPIPE reports. ๐--ignore-write-errorsโ do not report (annoying) write()/writev() errors. bye annoying write errors. ๐--write-errors-toleranceโ set the maximum number of allowed write errors (default: no tolerance). default is no tolerance, bestie. ๐ฆ--write-errors-exception-onlyโ only raise an exception on write errors giving control to the app itself. exception only, app gets control. ๐ฎ--disable-write-exceptionโ disable exception generation on write()/writev(). no write exceptions generated. ๐ซ--inheritโ use the specified file as a config template. config template file. ๐งฌ--includeโ include the specified file as immediate configuration. immediate config include. ๐ฅ--inject-beforeโ inject a text file before the config file (advanced templating). advanced templating, before. ๐--inject-afterโ inject a text file after the config file (advanced templating). advanced templating, after. ๐-d,--daemonizeโ daemonize uWSGI. daemonize it. ๐--daemonize2โ daemonize uWSGI after app loading. daemonize after app load. ๐--stopโ stop an instance. stop it. ๐--reloadโ reload an instance. reload it. ๐--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 read. ๐--extractโ fetch/dump any supported address to stdout. dump that 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, internal. ๐งบ-m,--memory-reportโ enable memory report. memory report on. ๐ง--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). abstract mode, Linux only. ๐ง-C,--chmod-socketโ chmod-socket. chmod the socket. ๐-C,--chmodโ chmod-socket. same chmod socket energy. ๐--chown-socketโ chown unix sockets. chown those unix sockets. ๐--umaskโ set umask. umask, set. ๐ญ--freebindโ put socket in freebind mode. freebind mode. ๐๏ธ--map-socketโ map sockets to specific workers. socket-to-worker mapping. ๐บ๏ธ-T,--enable-threadsโ enable threads. threads on. ๐งต--no-threads-waitโ do not wait for threads cancellation on quit/reload. no waiting 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. process name prefix. ๐ค--procname-prefix-spacedโ add a spaced prefix to the process names. spaced prefix. โฃ--procname-appendโ append a string to process names. append to process names. โ--procnameโ set process names. set those process names. ๐ท๏ธ--procname-masterโ set master process name. master process name. ๐-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? exit. ๐ช-M,--masterโ enable master process. master process on. ๐--honour-stdinโ do not remap stdin to /dev/null. stdin stays stdin, not /dev/null. ๐ฅ--emperorโ run the Emperor. Emperor mode. ๐--emperor-proxy-socketโ force the vassal to became an Emperor proxy. yes,became, iconic. vassal becomes proxy. ๐ฐ๏ธ--emperor-wrapperโ set a binary wrapper for vassals. vassal binary wrapper. ๐--emperor-wrapper-overrideโ set a binary wrapper for vassals to try before the default one. try this wrapper before default. ๐ฅ--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. ๐ซ--emperor-procnameโ set the Emperor process name. Emperor process name. ๐--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 vassal tolerance. ๐ง--emperor-pidfileโ write the Emperor pid in the specified file. Emperor pid goes in the file. ๐--emperor-tyrantโ okay so this puts the Emperor in Tyrant mode, absolute monarchy era ๐ periodt--emperor-tyrant-nofollowโ in Tyrant mode, do not follow symlinks when checking uid/gid โ no cap, we don't chase links ๐ซ๐--emperor-statsโ run the Emperor stats server, it's giving dashboard energy ๐--emperor-stats-serverโ same vibe: run the Emperor stats server ๐--early-emperorโ spawn the emperor as soon as possibile (yes, that's the original spelling, iconic) โฐ--emperor-broodlordโ run the emperor in BroodLord mode, main character energy ๐--emperor-throttleโ set throttling level (in milliseconds) for bad behaving vassals โ default is1000๐ข--emperor-max-throttleโ set max throttling level (in milliseconds) for bad behaving vassals โ default is3 minutes๐ข--emperor-magic-execโ prefix vassals config files withexec://if they have the executable bit, slay โจ--emperor-on-demand-extensionโ search for text file (vassal name + extension) containing the on demand socket name ๐--emperor-on-demand-extโ same thing, search for text file (vassal name + extension) containing the on demand socket name ๐--emperor-on-demand-directoryโ enable on demand mode binding to the unix socket in the specified directory named like the vassal +.socket๐--emperor-on-demand-dirโ enable on demand mode binding to the unix socket in the specified directory named like the vassal +.socket๐--emperor-on-demand-execโ use the output of the specified command as on demand socket name (the vassal name is passed as the only argument) ๐--emperor-extra-extensionโ allows the specified extension in the Emperor (vassal will be called with--config) โจ--emperor-extra-extโ allows the specified extension in the Emperor (vassal will be called with--config) โจ--emperor-no-blacklistโ disable Emperor blacklisting subsystem, unbothered ๐ซ--emperor-use-cloneโ useclone()instead offork()passing the specifiedunshare()flags ๐งฌ--emperor-graceful-shutdownโ use vassals graceful shutdown during ragnarok ๐--emperor-capโ set vassals capability, flex ๐ช--vassals-capโ set vassals capability, same flex ๐ช--vassal-capโ set vassals capability, singular flex ๐ช--imperial-monitor-listโ list enabled imperial monitors ๐--imperial-monitors-listโ list enabled imperial monitors (plural monitors, iykyk) ๐--vassals-inheritโ add config templates to vassals config (uses--inherit) ๐--vassals-includeโ include config templates to vassals config (uses--includeinstead of--inherit) ๐--vassals-inherit-beforeโ add config templates to vassals config (uses--inherit, parses before the vassal file) ๐--vassals-include-beforeโ include config templates to vassals config (uses--includeinstead of--inherit, parses before the vassal file) ๐--vassals-start-hookโ run the specified command before each vassal starts ๐ช--vassals-stop-hookโ run the specified command after vassal's death ๐ช--vassal-sosโ ask emperor for reinforcement when overloaded ๐--vassal-sos-backlogโ ask emperor for sos if backlog queue has more items than the value specified ๐--vassals-setโ automatically set the specified option (via--set) for every vassal โ๏ธ--vassal-setโ automatically set the specified option (via--set) for every vassal โ๏ธ--heartbeatโ announce healthiness to the emperor ๐--reload-mercyโ set the maximum time (in seconds) we wait for workers and other processes to die during reload/shutdown โณ--worker-reload-mercyโ set the maximum time (in seconds) a worker can take to reload/shutdown (default is60) โณ--mule-reload-mercyโ set the maximum time (in seconds) a mule can take to reload/shutdown (default is60) โณ--exit-on-reloadโ force exit even if a reload is requested ๐ช--die-on-termโ exit instead of brutal reload on SIGTERM ๐--force-gatewayโ force the spawn of the first registered gateway without a master ๐ช-h,--helpโ show this help โ-h,--usageโ show this help โ--print-symโ print content of the specified binary symbol ๐--print-symbolโ print content of the specified binary symbol ๐-r,--reaperโ callwaitpid(-1,...)after each request to get rid of zombies ๐ง-R,--max-requestsโ reload workers after the specified amount of managed requests ๐--min-worker-lifetimeโ number of seconds worker must run before being reloaded (default is60) โฑ๏ธ--max-worker-lifetimeโ reload workers after the specified amount of seconds (default is disabled) โฑ๏ธ--max-worker-lifetime-deltaโ add(worker_id * delta)seconds to themax_worker_lifetimevalue of each worker โ-z,--socket-timeoutโ set internal sockets timeout โฐ--no-fd-passingโ disable file descriptor passing ๐ซ--locksโ create the specified number of shared locks ๐--lock-engineโ set the lock engine ๐--ftokโ set the ipcsem key viaftok()for avoiding duplicates ๐--persistent-ipcsemโ do not remove ipcsem's on shutdown ๐ก๏ธ-A,--sharedareaโ create a raw shared memory area of specified pages (note: it supports keyval too) ๐ง--safe-fdโ do not close the specified file descriptor ๐ก๏ธ--fd-safeโ do not close the specified file descriptor ๐ก๏ธ--cacheโ create a shared cache containing given elements ๐พ--cache-blocksizeโ set cache blocksize ๐พ--cache-storeโ enable persistent cache to disk ๐พ--cache-store-syncโ set frequency of sync for persistent cache ๐พ--cache-no-expireโ disable auto sweep of expired items ๐งน--cache-expire-freqโ set the frequency of cache sweeper scans (default3 seconds) ๐งน--cache-report-freed-itemsโ constantly report the cache item freed by the sweeper (use only for debug) ๐--cache-udp-serverโ bind the cache udp server (used only for set/update/delete) to the specified socket ๐ก--cache-udp-nodeโ send cache update/deletion to the specified cache udp server ๐ก--cache-syncโ copy the whole content of another uWSGI cache server on server startup ๐--cache-use-last-modifiedโ updatelast_modified_attimestamp on every cache item modification (default is disabled) ๐--add-cache-itemโ add an item in the cache โ--load-file-in-cacheโ load a static file in the cache ๐--load-file-in-cache-gzipโ load a static file in the cache with gzip compression ๐๏ธ--cache2โ create a new generation shared cache (keyval syntax) โจ--queueโ enable shared queue ๐ฅ--queue-blocksizeโ set queue blocksize ๐ฅ--queue-storeโ enable persistent queue to disk ๐พ--queue-store-syncโ set frequency of sync for persistent queue ๐พ-Q,--spoolerโ run a spooler on the specified directory ๐งต--spooler-externalโ map spoolers requests to a spooler directory managed by an external instance ๐งต--spooler-orderedโ try to order the execution of spooler tasks ๐งต--spooler-chdirโchdir()to specified directory before each spooler task ๐--spooler-processesโ set the number of processes for spoolers ๐งต--spooler-quietโ do not be verbose with spooler tasks ๐คซ--spooler-max-tasksโ set the maximum number of tasks to run before recycling a spooler โป๏ธ--spooler-harakiriโ set harakiri timeout for spooler tasks ๐ก๏ธ--spooler-frequencyโ set spooler frequency โฑ๏ธ--spooler-freqโ set spooler frequency โฑ๏ธ--muleโ add a mule ๐ด--mulesโ add the specified number of mules ๐ด--farmโ add a mule farm ๐--mule-msg-sizeโ set mule message buffer size ๐จ--signalโ send a uwsgi signal to a server ๐ถ--signal-bufsizeโ set buffer size for signal queue ๐ถ--signals-bufsizeโ set buffer size for signal queue ๐ถ--signal-timerโ add a timer (syntax:<signal> <seconds>) โฒ๏ธ--timerโ add a timer (syntax:<signal> <seconds>) โฒ๏ธ--signal-rbtimerโ add a redblack timer (syntax:<signal> <seconds>) โฒ๏ธ--rbtimerโ add a redblack timer (syntax:<signal> <seconds>) โฒ๏ธ--rpc-maxโ maximum number of rpc slots (default:64) ๐-L,--disable-loggingโ disable request logging ๐ซ๐--flockโ lock the specified file before starting, exit if locked ๐--flock-waitโ lock the specified file before starting, wait if locked โณ๐--flock2โ lock the specified file after logging/daemon setup, exit if locked ๐--flock-wait2โ lock the specified file after logging/daemon setup, wait if locked โณ๐--pidfileโ create pidfile (before privileges drop) ๐--pidfile2โ create pidfile (after privileges drop) ๐--safe-pidfileโ create safe pidfile (before privileges drop) ๐--safe-pidfile2โ create safe pidfile (after privileges drop) ๐--chrootโchroot()to the specified directory ๐ฐ--pivot-rootโpivot_root()to the specified directories (new_rootandput_oldmust be separated with a space) ๐--pivot_rootโpivot_root()to the specified directories (new_rootandput_oldmust be separated with a space) ๐--uidโ setuid to the specified user/uid ๐ค--gidโ setgid to the specified group/gid ๐ฅ--add-gidโ add the specified group id to the process credentials โ--immediate-uidโ setuid to the specified user/uid IMMEDIATELY โก--immediate-gidโ setgid to the specified group/gid IMMEDIATELY โก--no-initgroupsโ disable additional groups set viainitgroups()๐ซ--capโ set process capability ๐ช--unshareโunshare()part of the processes and put it in a new namespace ๐งฌ--unshare2โunshare()part of the processes and put it in a new namespace after rootfs change ๐งฌ--setns-socketโ expose a unix socket returning namespace fds from/proc/self/ns๐--setns-socket-skipโ skip the specified entry when sending setns file descriptors โญ๏ธ--setns-skipโ skip the specified entry when sending setns file descriptors โญ๏ธ--setnsโ join a namespace created by an external uWSGI instance ๐--setns-preopenโ open/proc/self/nsas soon as possible and cache fds ๐--jailedโ mark the instance as jailed (force the execution of post_jail hooks) ๐
Lowkey the next chunk is where uWSGI starts showing off its lifecycle hook era ๐ like, you can inject yourself into literally every moment of the process's lil journey. Obsessed.
๐ THE REFORK FAMILY (yes, there's a lot of them)
--reforkโfork()again after privileges drop. Useful for jailing systems.--re-forkโ same vibe, same energy: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โ the hyphenated twin ๐fork()again before privileges drop. Useful for jailing systems.--refork-post-jailโfork()again after jailing. Useful for jailing systems.--re-fork-post-jailโ you guessed it bestie:fork()again after jailing. Useful for jailing systems.
โจ HOOKS: the "run my lil script at this exact moment" collection
ngl these are giving main character energy โ you're telling uWSGI "when X happens, go do Y." The <action> is yours to choose, the timing is uWSGI's.
--hook-asapโ run the specified hook as soon as possible.--hook-pre-jailโ run the specified hook before jailing.--hook-post-jailโ run the specified hook after jailing.--hook-in-jailโ run the specified hook in jail after initialization.--hook-as-rootโ run the specified hook before privileges drop.--hook-as-userโ run the specified hook after privileges drop.--hook-as-user-atexitโ run the specified hook before app exit and reload.--hook-pre-appโ run the specified hook before app loading.--hook-post-appโ run the specified hook after app loading.--hook-post-forkโ run the specified hook after each fork.--hook-acceptingโ run the specified hook after each worker enter the accepting phase.--hook-accepting1โ run the specified hook after the first worker enters the accepting phase.--hook-accepting-onceโ run the specified hook after each worker enter the accepting phase (once per-instance).--hook-accepting1-onceโ run the specified hook after the first worker enters the accepting phase (once per instance).--hook-master-startโ run the specified hook when the Master starts. ๐--hook-touchโ run the specified hook when the specified file is touched (syntax:<file> <action>).--hook-emperor-startโ run the specified hook when the Emperor starts.--hook-emperor-stopโ run the specified hook when the Emperor send a stop message.--hook-emperor-reloadโ run the specified hook when the Emperor send a reload message.--hook-emperor-lostโ run the specified hook when the Emperor connection is lost. ๐ญ--hook-as-vassalโ run the specified hook beforeexec()ing the vassal.--hook-as-emperorโ run the specified hook in the emperor after the vassal has been started.--hook-as-muleโ run the specified hook in each mule.--hook-as-gatewayโ run the specified hook in each gateway.--after-request-hookโ run the specified function/symbol after each request.--after-request-callโ run the specified function/symbol after each request.
๐ EXECS: same timing slots, but it's a command this time
--exec-asapโ run the specified command as soon as possible.--exec-pre-jailโ run the specified command before jailing.--exec-post-jailโ run the specified command after jailing.--exec-in-jailโ run the specified command in jail after initialization.--exec-as-rootโ run the specified command before privileges drop.--exec-as-userโ run the specified command after privileges drop.--exec-as-user-atexitโ run the specified command before app exit and reload.--exec-pre-appโ run the specified command before app loading.--exec-post-appโ run the specified command after app loading.--exec-as-vassalโ run the specified command beforeexec()ing the vassal.--exec-as-emperorโ run the specified command in the emperor after the vassal has been started.
๐ฆ MOUNTS & UMOUNTS: filesystem girlies rise up
--mount-asapโ mount filesystem as soon as possible.--mount-pre-jailโ mount filesystem before jailing.--mount-post-jailโ mount filesystem after jailing.--mount-in-jailโ mount filesystem in jail after initialization.--mount-as-rootโ mount filesystem before privileges drop.--mount-as-vassalโ mount filesystem beforeexec()ing the vassal.--mount-as-emperorโ mount filesystem in the emperor after the vassal has been started.--umount-asapโ unmount filesystem as soon as possible.--umount-pre-jailโ unmount filesystem before jailing.--umount-post-jailโ unmount filesystem after jailing.--umount-in-jailโ unmount filesystem in jail after initialization.--umount-as-rootโ unmount filesystem before privileges drop.--umount-as-vassalโ unmount filesystem beforeexec()ing the vassal.--umount-as-emperorโ unmount filesystem in the emperor after the vassal has been started.
๐ง THE WAIT-FOR GIRLIES (patience is a virtue fr fr)
So many aliases, bestie โ they all do the exact same thing, pick whichever one your fingers vibe with.
--wait-for-interfaceโ wait for the specified network interface to come up before running root hooks.--wait-for-interface-timeoutโ set the timeout forwait-for-interface.--wait-interfaceโ wait for the specified network interface to come up before running root hooks.--wait-interface-timeoutโ set the timeout forwait-for-interface.--wait-for-ifaceโ wait for the specified network interface to come up before running root hooks.--wait-for-iface-timeoutโ set the timeout forwait-for-interface.--wait-ifaceโ wait for the specified network interface to come up before running root hooks.--wait-iface-timeoutโ set the timeout forwait-for-interface.--wait-for-fsโ wait for the specified filesystem item to appear before running root hooks.--wait-for-fileโ wait for the specified file to appear before running root hooks.--wait-for-dirโ wait for the specified directory to appear before running root hooks.--wait-for-mountpointโ wait for the specified mountpoint to appear before running root hooks.--wait-for-fs-timeoutโ set the timeout forwait-for-fs/file/dir.--wait-for-socketโ wait for the specified socket to be ready before loading apps.--wait-for-socket-timeoutโ set the timeout forwait-for-socket.
๐ CALLS: function-flavoured, with the arg count baked in
Watch the numbers on the emperor/vassal ones โ they're not decorative, they tell you the signature ๐
--call-asapโ call the specified function as soon as possible.--call-pre-jailโ call the specified function before jailing.--call-post-jailโ call the specified function after jailing.--call-in-jailโ call the specified function in jail after initialization.--call-as-rootโ call the specified function before privileges drop.--call-as-userโ call the specified function after privileges drop.--call-as-user-atexitโ call the specified function before app exit and reload.--call-pre-appโ call the specified function before app loading.--call-post-appโ call the specified function after app loading.--call-as-vassalโ call the specifiedfunction()beforeexec()ing the vassal.--call-as-vassal1โ call the specifiedfunction(char *)beforeexec()ing the vassal.--call-as-vassal3โ call the specifiedfunction(char *, uid_t, gid_t)beforeexec()ing the vassal.--call-as-emperorโ call the specifiedfunction()in the emperor after the vassal has been started.--call-as-emperor1โ call the specifiedfunction(char *)in the emperor after the vassal has been started.--call-as-emperor2โ call the specifiedfunction(char *, pid_t)in the emperor after the vassal has been started.--call-as-emperor4โ call the specifiedfunction(char *, pid_t, uid_t, gid_t)in the emperor after the vassal has been started.
๐ธ CONFIG LOADING & MODES
--iniโ load config from ini file.-y|--yamlโ load config from yaml file.-y|--ymlโ load config from yaml file.-j|--jsonโ load config from json file.-j|--jsโ load config from json file.--weightโ weight of the instance (used by clustering/lb/subscriptions).--auto-weightโ set weight of the instance (used by clustering/lb/subscriptions) automatically.--no-serverโ force no-server mode.--command-modeโ force command mode.
๐ฅ SOCKET TWEAKS (networking glow-up)
--no-defer-acceptโ disable deferred-accept on sockets.--tcp-nodelayโ enable TCP NODELAY on each request.--so-keepaliveโ enable TCP KEEPALIVEs.--so-send-timeoutโ setSO_SNDTIMEO.--socket-send-timeoutโ setSO_SNDTIMEO.--so-write-timeoutโ setSO_SNDTIMEO.--socket-write-timeoutโ setSO_SNDTIMEO.--socket-sndbufโ setSO_SNDBUF.--socket-rcvbufโ setSO_RCVBUF.--shutdown-socketsโ force callingshutdown()in addition toclose()when sockets are destroyed.
โญ LIMITS, MEMORY & RELOADS
--limit-asโ limit processes address space/vsz.--limit-nprocโ limit the number of spawnable processes.--reload-on-asโ reload if address space is higher than specified megabytes.--reload-on-rssโ reload if rss memory is higher than specified megabytes.--evil-reload-on-asโ force the master to reload a worker if its address space is higher than specified megabytes.--evil-reload-on-rssโ force the master to reload a worker if its rss memory is higher than specified megabytes.--mem-collector-freqโ set the memory collector frequency when evil reloads are in place.--reload-on-fdโ reload if the specified file descriptor is ready.--brutal-reload-on-fdโ brutal reload if the specified file descriptor is ready.--ksmโ enable Linux KSM.--pcre-jitโ enable pcre jit (if available).--never-swapโ lock all memory pages avoiding swapping.
๐ TOUCH-* FAMILY: poke a file, trigger a thing
It's giving "touch grass" but for your server ๐ซถ
--touch-reloadโ reload uWSGI if the specified file is modified/touched.--touch-workers-reloadโ trigger reload of (only) workers if the specified file is modified/touched.--touch-mules-reloadโ reload mules if the specified file is modified/touched.--touch-spoolers-reloadโ reload spoolers if the specified file is modified/touched.--touch-chain-reloadโ trigger chain reload if the specified file is modified/touched.--touch-logrotateโ trigger logrotation if the specified file is modified/touched.--touch-logreopenโ trigger log reopen if the specified file is modified/touched.--touch-execโ run command when the specified file is modified/touched (syntax:file command).--touch-signalโ signal when the specified file is modified/touched (syntax:file signal).--fs-reloadโ graceful reload when the specified filesystem object is modified โจ--fs-brutal-reloadโ brutal reload when the specified filesystem object is modified ๐--fs-signalโ raise a uwsgi signal when the specified filesystem object is modified. syntax:file signal๐ก--check-mountpointโ destroy the instance if a filesystem is no more reachable (useful for reliable Fuse management) ๐ซ--mountpoint-checkโ same energy: destroy the instance if a filesystem is no more reachable (useful for reliable Fuse management) ๐--check-mountโ destroy the instance if a filesystem is no more reachable (useful for reliable Fuse management) ๐ง--mount-checkโ destroy the instance if a filesystem is no more reachable (useful for reliable Fuse management) ๐ธ--propagate-touchโ over-engineering option for systems with flaky signal management ๐--limit-postโ limit request body ๐ซ--no-orphansโ automatically kill workers if master dies (can be dangerous for availability) ๐ญ--prioโ set processes/threads priority ๐--cpu-affinityโ set cpu affinity ๐ง--post-bufferingโ set size in bytes after which it will buffer to disk instead of memory ๐พ--post-buffering-bufsizeโ set buffer size forread()in post buffering mode ๐--body-read-warningโ set the amount of allowed memory allocation (in megabytes) for request body before starting printing a warning โ ๏ธ--upload-progressโ enable creation of.jsonfiles in the specified directory during a file upload ๐ค--no-default-appโ do not fallback to default app ๐ซ--manage-script-nameโ automatically rewriteSCRIPT_NAMEandPATH_INFOโ๏ธ--ignore-script-nameโ ignoreSCRIPT_NAME๐--catch-exceptionsโ report exception as http output (discouraged, use only for testing) ๐งช--reload-on-exceptionโ reload a worker when an exception is raised ๐--reload-on-exception-typeโ reload a worker when a specific exception type is raised ๐งฌ--reload-on-exception-valueโ reload a worker when a specific exception value is raised ๐--reload-on-exception-reprโ reload a worker when a specific exception type+value (language-specific) is raised ๐ง--exception-handlerโ add an exception handler ๐ ๏ธ--enable-metricsโ enable metrics subsystem ๐--metricโ add a custom metric ๐--metric-thresholdโ add a metric threshold/alarm ๐จ--metric-alarmโ add a metric threshold/alarm ๐จ--alarm-metricโ add a metric threshold/alarm ๐จ--metrics-dirโ export metrics as text files to the specified directory ๐--metrics-dir-restoreโ restore last value taken from the metrics dir โป๏ธ--metric-dirโ export metrics as text files to the specified directory ๐--metric-dir-restoreโ restore last value taken from the metrics dir โป๏ธ--metrics-no-coresโ disable generation of cores-related metrics ๐ซ--udpโ run the udp server on the specified address ๐ก--statsโ enable the stats server on the specified address ๐--stats-serverโ enable the stats server on the specified address ๐--stats-httpโ prefix stats server json output with http headers ๐--stats-minifiedโ minify statistics json output ๐๏ธ--stats-minโ minify statistics json output ๐๏ธ--stats-pushโ push the stats json to the specified destination ๐--stats-pusher-default-freqโ set the default frequency of stats pushers โฑ๏ธ--stats-pushers-default-freqโ set the default frequency of stats pushers โฑ๏ธ--stats-no-coresโ disable generation of cores-related stats ๐ซ--stats-no-metricsโ do not include metrics in stats output ๐ซ--multicastโ subscribe to specified multicast group ๐ป--multicast-ttlโ set multicast ttl โณ--multicast-loopโ set multicast loop (default 1) ๐--master-fifoโ enable the master fifo ๐๏ธ--notify-socketโ enable the notification socket ๐--subscription-notify-socketโ set the notification socket for subscriptions ๐--legionโ became a member of a legion โ๏ธ--legion-mcastโ became a member of a legion (shortcut for multicast) โ๏ธ๐ป--legion-nodeโ add a node to a legion โ--legion-freqโ set the frequency of legion packets ๐ฆ--legion-toleranceโ set the tolerance of legion subsystem ๐ค--legion-death-on-lord-errorโ declare itself as a dead node for the specified amount of seconds if one of the lord hooks fails ๐--legion-skew-toleranceโ set the clock skew tolerance of legion subsystem (default 30 seconds) โฐ--legion-lordโ action to call on Lord election ๐--legion-unlordโ action to call on Lord dismiss ๐--legion-setupโ action to call on legion setup ๐ ๏ธ--legion-deathโ action to call on legion death (shutdown of the instance) โฐ๏ธ--legion-joinโ action to call on legion join (first time quorum is reached) ๐--legion-node-joinedโ action to call on new node joining legion ๐--legion-node-leftโ action to call node leaving legion ๐ช--legion-quorumโ set the quorum of a legion ๐ณ๏ธ--legion-scrollโ set the scroll of a legion ๐--legion-scroll-max-sizeโ set max size of legion scroll buffer ๐--legion-scroll-list-max-sizeโ set max size of legion scroll list buffer ๐--subscriptions-sign-checkโ set digest algorithm and certificate directory for secured subscription system ๐--subscriptions-sign-check-toleranceโ set the maximum tolerance (in seconds) of clock skew for secured subscription system โฑ๏ธ--subscriptions-sign-skip-uidโ skip signature check for the specified uid when using unix sockets credentials ๐--subscriptions-credentials-checkโ add a directory to search for subscriptions key credentials ๐--subscriptions-use-credentialsโ enable management ofSCM_CREDENTIALSin subscriptions UNIX sockets ๐ชช--subscription-algoโ set load balancing algorithm for the subscription system โ๏ธ--subscription-dotsplitโ try to fallback to the next part (dot based) in subscription key ๐--subscribe-toโ subscribe to the specified subscription server ๐ฌ--stโ subscribe to the specified subscription server ๐ฌ--subscribeโ subscribe to the specified subscription server ๐ฌ--subscribe2โ subscribe to the specified subscription server using advanced keyval syntax ๐๏ธ--subscribe-freqโ send subscription announce at the specified interval ๐ฃ--subscription-toleranceโ set tolerance for subscription servers ๐ค--unsubscribe-on-graceful-reloadโ force unsubscribe request even during graceful reload ๐ช--start-unsubscribedโ configure subscriptions but do not send them (useful with master fifo) ๐--subscribe-with-modifier1โ force the specififed modifier1 when subscribing ๐งฉ--snmpโ enable the embedded snmp server ๐--snmp-communityโ set the snmp community string ๐--ssl-verboseโ be verbose about SSL errors ๐ฃ๏ธ--ssl-verify-depthโ set maximum certificate verification depth ๐--sniโ add an SNI-governed SSL context ๐ซ--sni-dirโ check for cert/key/client_ca file in the specified directory and create a sni/ssl context on demand ๐--sni-dir-ciphersโ set ssl ciphers for sni-dir option ๐--ssl-enable3โ enable SSLv3 (insecure) โ ๏ธ--ssl-enable-sslv3โ enable SSLv3 (insecure) โ ๏ธ--ssl-enable-tlsv1โ enable TLSv1 (insecure) โ ๏ธ--ssl-optionโ set a raw ssl option (numeric value) ๐ข--sni-regexpโ add an SNI-governed SSL context (the key is a regexp) ๐งฉ--ssl-tmp-dirโ store ssl-related temp files in the specified directory ๐๏ธ--check-intervalโ set the interval (in seconds) of master checks โฒ๏ธ--forkbomb-delayโ sleep for the specified number of seconds when a forkbomb is detected ๐ฃ--binary-pathโ force binary path ๐--privileged-binary-patchโ patch the uwsgi binary with a new command (before privileges drop) ๐ฉน--unprivileged-binary-patchโ patch the uwsgi binary with a new command (after privileges drop) ๐ฉน--privileged-binary-patch-argโ patch the uwsgi binary with a new command and arguments (before privileges drop) ๐ฉน--unprivileged-binary-patch-argโ patch the uwsgi binary with a new command and arguments (after privileges drop) ๐ฉน--asyncโ enable async mode with specified cores โก--max-fdโ set maximum number of file descriptors (requires root privileges) ๐--logtoโ set logfile/udp address ๐--logto2โ log to specified file or udp address after privileges drop ๐--log-formatโ set advanced format for request logging ๐จ--logformatโ set advanced format for request logging ๐จ--logformat-strftimeโ apply strftime to logformat output ๐ฐ๏ธ--log-format-strftimeโ apply strftime to logformat output ๐ฐ๏ธ--logfile-chownโ chown logfiles ๐ค--logfile-chmodโ chmod logfiles ๐ง--log-syslogโ log to syslog ๐--log-socketโ send logs to the specified socket ๐--req-loggerโ set/append a request logger ๐--logger-reqโ set/append a request logger ๐--loggerโ set/append a logger ๐--logger-listโ list enabled loggers ๐--loggers-listโ list enabled loggers ๐--threaded-loggerโ offload log writing to a thread ๐งต--log-encoderโ add an item in the log encoder chain โ๏ธ--log-req-encoderโ add an item in the log req encoder chain โ๏ธ--log-drainโ drain (do not show) log lines matching the specified regexp ๐ฐ--log-filterโ show only log lines matching the specified regexp ๐--log-routeโ log to the specified named logger if regexp applied on logline matches ๐ฃ๏ธ--log-req-routeโ log requests to the specified named logger if regexp applied on logline matches ๐ฃ๏ธ--use-abortโ callabort()on segfault/fpe, could be useful for generating a core dump ๐ฅ--alarmโ create a new alarm, syntax:<alarm> <plugin:args>๐จ--alarm-cheapโ use main alarm thread rather than create dedicated threads for curl-based alarms ๐งต--alarm-freqโ tunes the anti-loop alarm system, and the default is 3 seconds. it's the vibe check that stops your alarms from spam-firing โจ--alarm-fdโ fires the alarm you picked whenever an fd gets read for read. by default it reads 1 byte, but set it to 8 if you're dealing with aneventfd๐--alarm-segfaultโ raises the alarm you name whenever the segmentation fault handler runs ๐ญ--segfault-alarmโ same exact energy: raises the alarm you name when the segmentation fault handler runs ๐--alarm-backlogโ raises the alarm you name when the socket backlog queue is full ๐ซฃ--backlog-alarmโ again bestie, raises the alarm you name when the socket backlog queue is full--lq-alarmโ raises the alarm you name when the socket backlog queue is full (yes, the same thing, just a different alias โจ)--alarm-lqโ raises the alarm you name when the socket backlog queue is full--alarm-listen-queueโ raises the alarm you name when the socket backlog queue is full--listen-queue-alarmโ raises the alarm you name when the socket backlog queue is full, iconic of it--log-alarmโ raises the alarm you name whenever a log line matches your regexp. syntax is<alarm>[,alarm...] <regexp>๐--alarm-logโ same thing, raises the alarm you name when a log line matches the regexp. syntax:<alarm>[,alarm...] <regexp>--not-log-alarmโ skips the alarm you name when a log line matches the regexp. syntax:<alarm>[,alarm...] <regexp>--not-alarm-logโ skips the alarm you name when a log line matches the regexp. syntax:<alarm>[,alarm...] <regexp>--alarm-listโ lists all the enabled alarms ๐--alarms-listโ also lists the enabled alarms, bc one alias is never enough--alarm-msg-sizeโ sets the max size of an alarm message, default 8192 ๐--log-masterโ delegates logging to the master process ๐--log-master-bufsizeโ sets the buffer size for the master logger. heads up bestie, bigger log messages get truncated--log-master-streamโ creates the master logpipe asSOCK_STREAM๐ฆ--log-master-req-streamโ creates the master requests logpipe asSOCK_STREAM--log-reopenโ reopens the log after a reload ๐--log-truncateโ truncates the log on startup, clean slate energy โจ--log-maxsizeโ sets the maximum logfile size--log-backupnameโ sets the logfile name to use after rotation ๐--logdateโ prefixes logs with a date, or with astrftimestring ๐--log-dateโ prefixes logs with a date or astrftimestring (same vibe, different spelling)--log-prefixโ prefixes logs with a string you choose ๐--log-zeroโ logs responses that have no body--log-slowโ logs requests that are slower than the number of milliseconds you specify ๐--log-4xxโ logs requests that got a 4xx response--log-5xxโ logs requests that got a 5xx response ๐ญ--log-bigโ logs requestes bigger than the size you specify (yes, the typo is theirs, we're keeping it fr fr)--log-sendfileโ logssendfilerequests--log-ioerrorโ logs requests that hit io errors ๐--log-microsโ reports response time in microseconds instead of milliseconds โฑ๏ธ--log-x-forwarded-forโ uses the ip from theX-Forwarded-Forheader instead ofREMOTE_ADDR--master-as-rootโ leaves the master process running as root ๐ (yes, it's giving dangerous, be careful)--drop-after-initโ runs the privileges drop after plugin initialization, and it's superseded bydrop-after-apps--drop-after-appsโ runs the privileges drop after apps loading, and it's superseded bymaster-as-root--force-cwdโ forces the initial working directory to the value you give it ๐--binshโ overrides/bin/sh(used by exec hooks, and it always falls back to/bin/sh) ๐--chdirโ chdirs to the directory you specify before apps loading--chdir2โ chdirs to the directory you specify after apps loading--lazyโ sets lazy mode (loads apps in workers instead of the master) ๐ด--lazy-appsโ loads apps in each worker instead of the master--cheapโ sets cheap mode (spawns workers only after the first request) ๐ธ--cheaperโ sets cheaper mode (adaptive process spawning) ๐--cheaper-initialโ sets the initial number of processes to spawn in cheaper mode--cheaper-algoโ chooses the algorithm used for adaptive process spawning--cheaper-stepโ number of additional processes to spawn at each overload--cheaper-overloadโ increases workers after the overload you specify--cheaper-algo-listโ lists the enabled cheapers algorithms--cheaper-algos-listโ lists the enabled cheapers algorithms--cheaper-listโ lists the enabled cheapers algorithms (three aliases, one job ๐ )--cheaper-rss-limit-softโ won'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, it tries to stop workers ๐--idleโ sets idle mode (puts uWSGI in cheap mode after inactivity) ๐ด--die-on-idleโ shuts down uWSGI when it's idle ๐--mountโ loads an application under the mountpoint you give it ๐--worker-mountโ loads an application under a mountpoint in the worker you specify, or after workers spawn--threadsโ runs each worker in prethreaded mode with the number of threads you specify ๐งต--thread-stacksizeโ sets threads stacksize--threads-stacksizeโ sets threads stacksize--thread-stack-sizeโ sets threads stacksize--threads-stack-sizeโ sets threads stacksize (four spellings, all iconic, all the same)--vhostโ enables virtualhosting mode (based on theSERVER_NAMEvariable) ๐--vhost-hostโ enables virtualhosting mode (based on theHTTP_HOSTvariable)--routeโ adds a route ๐ฃ๏ธ--route-hostโ adds a route based on theHostheader--route-uriโ adds a route based onREQUEST_URI--route-qsโ adds a route based onQUERY_STRING--route-remote-addrโ adds a route based onREMOTE_ADDR--route-user-agentโ adds a route based onHTTP_USER_AGENT--route-remote-userโ adds a route based onREMOTE_USER--route-refererโ adds a route based onHTTP_REFERER--route-labelโ adds a routing label (for use withgoto) ๐ท๏ธ--route-ifโ adds a route based on a condition--route-if-notโ adds a route based on a condition (the negate version) ๐--route-runโ always runs the route action you specify--final-routeโ adds a final route ๐--final-route-statusโ adds a final route for the status you specify--final-route-hostโ adds a final route based on theHostheader--final-route-uriโ adds a final route based onREQUEST_URI--final-route-qsโ adds a final route based onQUERY_STRING--final-route-remote-addrโ adds a final route based onREMOTE_ADDR--final-route-user-agentโ adds a final route based onHTTP_USER_AGENT--final-route-remote-userโ adds a final route based onREMOTE_USER--final-route-refererโ adds a final route based onHTTP_REFERER--final-route-labelโ adds a final routing label (for use withgoto) ๐ท๏ธ--final-route-ifโ adds a final route based on a condition--final-route-if-notโ adds a final route based on a condition (negate version) ๐--final-route-runโ always runs the final route action you specify--error-routeโ adds an error route ๐จ--error-route-statusโ adds an error route for the status you specify--error-route-hostโ adds an error route based on theHostheader--error-route-uriโ adds an error route based onREQUEST_URI--error-route-qsโ adds an error route based onQUERY_STRING--error-route-remote-addrโ adds an error route based onREMOTE_ADDR--error-route-user-agentโ adds an error route based onHTTP_USER_AGENT--error-route-remote-userโ adds an error route based onREMOTE_USER--error-route-refererโ adds an error route based onHTTP_REFERER--error-route-labelโ adds an error routing label (for use withgoto) ๐ท๏ธ--error-route-ifโ adds an error route based on a condition--error-route-if-notโ adds an error route based on a condition (negate version) ๐--error-route-runโ always runs the error route action you specify--response-routeโ adds a response route ๐ฌ--response-route-statusโ adds a response route for the status you specify--response-route-hostโ adds a response route based on theHostheader--response-route-uriโ adds a response route based onREQUEST_URI--response-route-qsโ adds a response route based onQUERY_STRING--response-route-remote-addrโ adds a response route based onREMOTE_ADDR--response-route-user-agentโ adds a response route based onHTTP_USER_AGENT--response-route-remote-userโ adds a response route based onREMOTE_USER--response-route-refererโ adds a response route based onHTTP_REFERER--response-route-labelโ adds a response routing label (for use withgoto) ๐ท๏ธ--response-route-ifโ adds a response route based on a condition--response-route-if-notโ adds a response route based on a condition (negate version) ๐--response-route-runโ always runs the response route action you specify--router-listโ lists the enabled routers ๐--routers-listโ lists the enabled routers (yes bestie, plural alias, same list)--error-page-403โ adds an error page (html) for a managed 403 response ๐ซ--error-page-404โ adds an error page (html) for a managed 404 response ๐--error-page-500โ adds an error page (html) for a managed 500 response ๐ฅ--websockets-ping-freqโ sets the frequency (in seconds) of websockets automatic ping packets ๐--websocket-ping-freqโ sets the frequency (in seconds) of websockets automatic ping packets--websockets-pong-toleranceโ sets the tolerance (in seconds) of the websockets ping/pong subsystem--websocket-pong-toleranceโ sets the tolerance (in seconds) of the websockets ping/pong subsystem--websockets-max-sizeโ sets the max allowed size of websocket messages (in Kbytes, default 1024) ๐--websocket-max-sizeโ sets the max allowed size of websocket messages (in Kbytes, default 1024)--chunked-input-limitโ sets the max size of a chunked input part (default 1MB, in bytes)--chunked-input-timeoutโ sets the default timeout for chunked input โณ--clockโ sets a clock source ๐ฐ๏ธ--clock-listโ lists the enabled clocks--clocks-listโ lists the enabled clocks--add-headerโ automatically adds HTTP headers to the response โจ--rem-headerโ automatically remove the specified HTTP header from the response ๐--del-headerโ same energy: automatically remove the specified HTTP header from the response ๐๏ธ--collect-headerโ store the specified response header in a request var (syntax:header var) ๐ฅ--response-header-collectโ store the specified response header in a request var (syntax:header var) โจ--pull-headerโ store the specified response header in a request var and remove it from the response (syntax:header var) ๐--check-staticโ check for static files in the specified directory ๐--check-static-docrootโ check for static files in the requestedDOCUMENT_ROOT๐ณ--static-checkโ check for static files in the specified directory ๐--static-mapโ map a mountpoint to a static directory (or file) ๐บ๏ธ--static-map2โ like--static-mapbut it completely appends the requested resource to the docroot ๐งฉ--static-skip-extโ skip the specified extension from staticfile checks โญ๏ธ--static-indexโ search for the specified file if a directory is requested ๐--static-safeโ skip security checks if the file is under the specified path ๐ก๏ธ--static-cache-pathsโ put resolved paths in the uWSGI cache for the specified amount of seconds โณ--static-cache-paths-nameโ use the specified cache for static paths ๐ท๏ธ--mimefileโ set the mime types file path (default/etc/mime.types) ๐--mime-fileโ set the mime types file path (default/etc/mime.types) ๐๏ธ--static-expires-typeโ set theExpiresheader based on content type ๐--static-expires-type-mtimeโ set theExpiresheader based on content type and file mtime ๐ฐ๏ธ--static-expiresโ set theExpiresheader based on filename regexp ๐--static-expires-mtimeโ set theExpiresheader based on filename regexp and file mtime ๐--static-expires-uriโ set theExpiresheader based onREQUEST_URIregexp ๐--static-expires-uri-mtimeโ set theExpiresheader based onREQUEST_URIregexp and file mtime โฑ๏ธ--static-expires-path-infoโ set theExpiresheader based onPATH_INFOregexp ๐ค๏ธ--static-expires-path-info-mtimeโ set theExpiresheader based onPATH_INFOregexp and file mtime ๐--static-gzipโ if the supplied regexp matches the static file translation, it will search for a gzip version ๐๏ธ--static-gzip-allโ check for a gzip version of all requested static files ๐งฌ--static-gzip-dirโ check for a gzip version of all requested static files in the specified dir/prefix ๐--static-gzip-prefixโ check for a gzip version of all requested static files in the specified dir/prefix ๐ท๏ธ--static-gzip-extโ check for a gzip version of all requested static files with the specified ext/suffix ๐ค--static-gzip-suffixโ check for a gzip version of all requested static files with the specified ext/suffix ๐งพ--honour-rangeโ enable support for the HTTPRangeheader ๐--offload-threadsโ set the number of offload threads to spawn (per-worker, default0) ๐งต--offload-threadโ set the number of offload threads to spawn (per-worker, default0) ๐ชก--file-serve-modeโ set static file serving mode ๐--fileserve-modeโ set static file serving mode ๐ฆ--disable-sendfileโ disablesendfile()and rely on boringread()/write()๐ด--check-cacheโ check for response data in the specified cache (empty for default cache) ๐๏ธ--close-on-execโ set close-on-exec on connection sockets (could be required for spawning processes in requests) ๐--close-on-exec2โ set close-on-exec on server sockets (could be required for spawning processes in requests) ๐--modeโ set uWSGI custom mode ๐๏ธ--envโ set environment variable ๐ฑ--envdirโ load a daemontools compatible envdir ๐--early-envdirโ load a daemontools compatible envdir ASAP โก--unenvโ unset environment variable ๐ซ--vacuumโ try to remove all of the generated file/sockets ๐งน--file-writeโ write the specified content to the specified file (syntax:file=value) before privileges drop โ๏ธ--cgroupโ put the processes in the specified cgroup ๐งบ--cgroup-optโ set value in specified cgroup option โ๏ธ--cgroup-dir-modeโ set permission for cgroup directory (default is700) ๐--namespaceโ run in a new namespace under the specified rootfs ๐--namespace-keep-mountโ keep the specified mountpoint in your namespace ๐--nsโ run in a new namespace under the specified rootfs ๐--namespace-netโ add network namespace ๐--ns-netโ add network namespace ๐ธ๏ธ--enable-proxy-protocolโ enable PROXY1 protocol support (only for http parsers) ๐ก--reuse-portโ enableREUSE_PORTflag on socket (BSD only) โป๏ธ--tcp-fast-openโ enableTCP_FASTOPENflag on TCP sockets with the specified qlen value ๐--tcp-fastopenโ enableTCP_FASTOPENflag on TCP sockets with the specified qlen value ๐จ--tcp-fast-open-clientโ usesendto(..., MSG_FASTOPEN, ...)instead ofconnect()if supported ๐ค--tcp-fastopen-clientโ usesendto(..., MSG_FASTOPEN, ...)instead ofconnect()if supported ๐ฅ--zergโ attach to a zerg server ๐พ--zerg-fallbackโ fallback to normal sockets if the zerg server is not available ๐--zerg-serverโ enable the zerg server on the specified UNIX socket ๐--cronโ add a cron task โฐ--cron2โ add a cron task (key=val syntax) ๐๏ธ--unique-cronโ add a unique cron task ๐--cron-harakiriโ set the maximum time (in seconds) we wait for cron command to complete โ--legion-cronโ add a cron task runnable only when the instance is a lord of the specified legion ๐--cron-legionโ add a cron task runnable only when the instance is a lord of the specified legion ๐ฐ--unique-legion-cronโ add a unique cron task runnable only when the instance is a lord of the specified legion ๐--unique-cron-legionโ add a unique cron task runnable only when the instance is a lord of the specified legion ๐๏ธ--loopโ select the uWSGI loop engine ๐--loop-listโ list enabled loop engines ๐--loops-listโ list enabled loop engines ๐--worker-execโ run the specified command as worker ๐งโ๐ญ--worker-exec2โ run the specified command as worker (afterpost_forkhook) ๐--attach-daemonโ attach a command/daemon to the master process (the command has to not go in background) ๐งท--attach-control-daemonโ attach a command/daemon to the master process (the command has to not go in background); when the daemon dies, the master dies too ๐--smart-attach-daemonโ attach a command/daemon to the master process managed by a pidfile (the command has to daemonize) ๐ง--smart-attach-daemon2โ attach a command/daemon to the master process managed by a pidfile (the command has to NOT daemonize) ๐ซ--legion-attach-daemonโ same as--attach-daemonbut the daemon runs only on the legion lord node ๐--legion-smart-attach-daemonโ same as--smart-attach-daemonbut the daemon runs only on the legion lord node ๐--legion-smart-attach-daemon2โ same as--smart-attach-daemon2but the daemon runs only on the legion lord node ๐๏ธ--daemons-honour-stdinโ do not change the stdin of external daemons to/dev/null๐--attach-daemon2โattach-daemonkeyval variant (supports smart modes too) ๐--pluginsโ load uWSGI plugins ๐--pluginโ load uWSGI plugins ๐งฉ--need-pluginsโ load uWSGI plugins (exit on error) โ--need-pluginโ load uWSGI plugins (exit on error) โผ๏ธ--plugins-dirโ add a directory to uWSGI plugin search path ๐--plugin-dirโ add a directory to uWSGI plugin search path ๐๏ธ--plugins-listโ list enabled plugins ๐--plugin-listโ list enabled plugins ๐--autoloadโ try to automatically load plugins when unknown options are found ๐ค--dlopenโ blindly load a shared library ๐--allowed-modifiersโ comma separated list of allowed modifiers โ--remap-modifierโ remap request modifier from one id to another ๐--dump-optionsโ dump the full list of available options ๐๏ธ--show-configโ show the current config reformatted as ini ๐--binary-append-dataโ return the content of a resource to stdout for appending to a uwsgi binary (fordata://usage) ๐--printโ simple print ๐จ๏ธ--iprintโ simple print (immediate version) โก--exitโ forceexit()of the instance ๐ช--cflagsโ report uWSGICFLAGS(useful for building external plugins) ๐๏ธ--dot-hโ dump theuwsgi.hused for building the core (useful for building external plugins) ๐--config-pyโ dump theuwsgiconfig.pyused for building the core (useful for building external plugins) ๐--build-pluginโ build a uWSGI plugin for the current binary ๐จ--versionโ print uWSGI version ๐ท๏ธ--response-headers-limitโ set response header maximum size (default:64k) ๐
and thatโs a wrap on the options, bestie! source/version: uwsgi_jvm_openjdk17 2.0.24-debian, April 2024, from the UWSGI_JVM_OPENJDK17(1) manual โ go hydrate and touch some grass, you absolute legend ๐๐ธ
๐ฆ where this page comes from
- ubuntu noble: uwsgi-plugin-jvm-openjdk-17 2.0.24-2ubuntu10 ยท GPL-2.0-only
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms