UWSGI_LUAJIT(1)
โจ NAME โจ
uwsgi_luajit โ the fast (pure C), self-healing, developer-friendly WSGI server ๐
๐ฆ SYNOPSIS ๐ฆ
uwsgi-core [options...]
๐ DESCRIPTION ๐
okay bestie, gather round, because this is the whole menu of flags and it is a lot. every single one is here, no skips, no cap. let's go ๐ซถ
-s,--socketโ bind to the specified UNIX/TCP socket using the default protocol ๐ธ-s,--uwsgi-socketโ bind to the specified UNIX/TCP socket using theuwsgiprotocol--suwsgi-socketโ bind to the specified UNIX/TCP socket using theuwsgiprotocol over SSL ๐--ssl-socketโ bind to the specified UNIX/TCP socket using theuwsgiprotocol over SSL--http-socketโ bind to the specified UNIX/TCP socket using the HTTP protocol--http-socket-modifier1โ force the specifiedmodifier1when using HTTP protocol--http-socket-modifier2โ force the specifiedmodifier2when 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 specifiedmodifier1when using HTTPS protocol--https-socket-modifier2โ force the specifiedmodifier2when 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 specifiedmodifier1when using FastCGI protocol--fastcgi-modifier2โ force the specifiedmodifier2when 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 specifiedmodifier1when using SCGI protocol--scgi-modifier2โ force the specifiedmodifier2when using SCGI protocol--raw-socketโ bind to the specified UNIX/TCP socket using RAW protocol--raw-modifier1โ force the specifiedmodifier1when using RAW protocol--raw-modifier2โ force the specifiedmodifier2when using RAW protocol--puwsgi-socketโ bind to the specified UNIX/TCP socket using persistentuwsgiprotocol (puwsgi)--protocolโ force the specified protocol for default sockets--socket-protocolโ force the specified protocol for default sockets--shared-socketโ create a shared socket for advanced jailing or ipc ๐ง--undeferred-shared-socketโ create a shared socket for advanced jailing or ipc (undeferred mode)-p,--processesโ spawn the specified number of workers/processes-p,--workersโ spawn the specified number of workers/processes--thunder-lockโ serializeaccept()usage (if possible) โก-t,--harakiriโ set harakiri timeout--harakiri-verboseโ enable verbose mode for harakiri--harakiri-graceful-timeoutโ interval between graceful harakiri attempt and asigkill--harakiri-graceful-signalโ use this signal instead ofsigtermfor 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-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 is1--strictโ enable strict mode (placeholder cannot be used)--skip-zeroโ skip check of file descriptor0--skip-atexitโ skip atexit hooks (ignored by the master)--skip-atexit-teardownโ skip atexit teardown (ignored by the master)-S,--setโ set a placeholder or an option--set-placeholderโ set a placeholder--set-phโ set a placeholder--getโ print the specified option value and exit--declare-optionโ declare a new uWSGI custom option--declare-option2โ declare a new uWSGI custom option (non-immediate)--resolveโ place the result of a dns query in the specified placeholder, 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 from1)--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--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 onwrite()/writev()--inheritโ use the specified file as config template--includeโ include the specified file as immediate configuration--inject-beforeโ inject a text file before the config file (advanced templating)--inject-afterโ inject a text file after the config file (advanced templating)-d,--daemonizeโ daemonize uWSGI ๐ป--daemonize2โ daemonize uWSGI after app loading--stopโ stop an instance--reloadโ reload an instance--pauseโ pause an instance--suspendโ suspend an instance--resumeโ resume an instance--connect-and-readโ connect to a socket and wait for data from it--extractโ fetch/dump any supported address to stdout-l,--listenโ set the socket listen queue size-v,--max-varsโ set the amount of internal iovec/vars structures--max-appsโ set the maximum number of per-worker applications-b,--buffer-sizeโ set internal buffer size-m,--memory-reportโ enable memory report--profilerโ enable the specified profiler-c,--cgi-modeโ force CGI-mode for plugins supporting it-a,--abstract-socketโ force UNIX socket in abstract mode (Linux only) ๐ง-C,--chmod-socketโ chmod-socket-C,--chmodโ chmod-socket--chown-socketโ chown unix sockets--umaskโ set umask--freebindโ put socket in freebind mode--map-socketโ map sockets to specific workers-T,--enable-threadsโ enable threads (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-i,--single-interpreterโ do not use multiple interpreters (where available)--need-appโ exit if no app can be loaded-M,--masterโ enable master process ๐--honour-stdinโ do not remap stdin to/dev/null--emperorโ run the Emperor--emperor-proxy-socketโ force the vassal to became an Emperor proxy--emperor-wrapperโ set a binary wrapper for vassals--emperor-wrapper-overrideโ set a binary wrapper for vassals to try before the default one--emperor-wrapper-fallbackโ set a binary wrapper for vassals to try as a last resort--emperor-nofollowโ do not follow symlinks when checking for mtime--emperor-procnameโ set the Emperor process name--emperor-freqโ set the Emperor scan frequency (default3seconds)--emperor-required-heartbeatโ set the Emperor tolerance about heartbeats ๐--emperor-curse-toleranceโ set the Emperor tolerance about cursed vassals
okay that's part one bestie, there is so much more coming, don't go anywhere ๐
--emperor-pidfileโ writes the Emperor pid into the file you name. keeping receipts on the main character emperor, periodt ๐--emperor-tyrantโ puts the Emperor into Tyrant mode. it's giving absolute monarchy energy ๐--emperor-tyrant-nofollowโ in Tyrant mode, do not follow symlinks when checking for uid/gid. lowkey a safety vibe check ๐ซ๐--emperor-stats,--emperor-stats-serverโ runs the Emperor stats server. stats server said slay ๐โจ--early-emperorโ spawns the emperor as soon as possible. no waiting, main character energy fr fr โฐ--emperor-broodlordโ runs the emperor in BroodLord mode. iconic name, no notes ๐--emperor-throttleโ sets the throttling level in milliseconds for bad behaving vassals (default1000). timeout for the misbehaving besties โณ--emperor-max-throttleโ sets the max throttling level in milliseconds for bad behaving vassals (default3 minutes). the ultimate time-out ๐ซ--emperor-magic-execโ prefixes vassals config files withexec://if they have the executable bit. magic indeed โจ--emperor-on-demand-extension,--emperor-on-demand-extโ searches for a text file (vassal name + extension) containing the on demand socket name. iykyk ๐--emperor-on-demand-directory,--emperor-on-demand-dirโ enables on demand mode binding to the unix socket in the specified directory named like the vassal +.socket. socket vibes ๐งฆ--emperor-on-demand-execโ uses the output of the specified command as the on demand socket name (the vassal name is passed as the only argument). command said speak ๐ฃ๏ธ--emperor-extra-extension,--emperor-extra-extโ allows the specified extension in the Emperor (vassal will be called with--config). extra, as a treat ๐--emperor-no-blacklistโ disables the Emperor blacklisting subsystem. no blacklist, only vibes ๐ซ๐--emperor-use-cloneโ usesclone()instead offork()passing the specifiedunshare()flags. clone era ๐งฌ--emperor-graceful-shutdownโ uses vassals graceful shutdown during ragnarok. ragnarok but make it polite ๐๏ธ--emperor-cap,--vassals-cap,--vassal-capโ sets vassals capability. cap as in capabilities, not baseball cap ๐งข--imperial-monitor-list,--imperial-monitors-listโ lists enabled imperial monitors. monitor check ๐--vassals-inheritโ adds config templates to vassals config (uses--inherit). inherit the vibe ๐งฌ--vassals-includeโ includes config templates to vassals config (uses--includeinstead of--inherit). include, not inherit, bestie ๐--vassals-inherit-beforeโ adds config templates to vassals config (uses--inherit, parses before the vassal file). before era โฎ๏ธ--vassals-include-beforeโ includes config templates to vassals config (uses--includeinstead of--inherit, parses before the vassal file). before + include ๐ซถ--vassals-start-hookโ runs the specified command before each vassal starts. pre-game ritual ๐ฌ--vassals-stop-hookโ runs the specified command after vassal's death. post-mortem vibes ๐--vassal-sosโ asks emperor for reinforcement when overloaded. sos bestie ๐--vassal-sos-backlogโ asks emperor for sos if backlog queue has more items than the value specified. queue too long? sos ๐ฌ--vassals-set,--vassal-setโ automatically sets the specified option (via--set) for every vassal. set it and forget it ๐--heartbeatโ announces healthiness to the emperor. healthy queen ๐--reload-mercyโ sets the maximum time (in seconds) we wait for workers and other processes to die during reload/shutdown. mercy, but make it a deadline โฑ๏ธ--worker-reload-mercyโ sets the maximum time (in seconds) a worker can take to reload/shutdown (default is60). worker said give me a minute โณ--mule-reload-mercyโ sets the maximum time (in seconds) a mule can take to reload/shutdown (default is60). mule mercy, same energy ๐ด--exit-on-reloadโ forces exit even if a reload is requested. exit stage left ๐ช--die-on-termโ exits instead of brutal reload onSIGTERM. term says bye ๐--force-gatewayโ forces the spawn of the first registered gateway without a master. gateway said go solo ๐-h|--help,-h|--usageโ shows this help. help, but make it cute ๐--print-sym,--print-symbolโ prints content of the specified binary symbol. symbol reveal ๐-r|--reaperโ callswaitpid(-1,...)after each request to get rid of zombies. zombie apocalypse? not on my watch ๐ง-R|--max-requestsโ reloads workers after the specified amount of managed requests. request limit, reload era ๐--max-requests-deltaโ adds(worker_id * delta)to themax_requestsvalue of each worker. math but make it worker-specific ๐งฎ--min-worker-lifetimeโ number of seconds a worker must run before being reloaded (default is10). minimum vibe time โฒ๏ธ--max-worker-lifetimeโ reloads workers after the specified amount of seconds (default is disabled). max lifetime, but off by default ๐ซ--max-worker-lifetime-deltaโ adds(worker_id * delta)seconds to themax_worker_lifetimevalue of each worker. delta magic โจ-z|--socket-timeoutโ sets internal sockets timeout. socket said don't wait up โณ--no-fd-passingโ disables file descriptor passing. no passing, periodt ๐ซ--locksโ creates the specified number of shared locks. locks, but make it plural ๐--lock-engineโ sets the lock engine. engine of locks ๐--ftokโ sets the ipcsem key viaftok()for avoiding duplicates. no duplicates, bestie ๐ซ--persistent-ipcsemโ does not remove ipcsem's on shutdown. persistent queen ๐-A|--sharedareaโ creates a raw shared memory area of specified pages (note: it supports keyval too). shared area, shared vibes ๐ค--safe-fd,--fd-safeโ does not close the specified file descriptor. safe fd, no cap ๐ก๏ธ--cacheโ creates a shared cache containing given elements. cache me outside, how bout dat? ๐๏ธ--cache-blocksizeโ sets cache blocksize. block size, block party ๐งฑ--cache-storeโ enables persistent cache to disk. save it for later ๐พ--cache-store-syncโ sets frequency of sync for persistent cache. sync frequency, iykyk ๐--cache-no-expireโ disables auto sweep of expired items. no expiration, only vibes ๐ซโฐ--cache-expire-freqโ sets the frequency of cache sweeper scans (default3seconds). sweep sweep ๐งน--cache-report-freed-itemsโ constantly reports the cache item freed by the sweeper (use only for debug). debug only, bestie ๐--cache-udp-serverโ binds the cache udp server (used only for set/update/delete) to the specified socket. udp server said hi ๐ก--cache-udp-nodeโ sends cache update/deletion to the specified cache udp server. udp node, sending signals ๐ถ--cache-syncโ copies the whole content of another uWSGI cache server on server startup. copy that, whole vibe ๐--cache-use-last-modifiedโ updateslast_modified_attimestamp on every cache item modification (default is disabled). last modified era, off by default ๐--add-cache-itemโ adds an item in the cache. add to cart ๐--load-file-in-cacheโ loads a static file in the cache. file in cache, iconic ๐--load-file-in-cache-gzipโ loads a static file in the cache with gzip compression. gzip said squeeze ๐๏ธ--cache2โ creates a new generation shared cache (keyval syntax). cache but generation 2 โจ--queueโ enables shared queue. queue era ๐๏ธ--queue-blocksizeโ sets queue blocksize. queue block party ๐งฑ--queue-storeโ enables persistent queue to disk. queue saved to disk ๐พ--queue-store-syncโ sets frequency of sync for persistent queue. sync frequency, queue edition ๐-Q|--spoolerโ runs a spooler on the specified directory. spooler, not spoiler ๐ฌ--spooler-externalโ maps spoolers requests to a spooler directory managed by an external instance. external spooler vibes ๐--spooler-orderedโ tries to order the execution of spooler tasks. order in the court ๐ฉโโ๏ธ--spooler-chdirโchdir()to specified directory before each spooler task. change directory, change vibe ๐--spooler-processesโ sets the number of processes for spoolers. spooler processes, plural ๐งโ๐คโ๐ง--spooler-quietโ do not be verbose with spooler tasks. quiet spooler, no yapping ๐คซ--spooler-max-tasksโ sets the maximum number of tasks to run before recycling a spooler. max tasks, then recycle โป๏ธ--spooler-harakiriโ sets harakiri timeout for spooler tasks. harakiri timeout, dramatic ๐--spooler-frequency,--spooler-freqโ sets spooler frequency. frequency, spooler edition ๐ป--muleโ adds a mule. mule said hi ๐ด--mulesโ adds the specified number of mules. mules, plural ๐ด๐ด--farmโ adds a mule farm. farm era ๐--mule-msg-sizeโ sets mule message buffer size. message buffer size, mule edition ๐จ--signalโ sends a uwsgi signal to a server. signal sent ๐ก--signal-bufsize,--signals-bufsizeโ sets buffer size for signal queue. signal buffer size, queue vibes ๐ถ--signal-timer,--timerโ adds a timer (syntax:<signal> <seconds>). timer said tick tock โฐ--signal-rbtimer,--rbtimerโ adds a redblack timer (syntax:<signal> <seconds>). redblack timer, fancy โฑ๏ธ--rpc-maxโ maximum number of rpc slots (default:64). rpc slots, maxed out ๐ฐ-L|--disable-loggingโ disables request logging. no logging, no yapping ๐ซ๐--flockโ locks the specified file before starting, exits if locked. flock and roll ๐--flock-waitโ locks the specified file before starting, waits if locked. wait for it ๐ฐ๏ธ--flock2โ locks the specified file after logging/daemon setup, exits if locked. flock but later ๐--flock-wait2โ locks the specified file after logging/daemon setup, waits if locked. wait but later ๐ฐ๏ธ--pidfileโ creates pidfile (before privileges drop). pidfile before the drop ๐--pidfile2โ creates pidfile (after privileges drop). pidfile after the drop ๐--safe-pidfileโ creates safe pidfile (before privileges drop). safe pidfile, before ๐ก๏ธ--safe-pidfile2โ creates safe pidfile (after privileges drop). safe pidfile, after ๐ก๏ธ--chrootโchroot()to the specified directory. chroot jail, but make it cute ๐--pivot-root,--pivot_rootโpivot_root()to the specified directories (new_rootandput_oldmust be separated with a space). pivot root, space required ๐ช--uidโsetuidto the specified user/uid. uid said set it ๐--gidโsetgidto the specified group/gid. gid said set it ๐--add-gidโ adds the specified group id to the process credentials. add gid to the credentials ๐ชช--immediate-uidโsetuidto the specified user/uid IMMEDIATELY. immediate uid, no waiting โก--immediate-gidโsetgidto the specified group/gid IMMEDIATELY. immediate gid, no waiting โก--no-initgroupsโ disables additional groups set viainitgroups(). no initgroups, no extra groups ๐ซ--capโ sets process capability. process capability, cap it ๐งข--unshareโunshare()part of the processes and puts it in a new namespace. unshare, new namespace era ๐--unshare2โunshare()part of the processes and puts it in a new namespace after rootfs change. unshare but after rootfs change ๐--setns-socketโ exposes a unix socket returning namespace fds from/proc/self/ns. setns socket, namespace fds ๐ก--setns-socket-skip,--setns-skipโ skips the specified entry when sending setns file descriptors. skip it, setns edition ๐ซ--setnsโ joins a namespace created by an external uWSGI instance. setns, join the namespace ๐--setns-preopenโ opens/proc/self/nsas soon as possible and caches fds. preopen, cache the fds ๐๏ธ--jailedโ mark the instance as jailed (and yes, that forces the execution ofpost_jailhooks) ๐--reforkโfork()again after privileges drop. Useful for jailing systems โจ--re-forkโfork()again after privileges drop. Useful for jailing systems ๐ฆ--refork-as-rootโfork()again before privileges drop. Useful for jailing systems ๐ฅ--re-fork-as-rootโfork()again before privileges drop. Useful for jailing systems ๐ฅ--refork-post-jailโfork()again after jailing. Useful for jailing systems ๐ธ--re-fork-post-jailโfork()again after jailing. Useful for jailing systems ๐ธ--hook-asapโ run the specified hook as soon as possible โก--hook-pre-jailโ run the specified hook before jailing ๐ง--hook-post-jailโ run the specified hook after jailing ๐ง--hook-in-jailโ run the specified hook in jail after initialization ๐ซ--hook-as-rootโ run the specified hook before privileges drop ๐--hook-as-userโ run the specified hook after privileges drop ๐ซถ--hook-as-user-atexitโ run the specified hook before app exit and reload ๐--hook-pre-appโ run the specified hook before app loading ๐--hook-post-appโ run the specified hook after app loading ๐--hook-post-forkโ run the specified hook after each fork ๐--hook-acceptingโ run the specified hook after each worker enter the accepting phase ๐--hook-accepting1โ run the specified hook after the first worker enters the accepting phase ๐--hook-accepting-onceโ run the specified hook after each worker enter the accepting phase (once per-instance) ๐--hook-accepting1-onceโ run the specified hook after the first worker enters the accepting phase (once per instance) ๐--hook-master-startโ run the specified hook when the Master starts ๐--hook-touchโ run the specified hook when the specified file is touched(syntax: <file> <action>)๐ฅ--hook-emperor-startโ run the specified hook when the Emperor starts ๐--hook-emperor-stopโ run the specified hook when the Emperor send a stop message ๐--hook-emperor-reloadโ run the specified hook when the Emperor send a reload message ๐--hook-emperor-lostโ run the specified hook when the Emperor connection is lost ๐ญ--hook-as-vassalโ run the specified hook 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 โจ--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 ๐--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 ๐--wait-for-interfaceโ wait for the specified network interface to come up before running root hooks ๐--wait-for-interface-timeoutโ set the timeout for wait-for-interface โณ--wait-interfaceโ wait for the specified network interface to come up before running root hooks ๐--wait-interface-timeoutโ set the timeout for wait-for-interface โณ--wait-for-ifaceโ wait for the specified network interface to come up before running root hooks ๐--wait-for-iface-timeoutโ set the timeout for wait-for-interface โณ--wait-ifaceโ wait for the specified network interface to come up before running root hooks ๐--wait-iface-timeoutโ set the timeout for wait-for-interface โณ--wait-for-fsโ wait for the specified filesystem item to appear before running root hooks ๐--wait-for-fileโ wait for the specified file to appear before running root hooks ๐--wait-for-dirโ wait for the specified directory to appear before running root hooks ๐--wait-for-mountpointโ wait for the specified mountpoint to appear before running root hooks ๐--wait-for-fs-timeoutโ set the timeout for wait-for-fs/file/dir โณ--wait-for-socketโ wait for the specified socket to be ready before loading apps ๐--wait-for-socket-timeoutโ set the timeout for wait-for-socket โณ--call-asapโ call the specified function as soon as possible โก--call-pre-jailโ call the specified function before jailing ๐ง--call-post-jailโ call the specified function after jailing ๐ง--call-in-jailโ call the specified function in jail after initialization ๐ซ--call-as-rootโ call the specified function before privileges drop ๐--call-as-userโ call the specified function after privileges drop ๐ซถ--call-as-user-atexitโ call the specified function before app exit and reload ๐--call-pre-appโ call the specified function before app loading ๐--call-post-appโ call the specified function after app loading ๐--call-as-vassalโ call the 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 ๐--iniโ load config from ini file ๐๏ธ-y,--yamlโ load config from yaml file ๐งพ-y,--ymlโ load config from yaml file ๐งพ-j,--jsonโ load config from json file ๐งพ-j,--jsโ load config from json file ๐งพ--weightโ weight of the instance (used by clustering/lb/subscriptions) โ๏ธ--auto-weightโ set weight of the instance (used by clustering/lb/subscriptions) automatically ๐ค--no-serverโ force no-server mode ๐ซ--command-modeโ force command mode โจ๏ธ--no-defer-acceptโ disable deferred-accept on sockets ๐ซ--tcp-nodelayโ enable TCP NODELAY on each request ๐ก--so-keepaliveโ enable TCP KEEPALIVEs ๐--so-send-timeoutโ set SO_SNDTIMEO โฑ๏ธ--socket-send-timeoutโ set SO_SNDTIMEO โฑ๏ธ--so-write-timeoutโ set SO_SNDTIMEO โฑ๏ธ--socket-write-timeoutโ set SO_SNDTIMEO โฑ๏ธ--socket-sndbufโ set SO_SNDBUF ๐ฆ--socket-rcvbufโ set SO_RCVBUF ๐ฆ--shutdown-socketsโ force callingshutdown()in addition toclose()when sockets are destroyed ๐ฅ--limit-asโ limit processes address space/vsz ๐ง--limit-nprocโ limit the number of spawnable processes ๐งฎ--reload-on-asโ reload if address space is higher than specified megabytes ๐--reload-on-rssโ reload if rss memory is higher than specified megabytes ๐--evil-reload-on-asโ force the master to reload a worker if its address space is higher than specified megabytes ๐--evil-reload-on-rssโ force the master to reload a worker if its rss memory is higher than specified megabytes ๐--mem-collector-freqโ set the memory collector frequency when evil reloads are in place ๐งน--reload-on-fdโ reload if the specified file descriptor is ready ๐--brutal-reload-on-fdโ brutal reload if the specified file descriptor is ready ๐--ksmโ enable Linux KSM ๐ง--pcre-jitโ enable pcre jit (if available) โก--never-swapโ lock all memory pages avoiding swapping ๐--touch-reloadโ reload uWSGI if the specified file is modified/touched ๐--touch-workers-reloadโ trigger reload of (only) workers if the specified file is modified/touched ๐--touch-mules-reloadโ reload mules if the specified file is modified/touched ๐--touch-spoolers-reloadโ reload spoolers if the specified file is modified/touched ๐--touch-chain-reloadโ trigger chain reload if the specified file is modified/touched ๐--touch-logrotateโ trigger logrotation if the specified file is modified/touched ๐--touch-logreopenโ trigger log reopen if the specified file is modified/touched ๐--touch-execโ run command when the specified file is modified/touched(syntax: file command)๐--touch-signalโ signal when the specified file is modified/touched (syntax:file signal). Like, you give it a file and a signal, and it fires that signal when the file gets touched. ๐--fs-reloadโ graceful reload when the specified filesystem object is modified. So if something in the filesystem changes, it does a graceful reload. So chill. ๐ฆ--fs-brutal-reloadโ brutal reload when the specified filesystem object is modified. No chill, just straight up brutal reload when that filesystem object changes. ๐--fs-signalโ raise a uwsgi signal when the specified filesystem object is modified (syntax:file signal). It's giving "I'll signal uwsgi when this file changes". Periodt. โจ--check-mountpointโ destroy the instance if a filesystem is no more reachable (useful for reliable Fuse management). Like, if the mountpoint ghosts you, the instance gets destroyed. Bye. ๐ซถ--mountpoint-checkโ destroy the instance if a filesystem is no more reachable (useful for reliable Fuse management). Same vibe as above, just a different name. Still destroys if filesystem unreachable. ๐--check-mountโ destroy the instance if a filesystem is no more reachable (useful for reliable Fuse management). Yep, another alias. Destroy on unreachable filesystem. ๐ฅ--mount-checkโ destroy the instance if a filesystem is no more reachable (useful for reliable Fuse management). The last of the mount-check squad. Same energy. ๐--propagate-touchโ over-engineering option for system with flaky signal management. Like, if your signal management is a mess, this is extra. But hey, it's there. ๐--limit-postโ limit request body. Just caps how much body you can send. Simple. ๐--no-orphansโ automatically kill workers if master dies (can be dangerous for availability). So if the master dips, workers get killed. But careful, it might mess with availability. โ ๏ธ--prioโ set processes/threads priority. You can set the priority, bestie. ๐--cpu-affinityโ set cpu affinity. Pin those processes to specific CPUs. Slay. ๐--post-bufferingโ set size in bytes after which will buffer to disk instead of memory. So when the request body gets too big, it goes to disk instead of RAM. iykyk. ๐--post-buffering-bufsizeโ set buffer size for read() in post buffering mode. Sets the buffer size forread()when post buffering is on. No cap. ๐--body-read-warningโ set the amount of allowed memory allocation (in megabytes) for request body before starting printing a warning. So if the body allocation goes over this many MB, you get a warning. Heads up. โ ๏ธ--upload-progressโ enable creation of .json files in the specified directory during a file upload. It makes.jsonfiles in that dir while uploading. Track that progress, bestie. ๐--no-default-appโ do not fallback to default app. No default app fallback. It's giving "I stand alone". ๐ซ--manage-script-nameโ automatically rewrite SCRIPT_NAME and PATH_INFO. It auto-rewrites those. Magic. โจ--ignore-script-nameโ ignore SCRIPT_NAME. Just ignore it. Bye. ๐ โโ๏ธ--catch-exceptionsโ report exception as http output (discouraged, use only for testing). So it shows exceptions as HTTP output, but don't do it in prod, okay? Only for testing. ๐--reload-on-exceptionโ reload a worker when an exception is raised. If an exception pops off, the worker gets reloaded. ๐--reload-on-exception-typeโ reload a worker when a specific exception type is raised. Same but for a specific exception type. ๐ฏ--reload-on-exception-valueโ reload a worker when a specific exception value is raised. Yep, for a specific value. ๐--reload-on-exception-reprโ reload a worker when a specific exception type+value (language-specific) is raised. Type+value, language-specific. Fancy. ๐ง--exception-handlerโ add an exception handler. You can add a handler for exceptions. Handle it. ๐--enable-metricsโ enable metrics subsystem. Turn on the metrics subsystem. Let's get those numbers. ๐--metricโ add a custom metric. Add your own metric. Customize it. ๐จ--metric-thresholdโ add a metric threshold/alarm. Set a threshold or alarm for a metric. ๐จ--metric-alarmโ add a metric threshold/alarm. Same thing, different name. Alarm it up. ๐--alarm-metricโ add a metric threshold/alarm. Another alias. Same energy. โฐ--metrics-dirโ export metrics as text files to the specified directory. Dump those metrics as text files in a dir. ๐--metrics-dir-restoreโ restore last value taken from the metrics dir. Restore the last value from that metrics dir. Rewind. โช--metric-dirโ export metrics as text files to the specified directory. Same as--metrics-dirbut shorter. Still exports text files. ๐--metric-dir-restoreโ restore last value taken from the metrics dir. Same restore vibe. โฎ๏ธ--metrics-no-coresโ disable generation of cores-related metrics. No cores metrics. Skip that. ๐ซ--udpโ run the udp server on the specified address. Runs a UDP server on the address you give. ๐--statsโ enable the stats server on the specified address. Turn on the stats server at that address. ๐--stats-serverโ enable the stats server on the specified address. Same thing. Stats server, go. ๐--stats-httpโ prefix stats server json output with http headers. Adds HTTP headers before the JSON. Fancy. ๐ฉ--stats-minifiedโ minify statistics json output. Makes the JSON smol. ๐--stats-minโ minify statistics json output. Same minify energy. ๐--stats-pushโ push the stats json to the specified destination. Pushes stats JSON to a destination. Send it. ๐ค--stats-pusher-default-freqโ set the default frequency of stats pushers. Sets how often stats pushers push. Default freq. โฑ๏ธ--stats-pushers-default-freqโ set the default frequency of stats pushers. Same thing, plural. Still freq. ๐--stats-no-coresโ disable generation of cores-related stats. No cores stats. Skip. ๐ซ--stats-no-metricsโ do not include metrics in stats output. Metrics not included in stats. Bye. ๐--multicastโ subscribe to specified multicast group. Join that multicast group. ๐ฏโโ๏ธ--multicast-ttlโ set multicast ttl. Set the TTL. โณ--multicast-loopโ set multicast loop (default 1). Set the loop, default is1. ๐--master-fifoโ enable the master fifo. Turn on the master FIFO. ๐๏ธ--notify-socketโ enable the notification socket. Enable the notification socket. ๐--subscription-notify-socketโ set the notification socket for subscriptions. Set the notification socket specifically for subscriptions. ๐ฌ--legionโ became a member of a legion. Join a legion. โ๏ธ--legion-mcastโ became a member of a legion (shortcut for multicast). Same but shortcut for multicast. ๐--legion-nodeโ add a node to a legion. Add a node to the legion. โ--legion-freqโ set the frequency of legion packets. Set the freq of legion packets. ๐ก--legion-toleranceโ set the tolerance of legion subsystem. Set the tolerance. ๐ค--legion-death-on-lord-errorโ declare itself as a dead node for the specified amount of seconds if one of the lord hooks fails. If a lord hook fails, it declares itself dead for the specified amount of seconds. Dramatic. ๐--legion-skew-toleranceโ set the clock skew tolerance of legion subsystem (default 60 seconds). Set clock skew tolerance, default is60seconds. โฐ--legion-lordโ action to call on Lord election. Action when Lord is elected. ๐--legion-unlordโ action to call on Lord dismiss. Action when Lord is dismissed. ๐ซ--legion-setupโ action to call on legion setup. Action on legion setup. ๐ ๏ธ--legion-deathโ action to call on legion death (shutdown of the instance). Action on legion death (shutdown). ๐--legion-joinโ action to call on legion join (first time quorum is reached). Action when legion joins (first quorum). ๐--legion-node-joinedโ action to call on new node joining legion. Action when a new node joins. ๐--legion-node-leftโ action to call node leaving legion. Action when a node leaves. ๐--legion-quorumโ set the quorum of a legion. Set the quorum. ๐ณ๏ธ--legion-scrollโ set the scroll of a legion. Set the scroll. ๐--legion-scroll-max-sizeโ set max size of legion scroll buffer. Max size of scroll buffer. ๐--legion-scroll-list-max-sizeโ set max size of legion scroll list buffer. Max size of scroll list buffer. ๐--subscriptions-sign-checkโ set digest algorithm and certificate directory for secured subscription system. Sets digest algo and cert dir for secured subscriptions. ๐--subscriptions-sign-check-toleranceโ set the maximum tolerance (in seconds) of clock skew for secured subscription system. Max tolerance in seconds for clock skew. โณ--subscriptions-sign-skip-uidโ skip signature check for the specified uid when using unix sockets credentials. Skip sig check for that uid with unix socket creds. ๐--subscriptions-credentials-checkโ add a directory to search for subscriptions key credentials. Add a dir to search for subscription key creds. ๐--subscriptions-use-credentialsโ enable management of SCM_CREDENTIALS in subscriptions UNIX sockets. EnableSCM_CREDENTIALSmanagement in subscriptions UNIX sockets. ๐--subscription-algoโ set load balancing algorithm for the subscription system. Set the load balancing algo for subscriptions. โ๏ธ--subscription-dotsplitโ try to fallback to the next part (dot based) in subscription key. Try fallback to next dot-based part in subscription key. ๐--subscribe-toโ subscribe to the specified subscription server. Subscribe to that server. ๐ฌ--stโ subscribe to the specified subscription server. Short for--subscribe-to. Same. ๐ฉ--subscribeโ subscribe to the specified subscription server. Same subscribe energy. ๐จ--subscribe2โ subscribe to the specified subscription server using advanced keyval syntax. Subscribe with advanced keyval syntax. Fancy. ๐ฉ--subscribe-freqโ send subscription announce at the specified interval. Send announce at that interval. โฐ--subscription-toleranceโ set tolerance for subscription servers. Set tolerance for subscription servers. ๐ค--unsubscribe-on-graceful-reloadโ force unsubscribe request even during graceful reload. Force unsubscribe even on graceful reload. Bye. ๐--start-unsubscribedโ configure subscriptions but do not send them (useful with master fifo). Configure but don't send. Useful with master FIFO. ๐--subscribe-with-modifier1โ force the specififed modifier1 when subscribing. Force that modifier1 when subscribing. (Yes, it says "specififed" โ we keep it real.) ๐--snmpโ enable the embedded snmp server. Turn on the embedded SNMP server. ๐--snmp-communityโ set the snmp community string. Set the SNMP community string. ๐--ssl-verboseโ be verbose about SSL errors. Be loud about SSL errors. ๐ข--ssl-verify-depthโ set maximum certificate verification depth. Set max cert verification depth. ๐--sniโ add an SNI-governed SSL context. 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. Checks forcert/key/client_cafiles in the dir and creates an SNI/SSL context on demand. ๐๏ธ--sni-dir-ciphersโ set ssl ciphers for sni-dir option. Set SSL ciphers forsni-dir. ๐--ssl-enable3โ enable SSLv3 (insecure). Enables SSLv3, but it's insecure. Don't. ๐ซ--ssl-enable-sslv3โ enable SSLv3 (insecure). Same insecure SSLv3. ๐--ssl-enable-tlsv1โ enable TLSv1 (insecure). Enables TLSv1, also insecure. โ ๏ธ--ssl-optionโ set a raw ssl option (numeric value). Set a raw SSL option with a numeric value. ๐ข--sni-regexpโ add an SNI-governed SSL context (the key is a regexp). Add SNI-governed SSL context where the key is a regexp. ๐งฉ--ssl-tmp-dirโ store ssl-related temp files in the specified directory. Store SSL temp files in that dir. ๐๏ธ--check-intervalโ set the interval (in seconds) of master checks. Set master check interval in seconds. โฒ๏ธ--forkbomb-delayโ sleep for the specified number of seconds when a forkbomb is detected. If a forkbomb is detected, sleep for the specified number of seconds. ๐ด--binary-pathโ force binary path. Force the binary path. ๐--privileged-binary-patchโ patch the uwsgi binary with a new command (before privileges drop). 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). Same but after privileges drop. ๐ฉน--privileged-binary-patch-argโ patch the uwsgi binary with a new command and arguments (before privileges drop). Patch with command and args before drop. ๐งฐ--unprivileged-binary-patch-argโ patch the uwsgi binary with a new command and arguments (after privileges drop). Patch with command and args after drop. ๐งฐ--asyncโ enable async mode with specified cores. Enable async mode with the cores you specify. โก--max-fdโ set maximum number of file descriptors (requires root privileges). Set max file descriptors, needs root. ๐--logtoโ set logfile/udp address. Set the logfile or UDP address. ๐--logto2โ log to specified file or udp address after privileges drop. Log to file or UDP after privileges drop. ๐ค--log-formatโ set advanced format for request logging. Set advanced format for request logs. ๐จ--logformatโ set advanced format for request logging. Same as above. ๐๏ธ--logformat-strftimeโ apply strftime to logformat output. Applystrftimeto logformat output. ๐ฐ๏ธ--log-format-strftimeโ apply strftime to logformat output. Same. โณ--logfile-chownโ chown logfiles.chownthe logfiles. ๐ค--logfile-chmodโ chmod logfiles.chmodthe logfiles. ๐ง--log-syslogโ log to syslog. Log to syslog. ๐ก--log-socketโ send logs to the specified socket. Send logs to that socket. ๐--req-loggerโ set/append a request logger. Set or append a request logger. ๐--logger-reqโ set/append a request logger. Same. ๐--loggerโ set/append a logger. Set or append a logger. ๐--logger-listโ list enabled loggers. List enabled loggers. ๐--loggers-listโ list enabled loggers. Same list. ๐--threaded-loggerโ offload log writing to a thread. Offload log writing to a thread. ๐งต--log-encoderโ add an item in the log encoder chain. Add an item to the log encoder chain. โ๏ธ--log-req-encoderโ add an item in the log req encoder chain. Add an item to the log req encoder chain. โ๏ธ--log-drainโ drain (do not show) log lines matching the specified regexp. Drain (don't show) log lines matching the regexp. ๐ซ--log-filterโ show only log lines matching the specified regexp. Show only log lines matching the regexp. ๐--log-routeโ log to the specified named logger if regexp applied on logline matches. Log to the named logger if the regexp matches the logline. ๐ค๏ธ--log-req-routeโ log requests to the specified named logger if regexp applied on logline matches. Same for requests. ๐ค๏ธ--use-abortโ call abort() on segfault/fpe, could be useful for generating a core dump. Callsabort()on segfault/FPE, might help with core dumps. ๐ฅ--alarmโ create a new alarm, syntax: <alarm> <plugin:args>. Create a new alarm. Syntax is<alarm> <plugin:args>. ๐จ--alarm-cheapโ bestie, this uses the main alarm thread instead of creating dedicated threads for curl-based alarms. no cap, it's giving efficiency ๐--alarm-freqโ tunes the anti-loop alarm system (default 3 seconds). lowkey important โฐ--alarm-fdโ raises the specified alarm when an fd is read for read (by default it reads 1 byte, set 8 for eventfd). okay so fd energy, periodt ๐--alarm-segfaultโ raises the specified alarm when the segmentation fault handler is executed. segfault? not today, bestie ๐--segfault-alarmโ raises the specified alarm when the segmentation fault handler is executed. alias alert, same energy ๐จ--alarm-backlogโ raises the specified alarm when the socket backlog queue is full. queue full? alarm goes brrr ๐--backlog-alarmโ raises the specified alarm when the socket backlog queue is full. alias vibes ๐ซถ--lq-alarmโ raises the specified alarm when the socket backlog queue is full. lq? listen queue, iykyk ๐ง--alarm-lqโ raises the specified alarm when the socket backlog queue is full. another alias, periodt ๐--alarm-listen-queueโ raises the specified alarm when the socket backlog queue is full. listen queue said "i'm full" ๐ญ--listen-queue-alarmโ raises the specified alarm when the socket backlog queue is full. alias, no cap ๐--log-alarmโ raises the specified alarm when a log line matches the specified regexp, syntax:<alarm>[,alarm...] <regexp>. regexp match? alarm time, bestie ๐ฅ--alarm-logโ raises the specified alarm when a log line matches the specified regexp, syntax:<alarm>[,alarm...] <regexp>. alias, same syntax ๐ธ--not-log-alarmโ skips the specified alarm when a log line matches the specified regexp, syntax:<alarm>[,alarm...] <regexp>. skip it, not me ๐--not-alarm-logโ skips the specified alarm when a log line matches the specified regexp, syntax:<alarm>[,alarm...] <regexp>. alias, skip vibes ๐ฆ--alarm-listโ lists enabled alarms. let's see what's enabled, bestie ๐--alarms-listโ lists enabled alarms. alias, same list energy โจ--alarm-msg-sizeโ sets the max size of an alarm message (default 8192). big message energy, but capped ๐--log-masterโ delegates logging to master process. master said "i got this" ๐ช--log-master-bufsizeโ sets the buffer size for the master logger. bigger log messages will be truncated. truncation vibes โ๏ธ--log-master-streamโ creates the master logpipe as SOCK_STREAM. stream mode, slay ๐--log-master-req-streamโ creates the master requests logpipe as SOCK_STREAM. requests logpipe, stream mode ๐--log-reopenโ reopens log after reload. reload? reopen that log, periodt ๐--log-truncateโ truncates log on startup. fresh start, truncate it ๐--log-maxsizeโ sets maximum logfile size. maxsize, don't let it get huge ๐--log-backupnameโ sets logfile name after rotation. rotation? name it, bestie ๐--logdateโ prefixes logs with date or a strftime string. date prefix, main character energy ๐--log-dateโ prefixes logs with date or a strftime string. alias, same date vibes ๐๏ธ--log-prefixโ prefixes logs with a string. custom prefix, cute ๐--log-zeroโ logs responses without body. no body? still log it ๐ป--log-slowโ logs requests slower than the specified number of milliseconds. slow? log it, bestie ๐ข--log-4xxโ logs requests with a 4xx response. 4xx said "log me" ๐--log-5xxโ logs requests with a 5xx response. 5xx? yeah, log that too ๐จ--log-bigโ logs requests bigger than the specified size. big request energy ๐--log-sendfileโ logs sendfile requests. sendfile, logged ๐--log-ioerrorโ logs requests with io errors. io error? log it, fr fr ๐ฅ--log-microsโ reports response time in microseconds instead of milliseconds. micros, highkey precise ๐ฌ--log-x-forwarded-forโ uses the ip from X-Forwarded-For header instead of REMOTE_ADDR. X-Forwarded-For said "use my ip" ๐--master-as-rootโ leaves master process running as root. root energy ๐ถ๏ธ--drop-after-initโ runs privileges drop after plugin initialization, superseded by drop-after-apps. drop those privileges, but note it's superseded by drop-after-apps ๐ง--drop-after-appsโ runs privileges drop after apps loading, superseded by master-as-root. drop after apps, but master-as-root supersedes it ๐--force-cwdโ forces the initial working directory to the specified value. cwd said "i'm forced" ๐--binshโ overrides /bin/sh (used by exec hooks, it always fallback to /bin/sh). override binsh, but it always fallback to /bin/sh, no cap ๐--chdirโ chdir to specified directory before apps loading. chdir before apps, periodt ๐--chdir2โ chdir to specified directory after apps loading. chdir after apps, slay ๐--lazyโ sets lazy mode (load apps in workers instead of master). lazy mode, but make it fashion ๐--lazy-appsโ loads apps in each worker instead of the master. lazy apps, each worker gets a copy ๐งฌ--cheapโ sets cheap mode (spawn workers only after the first request). cheap mode, spawn on first request ๐ธ--cheaperโ sets cheaper mode (adaptive process spawning). cheaper mode, adaptive spawning, ate ๐ฝ๏ธ--cheaper-initialโ sets the initial number of processes to spawn in cheaper mode. initial processes, set it ๐ฑ--cheaper-algoโ choose to algorithm used for adaptive process spawning. pick the algo, bestie ๐ง--cheaper-stepโ number of additional processes to spawn at each overload. step it up at overload ๐ช--cheaper-overloadโ increase workers after specified overload. overload? increase workers ๐--cheaper-algo-listโ lists enabled cheapers algorithms. list those algos ๐--cheaper-algos-listโ lists enabled cheapers algorithms. alias, same list energy โจ--cheaper-listโ lists enabled cheapers algorithms. another alias, periodt ๐--cheaper-rss-limit-softโ don't spawn new workers if total resident memory usage of all workers is higher than this limit. soft limit, don't spawn if memory is high ๐ง--cheaper-rss-limit-hardโ if total workers resident memory usage is higher try to stop workers. hard limit, try to stop workers ๐--idleโ sets idle mode (put uWSGI in cheap mode after inactivity). idle mode, cheap mode after inactivity ๐ด--die-on-idleโ shutdowns uWSGI when idle. die on idle, dramatic but valid ๐--mountโ loads application under mountpoint. mount it, bestie ๐๏ธ--worker-mountโ loads application under mountpoint in the specified worker or after workers spawn. worker mount, specific worker or after spawn ๐ท--threadsโ runs each worker in prethreaded mode with the specified number of threads. threads, prethreaded mode, slay ๐งต--thread-stacksizeโ sets threads stacksize. stacksize, set it ๐--threads-stacksizeโ sets threads stacksize. alias, same stacksize energy ๐งต--thread-stack-sizeโ sets threads stacksize. another alias, periodt ๐--threads-stack-sizeโ sets threads stacksize. alias again, no cap ๐--vhostโ enables virtualhosting mode (based on SERVER_NAME variable). vhost mode, based on SERVER_NAME ๐--vhost-hostโ enables virtualhosting mode (based on HTTP_HOST variable). vhost-host, based on HTTP_HOST ๐ก--routeโ adds a route. route added, periodt ๐ฃ๏ธ--route-hostโ adds a route based on Host header. route based on Host header ๐ท๏ธ--route-uriโ adds a route based on REQUEST_URI. route based on REQUEST_URI ๐--route-qsโ adds a route based on QUERY_STRING. route based on QUERY_STRING โ--route-remote-addrโ adds a route based on REMOTE_ADDR. route based on REMOTE_ADDR ๐--route-user-agentโ adds a route based on HTTP_USER_AGENT. route based on HTTP_USER_AGENT ๐ต๏ธ--route-remote-userโ adds a route based on REMOTE_USER. route based on REMOTE_USER ๐ค--route-refererโ adds a route based on HTTP_REFERER. route based on HTTP_REFERER ๐--route-labelโ adds a routing label (for use with goto). routing label, for goto ๐ท๏ธ--route-ifโ adds a route based on condition. route based on condition ๐ค--route-if-notโ adds a route based on condition (negate version). route based on condition, negate version ๐--route-runโ always runs the specified route action. always run that route action ๐--final-routeโ adds a final route. final route, periodt ๐--final-route-statusโ adds a final route for the specified status. final route for status ๐--final-route-hostโ adds a final route based on Host header. final route based on Host header ๐ท๏ธ--final-route-uriโ adds a final route based on REQUEST_URI. final route based on REQUEST_URI ๐--final-route-qsโ adds a final route based on QUERY_STRING. final route based on QUERY_STRING โ--final-route-remote-addrโ adds a final route based on REMOTE_ADDR. final route based on REMOTE_ADDR ๐--final-route-user-agentโ adds a final route based on HTTP_USER_AGENT. final route based on HTTP_USER_AGENT ๐ต๏ธ--final-route-remote-userโ adds a final route based on REMOTE_USER. final route based on REMOTE_USER ๐ค--final-route-refererโ adds a final route based on HTTP_REFERER. final route based on HTTP_REFERER ๐--final-route-labelโ adds a final routing label (for use with goto). final routing label, for goto ๐ท๏ธ--final-route-ifโ adds a final route based on condition. final route based on condition ๐ค--final-route-if-notโ adds a final route based on condition (negate version). final route based on condition, negate version ๐--final-route-runโ always runs the specified final route action. always run final route action ๐--error-routeโ adds an error route. error route, added ๐จ--error-route-statusโ adds an error route for the specified status. error route for status ๐--error-route-hostโ adds an error route based on Host header. error route based on Host header ๐ท๏ธ--error-route-uriโ adds an error route based on REQUEST_URI. error route based on REQUEST_URI ๐--error-route-qsโ adds an error route based on QUERY_STRING. error route based on QUERY_STRING โ--error-route-remote-addrโ adds an error route based on REMOTE_ADDR. error route based on REMOTE_ADDR ๐--error-route-user-agentโ adds an error route based on HTTP_USER_AGENT. error route based on HTTP_USER_AGENT ๐ต๏ธ--error-route-remote-userโ adds an error route based on REMOTE_USER. error route based on REMOTE_USER ๐ค--error-route-refererโ adds an error route based on HTTP_REFERER. error route based on HTTP_REFERER ๐--error-route-labelโ adds an error routing label (for use with goto). error routing label, for goto ๐ท๏ธ--error-route-ifโ adds an error route based on condition. error route based on condition ๐ค--error-route-if-notโ adds an error route based on condition (negate version). error route based on condition, negate version ๐--error-route-runโ always runs the specified error route action. always run error route action ๐--response-routeโ adds a response route. response route, added ๐ฌ--response-route-statusโ adds a response route for the specified status. response route for status ๐--response-route-hostโ adds a response route based on Host header. response route based on Host header ๐ท๏ธ--response-route-uriโ adds a response route based on REQUEST_URI. response route based on REQUEST_URI ๐--response-route-qsโ adds a response route based on QUERY_STRING. response route based on QUERY_STRING โ--response-route-remote-addrโ adds a response route based on REMOTE_ADDR. response route based on REMOTE_ADDR ๐--response-route-user-agentโ adds a response route based on HTTP_USER_AGENT. response route based on HTTP_USER_AGENT ๐ต๏ธ--response-route-remote-userโ adds a response route based on REMOTE_USER. response route based on REMOTE_USER ๐ค--response-route-refererโ adds a response route based on HTTP_REFERER. response route based on HTTP_REFERER ๐--response-route-labelโ adds a response routing label (for use with goto). response routing label, for goto ๐ท๏ธ--response-route-ifโ adds a response route based on condition. response route based on condition ๐ค--response-route-if-notโ adds a response route based on condition (negate version). response route based on condition, negate version ๐--response-route-runโ always runs the specified response route action. always run response route action ๐--router-listโ lists enabled routers. list routers, periodt ๐--routers-listโ lists enabled routers. alias, same list energy โจ--error-page-403โ adds an error page (html) for managed 403 response. 403 error page, html ๐ซ--error-page-404โ adds an error page (html) for managed 404 response. 404 error page, html ๐--error-page-500โ adds an error page (html) for managed 500 response. 500 error page, html ๐ฅ--websockets-ping-freqโ sets the frequency (in seconds) of websockets automatic ping packets. ping freq, in seconds ๐--websocket-ping-freqโ sets the frequency (in seconds) of websockets automatic ping packets. alias, same ping energy ๐--websockets-pong-toleranceโ sets the tolerance (in seconds) of websockets ping/pong subsystem. pong tolerance, in seconds ๐--websocket-pong-toleranceโ sets the tolerance (in seconds) of websockets ping/pong subsystem. alias, same tolerance vibes ๐--websockets-max-sizeโ sets the max allowed size of websocket messages (in Kbytes, default 1024). max size, in Kbytes, default 1024 ๐ฆ--websocket-max-sizeโ sets the max allowed size of websocket messages (in Kbytes, default 1024). alias, same max size energy ๐ฆ--chunked-input-limitโ sets the max size of a chunked input part (default 1MB, in bytes). chunked input limit, default 1MB in bytes ๐งฉ--chunked-input-timeoutโ sets default timeout for chunked input. chunked input timeout, set it โณ--clockโ sets a clock source. clock source, set it โฐ--clock-listโ lists enabled clocks. list those clocks, periodt ๐ฐ๏ธ--clocks-listโ lists all the clocks that are enabled rn โฐ--add-headerโ automatically adds HTTP headers to the response for you, no manual labour ๐--rem-headerโ automatically removes a specified HTTP header from the response--del-headerโ same energy as--rem-header, it automatically removes a specified HTTP header from the response ๐๏ธ--collect-headerโ stores the specified response header in a request var (syntax: header var)--response-header-collectโ stores the specified response header in a request var (syntax: header var)--pull-headerโ stores the specified response header in a request var and removes it from the response (syntax: header var) โ it's giving grab-and-go โจ--check-staticโ checks for static files in the directory you specify ๐--check-static-docrootโ checks for static files in the requestedDOCUMENT_ROOT--static-checkโ checks for static files in the directory you specify--static-mapโ maps a mountpoint to a static directory (or a file) ๐บ๏ธ--static-map2โ like--static-mapbut it completely appends the requested resource to the docroot--static-skip-extโ skips the specified extension from staticfile checks ๐--static-indexโ searches for the specified file if a directory is requested--static-safeโ skips security checks if the file is under the specified path ๐ก๏ธ--static-cache-pathsโ puts resolved paths in the uWSGI cache for the specified amount of seconds--static-cache-paths-nameโ uses the specified cache for static paths--mimefileโ sets the mime types file path (default/etc/mime.types)--mime-fileโ sets the mime types file path (default/etc/mime.types)--static-expires-typeโ sets theExpiresheader based on content type--static-expires-type-mtimeโ sets theExpiresheader based on content type and file mtime--static-expiresโ sets theExpiresheader based on a filename regexp--static-expires-mtimeโ sets theExpiresheader based on a filename regexp and file mtime--static-expires-uriโ sets theExpiresheader based on aREQUEST_URIregexp--static-expires-uri-mtimeโ sets theExpiresheader based on aREQUEST_URIregexp and file mtime--static-expires-path-infoโ sets theExpiresheader based on aPATH_INFOregexp--static-expires-path-info-mtimeโ sets theExpiresheader based on aPATH_INFOregexp and file mtime--static-gzipโ if the regexp you supply matches the static file translation, it will search for a gzip version ๐๏ธ--static-gzip-allโ checks for a gzip version of all requested static files--static-gzip-dirโ checks for a gzip version of all requested static files in the specified dir/prefix--static-gzip-prefixโ checks for a gzip version of all requested static files in the specified dir/prefix--static-gzip-extโ checks for a gzip version of all requested static files with the specified ext/suffix--static-gzip-suffixโ checks for a gzip version of all requested static files with the specified ext/suffix--honour-rangeโ enables support for the HTTPRangeheader ๐--offload-threadsโ sets the number of offload threads to spawn (per-worker, default0)--offload-threadโ sets the number of offload threads to spawn (per-worker, default0)--file-serve-modeโ sets the static file serving mode--fileserve-modeโ sets the static file serving mode--disable-sendfileโ disablessendfile()and relies on boringread()/write()instead ๐ด--check-cacheโ checks for response data in the specified cache (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 uWSGI custom mode--envโ sets an environment variable ๐ฑ--envdirโ loads a daemontools compatible envdir--early-envdirโ loads a daemontools compatible envdir ASAP โก--unenvโ unsets an environment variable--vacuumโ tries to remove all of the generated file/sockets ๐งน--file-writeโ writes the specified content to the specified file (syntax: file=value) before privileges drop--cgroupโ puts the processes in the specified cgroup--cgroup-optโ sets a value in the specified cgroup option--cgroup-dir-modeโ sets permission for the cgroup directory (default is700)--namespaceโ runs in a new namespace under the specified rootfs--namespace-keep-mountโ keeps the specified mountpoint in your namespace--nsโ runs in a new namespace under the specified rootfs--namespace-netโ adds a network namespace ๐--ns-netโ adds a network namespace--enable-proxy-protocolโ enables PROXY1 protocol support (only for http parsers)--reuse-portโ enables theREUSE_PORTflag on socket (BSD only)--tcp-fast-openโ enables theTCP_FASTOPENflag on TCP sockets with the specified qlen value ๐--tcp-fastopenโ enables theTCP_FASTOPENflag on TCP sockets with the specified qlen value--tcp-fast-open-clientโ usessendto(..., MSG_FASTOPEN, ...)instead ofconnect()if supported--tcp-fastopen-clientโ usessendto(..., MSG_FASTOPEN, ...)instead ofconnect()if supported--zergโ attaches to a zerg server ๐--zerg-fallbackโ falls back to normal sockets if the zerg server is not available--zerg-serverโ enables the zerg server on the specified UNIX socket--cronโ adds a cron task โณ--cron2โ adds a cron task (key=val syntax)--unique-cronโ adds a unique cron task--cron-harakiriโ sets the maximum time (in seconds) we wait for the cron command to complete ๐--legion-cronโ adds a cron task runnable only when the instance is a lord of the specified legion ๐--cron-legionโ adds a cron task runnable only when the instance is a lord of the specified legion--unique-legion-cronโ adds a unique cron task runnable only when the instance is a lord of the specified legion--unique-cron-legionโ adds a unique cron task runnable only when the instance is a lord of the specified legion--loopโ selects the uWSGI loop engine ๐--loop-listโ lists enabled loop engines--loops-listโ lists enabled loop engines--worker-execโ runs the specified command as worker--worker-exec2โ runs the specified command as worker (after thepost_forkhook)--attach-daemonโ attaches a command/daemon to the master process (the command has to not go in background)--attach-control-daemonโ attaches a command/daemon to the master process (the command has to not go in background); when the daemon dies, the master dies too ๐ต--smart-attach-daemonโ attaches a command/daemon to the master process managed by a pidfile (the command has to daemonize)--smart-attach-daemon2โ attaches a command/daemon to the master process managed by a pidfile (the command has to NOT daemonize)--legion-attach-daemonโ same as--attach-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โ does not change the stdin of external daemons to/dev/null--attach-daemon2โ the attach-daemon keyval variant (supports smart modes too)--pluginsโ loads uWSGI plugins ๐งฉ--pluginโ loads uWSGI plugins--need-pluginsโ loads uWSGI plugins (exit on error)--need-pluginโ loads uWSGI plugins (exit on error)--plugins-dirโ adds a directory to the uWSGI plugin search path--plugin-dirโ adds a directory to the uWSGI plugin search path--plugins-listโ lists enabled plugins--plugin-listโ lists enabled plugins--autoloadโ tries to automatically load plugins when unknown options are found ๐ค--dlopenโ blindly loads a shared library ๐--allowed-modifiersโ 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 (fordata://usage)--printโ simple print ๐จ๏ธ--iprintโ simple print (immediate version)--exitโ forcesexit()of the instance--cflagsโ reports uWSGICFLAGS(useful for building external plugins)--dot-hโ dumps theuwsgi.hused for building the core (useful for building external plugins)--config-pyโ dumps theuwsgiconfig.pyused 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 ate that whole list ๐ This page is from uwsgi_luajit version 2.0.31-2, dated February 2026, and it lives in section UWSGI_LUAJIT(1). Go forth and configure something iconic โจ๐ฆ๐
๐ฆ where this page comes from
- ubuntu resolute: uwsgi-plugin-luajit 2.0.31+2+0.0.8build6 ยท GPL-3.0-or-later
- ubuntu stonking: uwsgi-plugin-luajit 2.0.31+2+0.0.8build6 ยท GPL-3.0-or-later
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms