UWSGI_LUA51(1)
๐ NAME ๐
okay so bestie, welcome to uwsgi_lua51 โ it's a fast (pure C), self-healing, developer-friendly WSGI server. and yes, that's the whole vibe. ๐
(the manual page for this one is UWSGI_LUA51(1), fyi, in case you were wondering who you're talking to ๐ซถ)
โจ SYNOPSIS โจ
uwsgi-core-local [options...]
like, that's it. you run the thing, you feed it options, it does the thing. main character energy fr fr. ๐
๐ธ DESCRIPTION ๐ธ
so here's the whole buffet of options. every single one, no skips, no skimming โ we're going through all of them because that's just who we are. ๐
๐ฆ sockets & protocols
-s,--socketโ bind to the specified UNIX/TCP socket using the default protocol-s,--uwsgi-socketโ bind to the specified UNIX/TCP socket using the uwsgi protocol--suwsgi-socketโ bind to the specified UNIX/TCP socket using the uwsgi protocol over SSL--ssl-socketโ bind to the specified UNIX/TCP socket using the uwsgi protocol over SSL--http-socketโ bind to the specified UNIX/TCP socket using the HTTP protocol--http-socket-modifier1โ force the specified modifier1 when you're using the HTTP protocol--http-socket-modifier2โ force the specified modifier2 when you're using the HTTP protocol--http11-socketโ bind to the specified UNIX/TCP socket using the HTTP 1.1 (Keep-Alive) protocol--https-socketโ bind to the specified UNIX/TCP socket using the HTTPS protocol--https-socket-modifier1โ force the specified modifier1 when you're using the HTTPS protocol--https-socket-modifier2โ force the specified modifier2 when you're using the HTTPS protocol--fastcgi-socketโ bind to the specified UNIX/TCP socket using the FastCGI protocol--fastcgi-nph-socketโ bind to the specified UNIX/TCP socket using the FastCGI protocol (nph mode)--fastcgi-modifier1โ force the specified modifier1 when you're using the FastCGI protocol--fastcgi-modifier2โ force the specified modifier2 when you're using the FastCGI protocol--scgi-socketโ bind to the specified UNIX/TCP socket using the SCGI protocol--scgi-nph-socketโ bind to the specified UNIX/TCP socket using the SCGI protocol (nph mode)--scgi-modifier1โ force the specified modifier1 when you're using the SCGI protocol--scgi-modifier2โ force the specified modifier2 when you're using the SCGI protocol--raw-socketโ bind to the specified UNIX/TCP socket using the RAW protocol--raw-modifier1โ force the specified modifier1 when you're using the RAW protocol--raw-modifier2โ force the specified modifier2 when you're using the RAW protocol--puwsgi-socketโ bind to the specified UNIX/TCP socket using the persistent uwsgi protocol (puwsgi)--protocolโ force the specified protocol for default sockets--socket-protocolโ force the specified protocol for default sockets--shared-socketโ create a shared socket for advanced jailing or ipc--undeferred-shared-socketโ create a shared socket for advanced jailing or ipc (undeferred mode)
๐ง workers, locks & harakiri
-p,--processesโ spawn the specified number of workers/processes-p,--workersโ spawn the specified number of workers/processes--thunder-lockโ serializeaccept()usage (if possible)-t,--harakiriโ set the harakiri timeout--harakiri-verboseโ enable verbose mode for harakiri--harakiri-graceful-timeoutโ the interval between a graceful harakiri attempt and a sigkill--harakiri-graceful-signalโ use this signal instead of sigterm for graceful harakiri attempts--harakiri-queue-thresholdโ only trigger harakiri if the queue is greater than this threshold--harakiri-no-arhโ do not enable harakiri during after-request-hook--no-harakiri-arhโ do not enable harakiri during after-request-hook--no-harakiri-after-req-hookโ do not enable harakiri during after-request-hook--backtrace-depthโ set the backtrace depth--mule-harakiriโ set the harakiri timeout for mule tasks
๐ config loading & the pluggable system
-x,--xmlconfigโ load config from an xml file-x,--xmlโ load config from an xml file--configโ load configuration using the pluggable system--fallback-configโ re-exec uwsgi with the specified config when the exit code is1--strictโ enable strict mode (placeholder cannot be used)--skip-zeroโ skip the 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, syntax:placeholder=name(immediate option)
๐ option logic (the if/for girlies)
--forโ (opt logic) for cycle--for-globโ (opt logic) for cycle (expand glob)--for-timesโ (opt logic) for cycle (expand the specified num to a list starting 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 existance--if-not-fileโ (opt logic) check for file existance--if-dirโ (opt logic) check for directory existance--if-not-dirโ (opt logic) check for directory existance--ifdirโ (opt logic) check for directory existance--if-directoryโ (opt logic) check for directory existance--endifโ (opt logic) end if--end-ifโ (opt logic) end if
๐ฅ allowlists, blocklists & being chill about errors
--blacklistโ set options blacklist context--end-blacklistโ clear options blacklist context--whitelistโ set options whitelist context--end-whitelistโ clear options whitelist context--ignore-sigpipeโ do not report (annoying)SIGPIPE--ignore-write-errorsโ do not report (annoying)write()/writev()errors--write-errors-toleranceโ set the maximum number of allowed write errors (default: no tolerance)--write-errors-exception-onlyโ only raise an exception on write errors, giving control to the app itself--disable-write-exceptionโ disable exception generation onwrite()/writev()
๐ templating & includes
--inheritโ use the specified file as config template--includeโ include the specified file as immediate configuration--inject-beforeโ inject a text file before the config file (advanced templating)--inject-afterโ inject a text file after the config file (advanced templating)
๐ daemonizing & instance wrangling
-d,--daemonizeโ daemonize uWSGI--daemonize2โ daemonize uWSGI after app loading--stopโ stop an instance--reloadโ reload an instance--pauseโ pause an instance--suspendโ suspend an instance--resumeโ resume an instance--connect-and-readโ connect to a socket and wait for data from it--extractโ fetch/dump any supported address to stdout
โญ sizing, buffers & profiling
-l,--listenโ set the socket listen queue size-v,--max-varsโ set the amount of internal iovec/vars structures--max-appsโ set the maximum number of per-worker applications-b,--buffer-sizeโ set the internal buffer size-m,--memory-reportโ enable memory report--profilerโ enable the specified profiler
๐ socket vibes & permissions
-c,--cgi-modeโ force CGI-mode for plugins supporting it-a,--abstract-socketโ force UNIX socket in abstract mode (Linux only)-C,--chmod-socketโ chmod-socket-C,--chmodโ chmod-socket--chown-socketโ chown unix sockets--umaskโ set umask--freebindโ put socket in freebind mode--map-socketโ map sockets to specific workers
๐ซถ threads, process names & the master
-T,--enable-threadsโ enable threads--no-threads-waitโ do not wait for threads cancellation on quit/reload--auto-procnameโ automatically set processes name to something meaningful--procname-prefixโ add a prefix to the process names--procname-prefix-spacedโ add a spaced prefix to the process names--procname-appendโ append a string to process names--procnameโ set process names--procname-masterโ set master process name-i,--single-interpreterโ do not use multiple interpreters (where available)--need-appโ exit if no app can be loaded-M,--masterโ enable master process--honour-stdinโ do not remap stdin to/dev/null
๐ the Emperor (yes, capital E, it earned it)
--emperorโ run the Emperor--emperor-proxy-socketโ force the vassal to became an Emperor proxy--emperor-wrapperโ set a binary wrapper for vassals--emperor-wrapper-overrideโ set a binary wrapper for vassals to try before the default one--emperor-wrapper-fallbackโ set a binary wrapper for vassals to try as a last resort--emperor-nofollowโ do not follow symlinks when checking for mtime--emperor-procnameโ set the Emperor process name--emperor-freqโ set the Emperor scan frequency (default3seconds)--emperor-required-heartbeatโ set the Emperor tolerance about heartbeats--emperor-curse-toleranceโ set the Emperor tolerance about cursed vassals--emperor-pidfileโ write the Emperor pid in the specified file
and that's part 1, bestie โ there's more coming so don't go anywhere ๐
--emperor-tyrantโ put the Emperor in Tyrant mode ๐๐--emperor-tyrant-nofollowโ do not follow symlinks when checking for uid/gid in Tyrant mode ๐ซ๐--emperor-statsโ run the Emperor stats server ๐--emperor-stats-serverโ run the Emperor stats server ๐--early-emperorโ spawn the emperor as soon as possibile โจ--emperor-broodlordโ run the emperor in BroodLord mode ๐--emperor-throttleโ set throttling level (in milliseconds) for bad behaving vassals (default 1000) ๐ค--emperor-max-throttleโ set max throttling level (in milliseconds) for bad behaving vassals (default 3 minutes) ๐ค--emperor-magic-execโ prefix vassals config files withexec://if they have the executable bit ๐ช--emperor-on-demand-extensionโ search for text file (vassal name + extension) containing the on demand socket name ๐--emperor-on-demand-extโ search for text file (vassal name + extension) containing the on demand socket name ๐--emperor-on-demand-directoryโ enable on demand mode binding to the unix socket in the specified directory named like the vassal +.socket๐--emperor-on-demand-dirโ enable on demand mode binding to the unix socket in the specified directory named like the vassal +.socket๐--emperor-on-demand-execโ use the output of the specified command as on demand socket name (the vassal name is passed as the only argument) ๐ซก--emperor-extra-extensionโ allows the specified extension in the Emperor (vassal will be called with--config) ๐๏ธ--emperor-extra-extโ allows the specified extension in the Emperor (vassal will be called with--config) ๐๏ธ--emperor-no-blacklistโ disable Emperor blacklisting subsystem ๐ซ๐--emperor-use-cloneโ useclone()instead offork()passing the specifiedunshare()flags ๐งฌ--emperor-graceful-shutdownโ use vassals graceful shutdown during ragnarok ๐--emperor-capโ set vassals capability ๐งข--vassals-capโ set vassals capability ๐งข--vassal-capโ set vassals capability ๐งข--imperial-monitor-listโ list enabled imperial monitors ๐--imperial-monitors-listโ list enabled imperial monitors ๐--vassals-inheritโ add config templates to vassals config (uses--inherit) ๐งฌ--vassals-includeโ include config templates to vassals config (uses--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 is 60) โณ--mule-reload-mercyโ set the maximum time (in seconds) a mule can take to reload/shutdown (default is 60) โณ--exit-on-reloadโ force exit even if a reload is requested ๐ช--die-on-termโ exit instead of brutal reload onSIGTERM๐--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 is 60) โฑ๏ธ--max-worker-lifetimeโ reload workers after the specified amount of seconds (default is disabled) โฑ๏ธ--max-worker-lifetime-deltaโ add (worker_id * delta) seconds to 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 (default 3 seconds) ๐งน--cache-report-freed-itemsโ constantly report the cache item freed by the sweeper (use only for debug) ๐--cache-udp-serverโ bind the cache udp server (used only for set/update/delete) to the specified socket ๐ก--cache-udp-nodeโ send cache update/deletion to the specified cache udp server ๐ก--cache-syncโ copy the whole content of another uWSGI cache server on server startup ๐ฆ--cache-use-last-modifiedโ 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) ๐ท๏ธ--reforkโ okay so this one does anotherfork()after privileges drop. It's giving jailing systems main character energy. โจ--re-forkโ literally same vibe as--refork:fork()again after privileges drop. Jailing systems, this is for you. ๐ซถ--refork-as-rootโfork()again before privileges drop. Perfect for jailing systems. ๐--re-fork-as-rootโ same as--refork-as-root:fork()again before privileges drop. Jailing systems stay winning. ๐--refork-post-jailโfork()again after jailing. Useful for jailing systems. ๐--re-fork-post-jailโ same energy as--refork-post-jail:fork()again after jailing. Jailing systems lowkey love this. ๐ธ--hook-asapโ run the specified hook as soon as possible. No waiting, bestie. โก--hook-pre-jailโ run the specified hook before jailing. ๐ฆ--hook-post-jailโ run the specified hook after jailing. โจ--hook-in-jailโ run the specified hook in jail after initialization. ๐ฐ--hook-as-rootโ run the specified hook before privileges drop. ๐--hook-as-userโ run the specified hook after privileges drop. ๐ซถ--hook-as-user-atexitโ run the specified hook before app exit and reload. ๐ญ--hook-pre-appโ run the specified hook before app loading. ๐ฆ--hook-post-appโ run the specified hook after app loading. ๐--hook-post-forkโ run the specified hook after each fork. ๐ด--hook-acceptingโ run the specified hook after each worker enters the accepting phase. ๐ฏ--hook-accepting1โ run the specified hook after the first worker enters the accepting phase. ๐ฅ--hook-accepting-onceโ run the specified hook after each worker enters the accepting phase (once per-instance). ๐--hook-accepting1-onceโ run the specified hook after the first worker enters the accepting phase (once per instance). ๐ฅ๐--hook-master-startโ run the specified hook when the Master starts. ๐--hook-touchโ run the specified hook when the specified file is touched. Syntax:<file> <action>. ๐--hook-emperor-startโ run the specified hook when the Emperor starts. ๐โจ--hook-emperor-stopโ run the specified hook when the Emperor sends a stop message. ๐--hook-emperor-reloadโ run the specified hook when the Emperor sends a reload message. ๐--hook-emperor-lostโ run the specified hook when the Emperor connection is lost. ๐--hook-as-vassalโ run the specified hook 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. Same vibe, different flag name. ๐--exec-asapโ run the specified command as soon as possible. โก--exec-pre-jailโ run the specified command before jailing. ๐ฆ--exec-post-jailโ run the specified command after jailing. โจ--exec-in-jailโ run the specified command in jail after initialization. ๐ฐ--exec-as-rootโ run the specified command before privileges drop. ๐--exec-as-userโ run the specified command after privileges drop. ๐ซถ--exec-as-user-atexitโ run the specified command before app exit and reload. ๐ญ--exec-pre-appโ run the specified command before app loading. ๐ฆ--exec-post-appโ run the specified command after app loading. ๐--exec-as-vassalโ run the specified command 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 forwait-for-interface. โณ--wait-interfaceโ wait for the specified network interface to come up before running root hooks. Same as--wait-for-interface. ๐ถ--wait-interface-timeoutโ set the timeout 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. โณ--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 frominifile. ๐-y|--yamlโ load config fromyamlfile. ๐งพ-y|--ymlโ load config fromyamlfile. ๐งพ-j|--jsonโ load config fromjsonfile. ๐งพ-j|--jsโ load config fromjsonfile. ๐งพ--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. ๐--fs-reloadโ graceful reload when the filesystem object you specified gets modified. โจ--fs-brutal-reloadโ brutal reload when that specified filesystem object changes. ๐--fs-signalโ raise a uwsgi signal when the specified filesystem object is modified. Syntax:file signal. ๐ซถ--check-mountpointโ destroy the instance if a filesystem is no more reachable (useful for reliable Fuse management). ๐ญ--mountpoint-checkโ literally the same vibe as--check-mountpoint: destroy the instance if a filesystem is no more reachable (useful for reliable Fuse management). ๐ฆ--check-mountโ again, same energy: destroy the instance if a filesystem is no more reachable (useful for reliable Fuse management). ๐--mount-checkโ yes bestie, another alias: destroy the instance if a filesystem is no more reachable (useful for reliable Fuse management). ๐ธ--propagate-touchโ over-engineering option for system with flaky signal management. ๐--limit-postโ limit request body. ๐--no-orphansโ automatically kill workers if master dies. Can be dangerous for availability. ๐--prioโ set processes/threads priority. โญ--cpu-affinityโ set cpu affinity. ๐ฅ--post-bufferingโ set size in bytes after which will buffer to disk instead of memory. ๐พ--post-buffering-bufsizeโ set buffer size 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 (default1). ๐--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 (default30seconds). โฐ--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 subscriptionsUNIXsockets. ๐งพ--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 specififedmodifier1when 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 forcert/key/client_cafile 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. default is 3 seconds bestie, don't touch it unless you know what you're doing โจ--alarm-fdโ raises the specified alarm when an fd is read for read. by default it reads 1 byte, so set it to 8 for eventfd ๐--alarm-segfaultโ raises the specified alarm whenever the segmentation fault handler gets executed ๐ญ--segfault-alarmโ same exact vibe as--alarm-segfault, raises the specified alarm when the segfault handler runs ๐--alarm-backlogโ raises the specified alarm when the socket backlog queue is full ๐จ--backlog-alarmโ yeah it's the same thing again, raise the specified alarm when the socket backlog queue fills up ๐ฅ--lq-alarmโ raise the specified alarm when the socket backlog queue is full (listen queue edition, iykyk) ๐--alarm-lqโ raise the specified alarm when the socket backlog queue is full, same energy, different spelling ๐ฆ--alarm-listen-queueโ raise the specified alarm when the socket backlog queue is full, longest name for the same iconic behavior โจ--listen-queue-alarmโ raise the specified alarm when the socket backlog queue is full, yes it's a twin ๐ซถ--log-alarmโ raise the specified alarm whenever a log line matches the specified regexp. syntax:<alarm>[,alarm...] <regexp>๐--alarm-logโ raise the specified alarm when a log line matches the specified regexp. syntax:<alarm>[,alarm...] <regexp>(same as--log-alarm, just flipped) ๐ธ--not-log-alarmโ skip the specified alarm when a log line matches the specified regexp. syntax:<alarm>[,alarm...] <regexp>๐ง--not-alarm-logโ skip the specified alarm when a log line matches the specified regexp. syntax:<alarm>[,alarm...] <regexp>๐--alarm-listโ lists all the enabled alarms, so you can see what's poppin' ๐--alarms-listโ list enabled alarms, plural bestie, same thing ๐--alarm-msg-sizeโ sets the max size of an alarm message. default is 8192 ๐--log-masterโ delegates the logging over to the master process, main character does the work โจ--log-master-bufsizeโ sets the buffer size for the master logger. heads up: bigger log messages will get truncated ๐--log-master-streamโ creates the master logpipe asSOCK_STREAM๐--log-master-req-streamโ creates the master requests logpipe asSOCK_STREAM, very specific, very slay ๐ฅ--log-reopenโ reopens the log after a reload ๐--log-truncateโ truncates the log on startup, fresh start energy ๐ซถ--log-maxsizeโ sets the maximum logfile size ๐--log-backupnameโ sets the logfile name to use after rotation ๐--logdateโ prefixes your logs with a date or astrftimestring ๐๏ธ--log-dateโ prefixes logs with a date or astrftimestring, same iconic behavior ๐ธ--log-prefixโ prefixes logs with a string you pick ๐--log-zeroโ logs responses that have no body ๐ป--log-slowโ logs requests that are slower than the specified number of milliseconds ๐--log-4xxโ logs requests that come back with a 4xx response ๐ซ--log-5xxโ logs requests that come back with a 5xx response ๐--log-bigโ logs requests bigger than the specified size, big back energy ๐ญ--log-sendfileโ logs the sendfile requests ๐ฆ--log-ioerrorโ logs requests that hit io errors ๐ต--log-microsโ reports response time in microseconds instead of milliseconds, precision queen โฑ๏ธ--log-x-forwarded-forโ uses the ip from theX-Forwarded-Forheader instead ofREMOTE_ADDR๐--master-as-rootโ leaves the master process running as root ๐ (careful with that one bestie)--drop-after-initโ runs the privileges drop after plugin initialization. heads up, this is superseded bydrop-after-apps๐--drop-after-appsโ runs the privileges drop after apps loading. superseded bymaster-as-rootโจ--force-cwdโ forces the initial working directory to the value you specify ๐--binshโ overrides/bin/sh. used by exec hooks, and it always falls back to/bin/shno matter what ๐ซถ--chdirโ chdirs to the specified directory before apps loading ๐ช--chdir2โ chdirs to the specified directory after apps loading, sequencing matters bestie ๐--lazyโ sets lazy mode, which loads apps in the workers instead of the master ๐ด--lazy-appsโ loads apps in each worker instead of the master, same lazy vibe different name ๐ธ--cheapโ sets cheap mode: workers only spawn after the very first request ๐ธ--cheaperโ sets cheaper mode, aka adaptive process spawning โจ--cheaper-initialโ sets the initial number of processes to spawn in cheaper mode ๐--cheaper-algoโ chooses the algorithm used for adaptive process spawning ๐ง--cheaper-stepโ the number of additional processes to spawn at each overload ๐--cheaper-overloadโ increases workers after the specified overload ๐ฅ--cheaper-algo-listโ lists the enabled cheapers algorithms ๐--cheaper-algos-listโ list enabled cheapers algorithms, plural version, still iconic ๐--cheaper-listโ list enabled cheapers algorithms, yes another one ๐--cheaper-rss-limit-softโ won't spawn new workers if the total resident memory usage of all workers goes higher than this limit ๐ง--cheaper-rss-limit-hardโ if the total workers resident memory usage is higher, it tries to stop workers ๐--idleโ sets idle mode, which puts uWSGI into cheap mode after inactivity ๐ด--die-on-idleโ shuts down uWSGI when it's idle, dramatic but valid ๐--mountโ loads the application under the mountpoint ๐--worker-mountโ loads the application under the mountpoint in the specified worker, or after workers spawn ๐ ๏ธ--threadsโ runs each worker in prethreaded mode with the specified number of threads ๐งต--thread-stacksizeโ sets the threads stacksize ๐--threads-stacksizeโ sets the threads stacksize, same thing bestie โจ--thread-stack-sizeโ sets the threads stacksize, third twin in the lineup ๐ธ--threads-stack-sizeโ sets the threads stacksize, fourth and final twin ๐--vhostโ enables virtualhosting mode, based on 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 specified route action, no conditions, it just goes ๐--final-routeโ adds a final route ๐--final-route-statusโ adds a final route for the specified status ๐ข--final-route-hostโ adds a final route based on 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, the negate version ๐--final-route-runโ always runs the specified final route action ๐--error-routeโ adds an error route ๐จ--error-route-statusโ adds an error route for the specified status ๐ข--error-route-hostโ adds an error route based on 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, the negate version ๐--error-route-runโ always runs the specified error route action ๐--response-routeโ adds a response route ๐ฌ--response-route-statusโ adds a response route for the specified status ๐ข--response-route-hostโ adds a response route based on 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, the negate version ๐--response-route-runโ always runs the specified response route action ๐--router-listโ lists the enabled routers ๐--routers-listโ list enabled routers, plural, still slay ๐--error-page-403โ adds an error page (html) for the managed403response ๐ซ--error-page-404โ adds an error page (html) for the managed404response ๐--error-page-500โ adds an error page (html) for the managed500response ๐ฅ--websockets-ping-freqโ sets the frequency (in seconds) of the websockets automatic ping packets ๐--websocket-ping-freqโ sets the frequency (in seconds) of websockets automatic ping packets, same thing โจ--websockets-pong-toleranceโ sets the tolerance (in seconds) of the websockets ping/pong subsystem ๐พ--websocket-pong-toleranceโ sets the tolerance (in seconds) of the websockets ping/pong subsystem, identical twin ๐--websockets-max-sizeโ sets the max allowed size of websocket messages, in Kbytes, default 1024 ๐--websocket-max-sizeโ sets the max allowed size of websocket messages, in Kbytes, default 1024, yes same one ๐ธ--chunked-input-limitโ sets the max size of a chunked input part, default 1MB, in bytes ๐งฑ--chunked-input-timeoutโ sets the default timeout for chunked input โณ--clockโ sets a clock source โฐ--clock-listโ lists the enabled clocks ๐--clocks-listโ list enabled clocks, plural edition ๐--add-headerโ automatically adds HTTP headers to the response ๐--rem-headerโ auto-yeets the HTTP header you name right out of the response ๐--del-headerโ same energy as above: it automatically removes the specified HTTP header from the response--collect-headerโ stashes the specified response header into a request var (syntax:header var) ๐--response-header-collectโ yep, also stashes the specified response header into a request var (syntax:header var)--pull-headerโ grabs the specified response header, saves it in a request var, AND deletes it from the response (syntax:header var) โ two-for-one, iconic--check-staticโ peeks for static files in the directory you specify ๐--check-static-docrootโ peeks for static files in the requestedDOCUMENT_ROOT--static-checkโ again: checks for static files in the specified directory--static-mapโ maps a mountpoint to a static directory (or file)--static-map2โ like--static-map, except it fully appends the requested resource onto the docroot--static-skip-extโ skips the extension you name when doing staticfile checks--static-indexโ if a directory gets requested, it searches for the file you specified ๐ธ--static-safeโ skips security checks when the file lives under the path you give it--static-cache-pathsโ drops resolved paths into the uWSGI cache for however many seconds you say--static-cache-paths-nameโ uses the cache you name for those static paths--mimefileโ sets the mime types file path (default/etc/mime.types)--mime-fileโ sets the mime types file path (default/etc/mime.types) โ twin, not a sequel--static-expires-typeโ sets 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 filename regexp and file mtime--static-expires-uriโ sets theExpiresheader based on aREQUEST_URIregexp--static-expires-uri-mtimeโ sets theExpiresheader based onREQUEST_URIregexp and file mtime--static-expires-path-infoโ sets theExpiresheader based on aPATH_INFOregexp--static-expires-path-info-mtimeโ sets theExpiresheader based onPATH_INFOregexp and file mtime
--static-gzipโ if your regexp matches the static file translation, it goes looking for a gzip version ๐๏ธ--static-gzip-allโ checks for a gzip version of literally every requested static file--static-gzip-dirโ checks for a gzip version of all requested static files inside the dir/prefix you name--static-gzip-prefixโ same thing: gzip version of all requested static files in the specified dir/prefix--static-gzip-extโ checks for a gzip version of all requested static files with the ext/suffix you specify--static-gzip-suffixโ same deal, specified ext/suffix ๐ฆ--honour-rangeโ turns on support for the HTTPRangeheader--offload-threadsโ sets how many offload threads to spawn (per-worker, default0)--offload-threadโ sets how many offload threads to spawn (per-worker, default0)--file-serve-modeโ sets the static file serving mode--fileserve-modeโ sets the static file serving mode (same vibe, different spelling)--disable-sendfileโ disablessendfile()and relies on boring oldread()/write()๐ด--check-cacheโ checks for response data in the cache you name (leave it empty for the default cache)--close-on-execโ sets close-on-exec on connection sockets (could be required for spawning processes in requests)--close-on-exec2โ sets close-on-exec on server sockets (could be required for spawning processes in requests)--modeโ sets a uWSGI custom mode--envโ sets an environment variable--envdirโ loads a daemontools compatible envdir--early-envdirโ loads a daemontools compatible envdir ASAP โก--unenvโ unsets an environment variable--vacuumโ tries to remove every generated file/socket it made ๐งน--file-writeโ writes the content you specify into the file you specify (syntax:file=value) before privileges drop--cgroupโ puts the processes into the cgroup you name--cgroup-optโ sets a value in the specified cgroup option--cgroup-dir-modeโ sets permission for the cgroup directory (default is700)--namespaceโ runs in a new namespace under the rootfs you specify--namespace-keep-mountโ keeps the mountpoint you name inside your namespace--nsโ runs in a new namespace under the specified rootfs--namespace-netโ adds a network namespace--ns-netโ adds a network namespace--enable-proxy-protocolโ enables PROXY1 protocol support (only for http parsers)--reuse-portโ enables theREUSE_PORTflag on the socket (BSD only)--tcp-fast-openโ enables theTCP_FASTOPENflag on TCP sockets with the qlen value you give--tcp-fastopenโ enables theTCP_FASTOPENflag on TCP sockets with the specified qlen value--tcp-fast-open-clientโ usessendto(..., MSG_FASTOPEN, ...)instead ofconnect()when it's supported--tcp-fastopen-clientโ usessendto(..., MSG_FASTOPEN, ...)instead ofconnect()when supported--zergโ attaches to a zerg server ๐พ--zerg-fallbackโ falls back to normal sockets if the zerg server isn't around--zerg-serverโ enables the zerg server on the UNIX socket you specify
--cronโ adds a cron task โฐ--cron2โ adds a cron task (key=val syntax)--unique-cronโ adds a unique cron task--cron-harakiriโ sets the max time (in seconds) we wait for a cron command to finish--legion-cronโ adds a cron task that only runs when the instance is a lord of the legion you specify--cron-legionโ adds a cron task runnable only when the instance is a lord of the specified legion--unique-legion-cronโ adds a unique cron task runnable only when the instance is a lord of the specified legion--unique-cron-legionโ adds a unique cron task runnable only when the instance is a lord of the specified legion--loopโ selects the uWSGI loop engine--loop-listโ lists the enabled loop engines--loops-listโ lists the enabled loop engines--worker-execโ runs the command you specify as a worker--worker-exec2โ runs the specified command as a worker (after thepost_forkhook)--attach-daemonโ attaches a command/daemon to the master process (the command must not go in background)--attach-control-daemonโ attaches a command/daemon to the master process (the command must not go in background), and when that daemon dies, the master dies too ๐--smart-attach-daemonโ attaches a command/daemon to the master process managed by a pidfile (the command has to daemonize)--smart-attach-daemon2โ attaches a command/daemon to the master process managed by a pidfile (the command has to NOT daemonize)--legion-attach-daemonโ same as--attach-daemon, except the daemon only runs on a legion lord node--legion-smart-attach-daemonโ same as--smart-attach-daemon, except the daemon only runs on a legion lord node--legion-smart-attach-daemon2โ same as--smart-attach-daemon2, except the daemon only runs on a legion lord node--daemons-honour-stdinโ does not swap the stdin of external daemons over to/dev/null--attach-daemon2โ the attach-daemon keyval variant (supports smart modes too)--pluginsโ loads uWSGI plugins ๐--pluginโ loads uWSGI plugins--need-pluginsโ loads uWSGI plugins (and exits on error)--need-pluginโ loads uWSGI plugins (exit on error)--plugins-dirโ adds a directory to the uWSGI plugin search path--plugin-dirโ adds a directory to the uWSGI plugin search path--plugins-listโ lists the enabled plugins--plugin-listโ lists the enabled plugins--autoloadโ tries to automatically load plugins whenever unknown options show up--dlopenโ blindly loads a shared library ๐--allowed-modifiersโ comma separated list of allowed modifiers--remap-modifierโ remaps a request modifier from one id to another--dump-optionsโ dumps the full list of available options--show-configโ shows the current config reformatted as ini--binary-append-dataโ returns the content of a resource to stdout so you can append it to a uwsgi binary (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)--luaโ loads a lua wsapi app ๐ง--lua-loadโ loads a lua file--lua-shellโ runs the lua interactive shell (debug.debug())--luashellโ runs the lua interactive shell (debug.debug())--lua-gc-freqโ sets the lua gc frequency (default:0, runs after every request)
And that's a wrap on this whole thing bestie, no cap ๐ซถ this page comes from uwsgi_lua51, version 2.0.24-debian, dated April 2024 โ go forth and slay โจ๐
๐ฆ where this page comes from
- ubuntu noble: uwsgi-plugin-lua5.1 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