---
name: "uwsgi_lua"
section: "1"
platform: "linux"
package: "uwsgi-plugin-lua5.1"
version: "2.0.28+8+0.0.2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/uwsgi_lua"
---

# uwsgi\_lua(1)

fast (pure C), self-healing, developer-friendly WSGI server

## NAME

uwsgi\_lua - fast (pure C), self-healing, developer-friendly WSGI server

## SYNOPSIS

**uwsgi-core** \[*options*...\]

## DESCRIPTION

- **-s**\|--socket

  bind to the specified UNIX/TCP socket using default protocol

- **-s**\|--uwsgi-socket

  bind to the specified UNIX/TCP socket using uwsgi protocol

- **--suwsgi-socket**

  bind to the specified UNIX/TCP socket using uwsgi protocol over SSL

- **--ssl-socket**

  bind to the specified UNIX/TCP socket using uwsgi protocol over SSL

- **--http-socket**

  bind to the specified UNIX/TCP socket using HTTP protocol

- **--http-socket-modifier1**

  force the specified modifier1 when using HTTP protocol

- **--http-socket-modifier2**

  force the specified modifier2 when using HTTP protocol

- **--http11-socket**

  bind to the specified UNIX/TCP socket using HTTP 1.1 (Keep-Alive) protocol

- **--https-socket**

  bind to the specified UNIX/TCP socket using HTTPS protocol

- **--https-socket-modifier1**

  force the specified modifier1 when using HTTPS protocol

- **--https-socket-modifier2**

  force the specified modifier2 when using HTTPS protocol

- **--fastcgi-socket**

  bind to the specified UNIX/TCP socket using FastCGI protocol

- **--fastcgi-nph-socket**

  bind to the specified UNIX/TCP socket using FastCGI protocol (nph mode)

- **--fastcgi-modifier1**

  force the specified modifier1 when using FastCGI protocol

- **--fastcgi-modifier2**

  force the specified modifier2 when using FastCGI protocol

- **--scgi-socket**

  bind to the specified UNIX/TCP socket using SCGI protocol

- **--scgi-nph-socket**

  bind to the specified UNIX/TCP socket using SCGI protocol (nph mode)

- **--scgi-modifier1**

  force the specified modifier1 when using SCGI protocol

- **--scgi-modifier2**

  force the specified modifier2 when using SCGI protocol

- **--raw-socket**

  bind to the specified UNIX/TCP socket using RAW protocol

- **--raw-modifier1**

  force the specified modifier1 when using RAW protocol

- **--raw-modifier2**

  force the specified modifier2 when using RAW protocol

- **--puwsgi-socket**

  bind to the specified UNIX/TCP socket using persistent uwsgi protocol (puwsgi)

- **--protocol**

  force the specified protocol for default sockets

- **--socket-protocol**

  force the specified protocol for default sockets

- **--shared-socket**

  create a shared socket for advanced jailing or ipc

- **--undeferred-shared-socket**

  create a shared socket for advanced jailing or ipc (undeferred mode)

- **-p**\|--processes

  spawn the specified number of workers/processes

- **-p**\|--workers

  spawn the specified number of workers/processes

- **--thunder-lock**

  serialize accept() usage (if possible)

- **-t**\|--harakiri

  set harakiri timeout

- **--harakiri-verbose**

  enable verbose mode for harakiri

- **--harakiri-graceful-timeout**

  interval between graceful harakiri attempt and a sigkill

- **--harakiri-graceful-signal**

  use this signal instead of sigterm for graceful harakiri attempts

- **--harakiri-queue-threshold**

  only trigger harakiri if queue is greater than this threshold

- **--harakiri-no-arh**

  do not enable harakiri during after-request-hook

- **--no-harakiri-arh**

  do not enable harakiri during after-request-hook

- **--no-harakiri-after-req-hook**

  do not enable harakiri during after-request-hook

- **--backtrace-depth**

  set backtrace depth

- **--mule-harakiri**

  set harakiri timeout for mule tasks

- **-x**\|--xmlconfig

  load config from xml file

- **-x**\|--xml

  load config from xml file

- **--config**

  load configuration using the pluggable system

- **--fallback-config**

  re-exec uwsgi with the specified config when exit code is 1

- **--strict**

  enable strict mode (placeholder cannot be used)

- **--skip-zero**

  skip check of file descriptor 0

- **--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 from 1)

- **--for-readline**

  (opt logic) for cycle (expand the specified file to a list of lines)

- **--endfor**

  (opt logic) end for cycle

- **--end-for**

  (opt logic) end for cycle

- **--if-opt**

  (opt logic) check for option

- **--if-not-opt**

  (opt logic) check for option

- **--if-env**

  (opt logic) check for environment variable

- **--if-not-env**

  (opt logic) check for environment variable

- **--ifenv**

  (opt logic) check for environment variable

- **--if-reload**

  (opt logic) check for reload

- **--if-not-reload**

  (opt logic) check for reload

- **--if-hostname**

  (opt logic) check for hostname

- **--if-not-hostname**

  (opt logic) check for hostname

- **--if-hostname-match**

  (opt logic) try to match hostname against a regular expression

- **--if-not-hostname-match**

  (opt logic) try to match hostname against a regular expression

- **--if-exists**

  (opt logic) check for file/directory existence

- **--if-not-exists**

  (opt logic) check for file/directory existence

- **--ifexists**

  (opt logic) check for file/directory existence

- **--if-plugin**

  (opt logic) check for plugin

- **--if-not-plugin**

  (opt logic) check for plugin

- **--ifplugin**

  (opt logic) check for plugin

- **--if-file**

  (opt logic) check for file 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

- **--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 on write()/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 (default 3 seconds)

- **--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

- **--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 with exec:// 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**

  use clone() instead of fork() passing the specified unshare() 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 **--include** instead 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 **--include** instead 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 on SIGTERM

- **--force-gateway**

  force the spawn of the first registered gateway without a master

- **-h**\|--help

  show this help

- **-h**\|--usage

  show this help

- **--print-sym**

  print content of the specified binary symbol

- **--print-symbol**

  print content of the specified binary symbol

- **-r**\|--reaper

  call waitpid(**-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 10)

- **--max-worker-lifetime**

  reload workers after the specified amount of seconds (default is disabled)

- **--max-worker-lifetime-delta**

  add (worker\_id \* delta) seconds to the max\_worker\_lifetime value of each worker

- **-z**\|--socket-timeout

  set 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 via ftok() 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**

  update last\_modified\_at timestamp 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\_root and put\_old must be separated with a space)

- **--pivot\_root**

  pivot\_root() to the specified directories (new\_root and put\_old must 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 via initgroups()

- **--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/ns* as soon as possible and cache fds

- **--jailed**

  mark the instance as jailed (force the execution of post\_jail hooks)

- **--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 before exec()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 before exec()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 before exec()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 before exec()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 specified function() before exec()ing the vassal

- **--call-as-vassal1**

  call the specified function(char \*) before exec()ing the vassal

- **--call-as-vassal3**

  call the specified function(char \*, uid\_t, gid\_t) before exec()ing the vassal

- **--call-as-emperor**

  call the specified function() in the emperor after the vassal has been started

- **--call-as-emperor1**

  call the specified function(char \*) in the emperor after the vassal has been started

- **--call-as-emperor2**

  call the specified function(char \*, pid\_t) in the emperor after the vassal has been started

- **--call-as-emperor4**

  call the specified function(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 calling shutdown() in addition to close() 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 specified filesystem object is modified

- **--fs-brutal-reload**

  brutal reload when the specified filesystem object is modified

- **--fs-signal**

  raise a uwsgi signal when the specified filesystem object is modified (syntax: file signal)

- **--check-mountpoint**

  destroy the instance if a filesystem is no more reachable (useful for reliable Fuse management)

- **--mountpoint-check**

  destroy the instance if a filesystem is no more reachable (useful for reliable Fuse management)

- **--check-mount**

  destroy the instance if a filesystem is no more reachable (useful for reliable Fuse management)

- **--mount-check**

  destroy the instance if a filesystem is no more reachable (useful for reliable Fuse management)

- **--propagate-touch**

  over-engineering option for 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 for read() 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 .json files in the specified directory during a file upload

- **--no-default-app**

  do not fallback to default app

- **--manage-script-name**

  automatically rewrite SCRIPT\_NAME and PATH\_INFO

- **--ignore-script-name**

  ignore SCRIPT\_NAME

- **--catch-exceptions**

  report exception as http output (discouraged, use only for testing)

- **--reload-on-exception**

  reload a worker when an exception is raised

- **--reload-on-exception-type**

  reload a worker when a specific exception type is raised

- **--reload-on-exception-value**

  reload a worker when a specific exception value is raised

- **--reload-on-exception-repr**

  reload a worker when a specific exception type+value (language-specific) is raised

- **--exception-handler**

  add an exception handler

- **--enable-metrics**

  enable metrics subsystem

- **--metric**

  add a custom metric

- **--metric-threshold**

  add a metric threshold/alarm

- **--metric-alarm**

  add a metric threshold/alarm

- **--alarm-metric**

  add a metric threshold/alarm

- **--metrics-dir**

  export metrics as text files to the specified directory

- **--metrics-dir-restore**

  restore last value taken from the metrics dir

- **--metric-dir**

  export metrics as text files to the specified directory

- **--metric-dir-restore**

  restore last value taken from the metrics dir

- **--metrics-no-cores**

  disable generation of cores-related metrics

- **--udp**

  run the udp server on the specified address

- **--stats**

  enable the stats server on the specified address

- **--stats-server**

  enable the stats server on the specified address

- **--stats-http**

  prefix stats server json output with http headers

- **--stats-minified**

  minify statistics json output

- **--stats-min**

  minify statistics json output

- **--stats-push**

  push the stats json to the specified destination

- **--stats-pusher-default-freq**

  set the default frequency of stats pushers

- **--stats-pushers-default-freq**

  set the default frequency of stats pushers

- **--stats-no-cores**

  disable generation of cores-related stats

- **--stats-no-metrics**

  do not include metrics in stats output

- **--multicast**

  subscribe to specified multicast group

- **--multicast-ttl**

  set multicast ttl

- **--multicast-loop**

  set multicast loop (default 1)

- **--master-fifo**

  enable the master fifo

- **--notify-socket**

  enable the notification socket

- **--subscription-notify-socket**

  set the notification socket for subscriptions

- **--legion**

  became a member of a legion

- **--legion-mcast**

  became a member of a legion (shortcut for multicast)

- **--legion-node**

  add a node to a legion

- **--legion-freq**

  set the frequency of legion packets

- **--legion-tolerance**

  set the tolerance of legion subsystem

- **--legion-death-on-lord-error**

  declare itself as a dead node for the specified amount of seconds if one of the lord hooks fails

- **--legion-skew-tolerance**

  set the clock skew tolerance of legion subsystem (default 60 seconds)

- **--legion-lord**

  action to call on Lord election

- **--legion-unlord**

  action to call on Lord dismiss

- **--legion-setup**

  action to call on legion setup

- **--legion-death**

  action to call on legion death (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 of SCM\_CREDENTIALS in subscriptions UNIX sockets

- **--subscription-algo**

  set load balancing algorithm for the subscription system

- **--subscription-dotsplit**

  try to fallback to the next part (dot based) in subscription key

- **--subscribe-to**

  subscribe to the specified subscription server

- **--st**

  subscribe to the specified subscription server

- **--subscribe**

  subscribe to the specified subscription server

- **--subscribe2**

  subscribe to the specified subscription server using advanced keyval syntax

- **--subscribe-freq**

  send subscription announce at the specified interval

- **--subscription-tolerance**

  set tolerance for subscription servers

- **--unsubscribe-on-graceful-reload**

  force unsubscribe request even during graceful reload

- **--start-unsubscribed**

  configure subscriptions but do not send them (useful with master fifo)

- **--subscribe-with-modifier1**

  force the specififed modifier1 when subscribing

- **--snmp**

  enable the embedded snmp server

- **--snmp-community**

  set the snmp community string

- **--ssl-verbose**

  be verbose about SSL errors

- **--ssl-verify-depth**

  set maximum certificate verification depth

- **--sni**

  add an SNI-governed SSL context

- **--sni-dir**

  check for cert/key/client\_ca file in the specified directory and create a sni/ssl context on demand

- **--sni-dir-ciphers**

  set ssl ciphers for sni-dir option

- **--ssl-enable3**

  enable SSLv3 (insecure)

- **--ssl-enable-sslv3**

  enable SSLv3 (insecure)

- **--ssl-enable-tlsv1**

  enable TLSv1 (insecure)

- **--ssl-option**

  set a raw ssl option (numeric value)

- **--sni-regexp**

  add an SNI-governed SSL context (the key is a regexp)

- **--ssl-tmp-dir**

  store ssl-related temp files in the specified directory

- **--check-interval**

  set the interval (in seconds) of master checks

- **--forkbomb-delay**

  sleep for the specified number of seconds when a forkbomb is detected

- **--binary-path**

  force binary path

- **--privileged-binary-patch**

  patch the uwsgi binary with a new command (before privileges drop)

- **--unprivileged-binary-patch**

  patch the uwsgi binary with a new command (after privileges drop)

- **--privileged-binary-patch-arg**

  patch the uwsgi binary with a new command and arguments (before privileges drop)

- **--unprivileged-binary-patch-arg**

  patch the uwsgi binary with a new command and arguments (after privileges drop)

- **--async**

  enable async mode with specified cores

- **--max-fd**

  set maximum number of file descriptors (requires root privileges)

- **--logto**

  set logfile/udp address

- **--logto2**

  log to specified file or udp address after privileges drop

- **--log-format**

  set advanced format for request logging

- **--logformat**

  set advanced format for request logging

- **--logformat-strftime**

  apply strftime to logformat output

- **--log-format-strftime**

  apply strftime to logformat output

- **--logfile-chown**

  chown logfiles

- **--logfile-chmod**

  chmod logfiles

- **--log-syslog**

  log to syslog

- **--log-socket**

  send logs to the specified socket

- **--req-logger**

  set/append a request logger

- **--logger-req**

  set/append a request logger

- **--logger**

  set/append a logger

- **--logger-list**

  list enabled loggers

- **--loggers-list**

  list enabled loggers

- **--threaded-logger**

  offload log writing to a thread

- **--log-encoder**

  add an item in the log encoder chain

- **--log-req-encoder**

  add an item in the log req encoder chain

- **--log-drain**

  drain (do not show) log lines matching the specified regexp

- **--log-filter**

  show only log lines matching the specified regexp

- **--log-route**

  log to the specified named logger if regexp applied on logline matches

- **--log-req-route**

  log requests to the specified named logger if regexp applied on logline matches

- **--use-abort**

  call abort() 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**

  tune the anti-loop alarm system (default 3 seconds)

- **--alarm-fd**

  raise the specified alarm when an fd is read for read (by default it reads 1 byte, set 8 for eventfd)

- **--alarm-segfault**

  raise the specified alarm when the segmentation fault handler is executed

- **--segfault-alarm**

  raise the specified alarm when the segmentation fault handler is executed

- **--alarm-backlog**

  raise the specified alarm when the socket backlog queue is full

- **--backlog-alarm**

  raise the specified alarm when the socket backlog queue is full

- **--lq-alarm**

  raise the specified alarm when the socket backlog queue is full

- **--alarm-lq**

  raise the specified alarm when the socket backlog queue is full

- **--alarm-listen-queue**

  raise the specified alarm when the socket backlog queue is full

- **--listen-queue-alarm**

  raise the specified alarm when the socket backlog queue is full

- **--log-alarm**

  raise the specified alarm when 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\>

- **--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**

  list enabled alarms

- **--alarms-list**

  list enabled alarms

- **--alarm-msg-size**

  set the max size of an alarm message (default 8192)

- **--log-master**

  delegate logging to master process

- **--log-master-bufsize**

  set the buffer size for the master logger. bigger log messages will be truncated

- **--log-master-stream**

  create the master logpipe as SOCK\_STREAM

- **--log-master-req-stream**

  create the master requests logpipe as SOCK\_STREAM

- **--log-reopen**

  reopen log after reload

- **--log-truncate**

  truncate log on startup

- **--log-maxsize**

  set maximum logfile size

- **--log-backupname**

  set logfile name after rotation

- **--logdate**

  prefix logs with date or a strftime string

- **--log-date**

  prefix logs with date or a strftime string

- **--log-prefix**

  prefix logs with a string

- **--log-zero**

  log responses without body

- **--log-slow**

  log requests slower than the specified number of milliseconds

- **--log-4xx**

  log requests with a 4xx response

- **--log-5xx**

  log requests with a 5xx response

- **--log-big**

  log requestes bigger than the specified size

- **--log-sendfile**

  log sendfile requests

- **--log-ioerror**

  log requests with io errors

- **--log-micros**

  report response time in microseconds instead of milliseconds

- **--log-x-forwarded-for**

  use the ip from X-Forwarded-For header instead of REMOTE\_ADDR

- **--master-as-root**

  leave master process running as root

- **--drop-after-init**

  run privileges drop after plugin initialization, superseded by drop-after-apps

- **--drop-after-apps**

  run privileges drop after apps loading, superseded by master-as-root

- **--force-cwd**

  force the initial working directory to the specified value

- **--binsh**

  override */bin/sh* (used by exec hooks, it always fallback to */bin/sh*)

- **--chdir**

  chdir to specified directory before apps loading

- **--chdir2**

  chdir to specified directory after apps loading

- **--lazy**

  set lazy mode (load apps in workers instead of master)

- **--lazy-apps**

  load apps in each worker instead of the master

- **--cheap**

  set cheap mode (spawn workers only after the first request)

- **--cheaper**

  set cheaper mode (adaptive process spawning)

- **--cheaper-initial**

  set the initial number of processes to spawn in cheaper mode

- **--cheaper-algo**

  choose to algorithm used for adaptive process spawning

- **--cheaper-step**

  number of additional processes to spawn at each overload

- **--cheaper-overload**

  increase workers after specified overload

- **--cheaper-algo-list**

  list enabled cheapers algorithms

- **--cheaper-algos-list**

  list enabled cheapers algorithms

- **--cheaper-list**

  list enabled cheapers algorithms

- **--cheaper-rss-limit-soft**

  don't spawn new workers if total resident memory usage of all workers is higher than this limit

- **--cheaper-rss-limit-hard**

  if total workers resident memory usage is higher try to stop workers

- **--idle**

  set idle mode (put uWSGI in cheap mode after inactivity)

- **--die-on-idle**

  shutdown uWSGI when idle

- **--mount**

  load application under mountpoint

- **--worker-mount**

  load application under mountpoint in the specified worker or after workers spawn

- **--threads**

  run each worker in prethreaded mode with the specified number of threads

- **--thread-stacksize**

  set threads stacksize

- **--threads-stacksize**

  set threads stacksize

- **--thread-stack-size**

  set threads stacksize

- **--threads-stack-size**

  set threads stacksize

- **--vhost**

  enable virtualhosting mode (based on SERVER\_NAME variable)

- **--vhost-host**

  enable virtualhosting mode (based on HTTP\_HOST variable)

- **--route**

  add a route

- **--route-host**

  add a route based on Host header

- **--route-uri**

  add a route based on REQUEST\_URI

- **--route-qs**

  add a route based on QUERY\_STRING

- **--route-remote-addr**

  add a route based on REMOTE\_ADDR

- **--route-user-agent**

  add a route based on HTTP\_USER\_AGENT

- **--route-remote-user**

  add a route based on REMOTE\_USER

- **--route-referer**

  add a route based on HTTP\_REFERER

- **--route-label**

  add a routing label (for use with goto)

- **--route-if**

  add a route based on condition

- **--route-if-not**

  add a route based on condition (negate version)

- **--route-run**

  always run the specified route action

- **--final-route**

  add a final route

- **--final-route-status**

  add a final route for the specified status

- **--final-route-host**

  add a final route based on Host header

- **--final-route-uri**

  add a final route based on REQUEST\_URI

- **--final-route-qs**

  add a final route based on QUERY\_STRING

- **--final-route-remote-addr**

  add a final route based on REMOTE\_ADDR

- **--final-route-user-agent**

  add a final route based on HTTP\_USER\_AGENT

- **--final-route-remote-user**

  add a final route based on REMOTE\_USER

- **--final-route-referer**

  add a final route based on HTTP\_REFERER

- **--final-route-label**

  add a final routing label (for use with goto)

- **--final-route-if**

  add a final route based on condition

- **--final-route-if-not**

  add a final route based on condition (negate version)

- **--final-route-run**

  always run the specified final route action

- **--error-route**

  add an error route

- **--error-route-status**

  add an error route for the specified status

- **--error-route-host**

  add an error route based on Host header

- **--error-route-uri**

  add an error route based on REQUEST\_URI

- **--error-route-qs**

  add an error route based on QUERY\_STRING

- **--error-route-remote-addr**

  add an error route based on REMOTE\_ADDR

- **--error-route-user-agent**

  add an error route based on HTTP\_USER\_AGENT

- **--error-route-remote-user**

  add an error route based on REMOTE\_USER

- **--error-route-referer**

  add an error route based on HTTP\_REFERER

- **--error-route-label**

  add an error routing label (for use with goto)

- **--error-route-if**

  add an error route based on condition

- **--error-route-if-not**

  add an error route based on condition (negate version)

- **--error-route-run**

  always run the specified error route action

- **--response-route**

  add a response route

- **--response-route-status**

  add a response route for the specified status

- **--response-route-host**

  add a response route based on Host header

- **--response-route-uri**

  add a response route based on REQUEST\_URI

- **--response-route-qs**

  add a response route based on QUERY\_STRING

- **--response-route-remote-addr**

  add a response route based on REMOTE\_ADDR

- **--response-route-user-agent**

  add a response route based on HTTP\_USER\_AGENT

- **--response-route-remote-user**

  add a response route based on REMOTE\_USER

- **--response-route-referer**

  add a response route based on HTTP\_REFERER

- **--response-route-label**

  add a response routing label (for use with goto)

- **--response-route-if**

  add a response route based on condition

- **--response-route-if-not**

  add a response route based on condition (negate version)

- **--response-route-run**

  always run the specified response route action

- **--router-list**

  list enabled routers

- **--routers-list**

  list enabled routers

- **--error-page-403**

  add an error page (html) for managed 403 response

- **--error-page-404**

  add an error page (html) for managed 404 response

- **--error-page-500**

  add an error page (html) for managed 500 response

- **--websockets-ping-freq**

  set the frequency (in seconds) of websockets automatic ping packets

- **--websocket-ping-freq**

  set the frequency (in seconds) of websockets automatic ping packets

- **--websockets-pong-tolerance**

  set the tolerance (in seconds) of websockets ping/pong subsystem

- **--websocket-pong-tolerance**

  set the tolerance (in seconds) of websockets ping/pong subsystem

- **--websockets-max-size**

  set the max allowed size of websocket messages (in Kbytes, default 1024)

- **--websocket-max-size**

  set the max allowed size of websocket messages (in Kbytes, default 1024)

- **--chunked-input-limit**

  set the max size of a chunked input part (default 1MB, in bytes)

- **--chunked-input-timeout**

  set default timeout for chunked input

- **--clock**

  set a clock source

- **--clock-list**

  list enabled clocks

- **--clocks-list**

  list enabled clocks

- **--add-header**

  automatically add HTTP headers to response

- **--rem-header**

  automatically remove specified HTTP header from the response

- **--del-header**

  automatically remove specified HTTP header from the response

- **--collect-header**

  store the specified response header in a request var (syntax: header var)

- **--response-header-collect**

  store the specified response header in a request var (syntax: header var)

- **--pull-header**

  store the specified response header in a request var and remove it from the response (syntax: header var)

- **--check-static**

  check for static files in the specified directory

- **--check-static-docroot**

  check for static files in the requested DOCUMENT\_ROOT

- **--static-check**

  check for static files in the specified directory

- **--static-map**

  map mountpoint to static directory (or file)

- **--static-map2**

  like static-map but completely appending the requested resource to the docroot

- **--static-skip-ext**

  skip specified extension from staticfile checks

- **--static-index**

  search for specified file if a directory is requested

- **--static-safe**

  skip security checks if the file is under the specified path

- **--static-cache-paths**

  put resolved paths in the uWSGI cache for the specified amount of seconds

- **--static-cache-paths-name**

  use the specified cache for static paths

- **--mimefile**

  set mime types file path (default */etc/mime.types*)

- **--mime-file**

  set mime types file path (default */etc/mime.types*)

- **--static-expires-type**

  set the Expires header based on content type

- **--static-expires-type-mtime**

  set the Expires header based on content type and file mtime

- **--static-expires**

  set the Expires header based on filename regexp

- **--static-expires-mtime**

  set the Expires header based on filename regexp and file mtime

- **--static-expires-uri**

  set the Expires header based on REQUEST\_URI regexp

- **--static-expires-uri-mtime**

  set the Expires header based on REQUEST\_URI regexp and file mtime

- **--static-expires-path-info**

  set the Expires header based on PATH\_INFO regexp

- **--static-expires-path-info-mtime**

  set the Expires header based on PATH\_INFO regexp and file mtime

- **--static-gzip**

  if the supplied regexp matches the static file translation it will search for a gzip version

- **--static-gzip-all**

  check for a gzip version of all requested static files

- **--static-gzip-dir**

  check for a gzip version of all requested static files in the specified dir/prefix

- **--static-gzip-prefix**

  check for a gzip version of all requested static files in the specified dir/prefix

- **--static-gzip-ext**

  check for a gzip version of all requested static files with the specified ext/suffix

- **--static-gzip-suffix**

  check for a gzip version of all requested static files with the specified ext/suffix

- **--honour-range**

  enable support for the HTTP Range header

- **--offload-threads**

  set the number of offload threads to spawn (per-worker, default 0)

- **--offload-thread**

  set the number of offload threads to spawn (per-worker, default 0)

- **--file-serve-mode**

  set static file serving mode

- **--fileserve-mode**

  set static file serving mode

- **--disable-sendfile**

  disable sendfile() and rely on boring read()/write()

- **--check-cache**

  check for response data in the specified cache (empty for default cache)

- **--close-on-exec**

  set close-on-exec on connection sockets (could be required for spawning processes in requests)

- **--close-on-exec2**

  set close-on-exec on server sockets (could be required for spawning processes in requests)

- **--mode**

  set uWSGI custom mode

- **--env**

  set environment variable

- **--envdir**

  load a daemontools compatible envdir

- **--early-envdir**

  load a daemontools compatible envdir ASAP

- **--unenv**

  unset environment variable

- **--vacuum**

  try to remove all of the generated file/sockets

- **--file-write**

  write the specified content to the specified file (syntax: file=value) before privileges drop

- **--cgroup**

  put the processes in the specified cgroup

- **--cgroup-opt**

  set value in specified cgroup option

- **--cgroup-dir-mode**

  set permission for cgroup directory (default is 700)

- **--namespace**

  run in a new namespace under the specified rootfs

- **--namespace-keep-mount**

  keep the specified mountpoint in your namespace

- **--ns**

  run in a new namespace under the specified rootfs

- **--namespace-net**

  add network namespace

- **--ns-net**

  add network namespace

- **--enable-proxy-protocol**

  enable PROXY1 protocol support (only for http parsers)

- **--reuse-port**

  enable REUSE\_PORT flag on socket (BSD only)

- **--tcp-fast-open**

  enable TCP\_FASTOPEN flag on TCP sockets with the specified qlen value

- **--tcp-fastopen**

  enable TCP\_FASTOPEN flag on TCP sockets with the specified qlen value

- **--tcp-fast-open-client**

  use sendto(..., MSG\_FASTOPEN, ...) instead of connect() if supported

- **--tcp-fastopen-client**

  use sendto(..., MSG\_FASTOPEN, ...) instead of connect() if supported

- **--zerg**

  attach to a zerg server

- **--zerg-fallback**

  fallback to normal sockets if the zerg server is not available

- **--zerg-server**

  enable the zerg server on the specified UNIX socket

- **--cron**

  add a cron task

- **--cron2**

  add a cron task (key=val syntax)

- **--unique-cron**

  add a unique cron task

- **--cron-harakiri**

  set the maximum time (in seconds) we wait for cron command to complete

- **--legion-cron**

  add a cron task runnable only when the instance is a lord of the specified legion

- **--cron-legion**

  add a cron task runnable only when the instance is a lord of the specified legion

- **--unique-legion-cron**

  add a unique cron task runnable only when the instance is a lord of the specified legion

- **--unique-cron-legion**

  add a unique cron task runnable only when the instance is a lord of the specified legion

- **--loop**

  select the uWSGI loop engine

- **--loop-list**

  list enabled loop engines

- **--loops-list**

  list enabled loop engines

- **--worker-exec**

  run the specified command as worker

- **--worker-exec2**

  run the specified command as worker (after post\_fork hook)

- **--attach-daemon**

  attach a command/daemon to the master process (the command has to not go in background)

- **--attach-control-daemon**

  attach a command/daemon to the master process (the command has to not go in background), when the daemon dies, the master dies too

- **--smart-attach-daemon**

  attach a command/daemon to the master process managed by a pidfile (the command has to daemonize)

- **--smart-attach-daemon2**

  attach a command/daemon to the master process managed by a pidfile (the command has to NOT daemonize)

- **--legion-attach-daemon**

  same as **--attach-daemon** but daemon runs only on legion lord node

- **--legion-smart-attach-daemon**

  same as **--smart-attach-daemon** but daemon runs only on legion lord node

- **--legion-smart-attach-daemon2**

  same as **--smart-attach-daemon2** but daemon runs only on legion lord node

- **--daemons-honour-stdin**

  do not change the stdin of external daemons to */dev/null*

- **--attach-daemon2**

  attach-daemon keyval variant (supports smart modes too)

- **--plugins**

  load uWSGI plugins

- **--plugin**

  load uWSGI plugins

- **--need-plugins**

  load uWSGI plugins (exit on error)

- **--need-plugin**

  load uWSGI plugins (exit on error)

- **--plugins-dir**

  add a directory to uWSGI plugin search path

- **--plugin-dir**

  add a directory to uWSGI plugin search path

- **--plugins-list**

  list enabled plugins

- **--plugin-list**

  list enabled plugins

- **--autoload**

  try to automatically load plugins when unknown options are found

- **--dlopen**

  blindly load a shared library

- **--allowed-modifiers**

  comma separated list of allowed modifiers

- **--remap-modifier**

  remap request modifier from one id to another

- **--dump-options**

  dump the full list of available options

- **--show-config**

  show the current config reformatted as ini

- **--binary-append-data**

  return the content of a resource to stdout for appending to a uwsgi binary (for data:// usage)

- **--print**

  simple print

- **--iprint**

  simple print (immediate version)

- **--exit**

  force exit() of the instance

- **--cflags**

  report uWSGI CFLAGS (useful for building external plugins)

- **--dot-h**

  dump the uwsgi.h used for building the core  (useful for building external plugins)

- **--config-py**

  dump the uwsgiconfig.py used for building the core  (useful for building external plugins)

- **--build-plugin**

  build a uWSGI plugin for the current binary

- **--version**

  print uWSGI version

- **--response-headers-limit**

  set response header maximum size (default: 64k)
