Reference

uwsgi_rpc(1)

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

NAME

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

SYNOPSIS

uwsgi-core-local [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

--http-socket

bind to the specified UNIX/TCP socket using HTTP protocol

--fastcgi-socket

bind to the specified UNIX/TCP socket using FastCGI protocol

--protocol

force the specified protocol for default sockets

--socket-protocol

force the specified protocol for default sockets

--shared-socket

create a shared sacket for advanced jailing or ipc

-p|--processes

spawn the specified number of workers/processes

-p|--workers

spawn the specified number of workers/processes

-t|--harakiri

set harakiri timeout

--harakiri-verbose

enable verbose mode for harakiri

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

--spooler-harakiri

set harakiri timeout for spooler tasks

--mule-harakiri

set harakiri timeout for mule tasks

-x|--xmlconfig

load config from xml file

-x|--xml

load config from xml file

--skip-zero

skip check of file descriptor 0

-S|--set

set a custom placeholder

--for

(opt logic) for cycle

--endfor

(opt logic) end for cycle

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

(opt logic) check for file/directory existance

--if-not-exists

(opt logic) check for file/directory existance

--ifexists

(opt logic) check for file/directory existance

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

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

-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

-l|--listen

set the socket listen queue size

-v|--max-vars

set the amount of internal iovec/vars structures

-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

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

--emperor

run the Emperor

--emperor-tyrant

put the Emperor 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-amqp-vhost

set emperor amqp virtualhost

--emperor-amqp-username

set emperor amqp username

--emperor-amqp-password

set emperor amqp password

--emperor-throttle

throttle each vassal spawn (in seconds)

--emperor-magic-exec

prefix vassals config files with exec:// if they have the executable bit

--vassals-inherit

add config templates to vassals config

--vassals-start-hook

run the specified command before each vassal starts

--vassals-stop-hook

run the specified command after vassal's death

--vassal-sos-backlog

ask emperor for sos if backlog queue has more items than the value specified

--auto-snapshot

automatically make workers snaphost after reload

--reload-mercy

set the maximum time (in seconds) a worker can take to reload/shutdown

--exit-on-reload

force exit even if a reload is requested

--die-on-term

exit instead of brutal reload on SIGTERM

-h|--help

show this help

-h|--usage

show this help

-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

-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

-A|--sharedarea

create a raw shared memory area of specified pages

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

enable the threaded cache server

--cache-server-threads

set the number of threads for the cache server

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

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

--mule

add a mule

--mules

add the specified number of mules

--farm

add a mule farm

--signal

send a uwsgi signal to a server

--signal-bufsize

set buffer size for signal queue

--signals-bufsize

set buffer size for signal queue

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

--chroot

chroot() to the specified directory

--uid

setuid to the specified user/uid

--gid

setgid to the specified group/gid

--no-initgroups

disable additional groups set via initgroups()

--unshare

unshare() part of the processes and put it in a new namespace

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

--ini

load config from ini file

-y|--yaml

load config from yaml file

-y|--yal

load config from yaml file

-j|--json

load config from json file

-j|--js

load config from json file

--sqlite3

load config from sqlite3 db

--sqlite

load config from sqlite3 db

--zeromq

create a zeromq pub/sub pair

--zmq

create a zeromq pub/sub pair

--ldap

load configuration from ldap server

--ldap-schema

dump uWSGI ldap schema

--ldap-schema-ldif

dump uWSGI ldap schema in ldif format

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

--limit-as

limit processes address space/vsz

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

--ksm

enable Linux KSM

--never-swap

lock all memory pages avoiding swapping

--touch-reload

reload uWSGI 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

--propagate-touch

over-engineering option for system with flaky signal mamagement

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

enable post buffering

--post-buffering-bufsize

set buffer size for read() in post buffering mode

--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 has http output (discouraged)

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

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

--multicast

subscribe to specified multicast group

--cluster

join specified uWSGI cluster

--cluster-nodes

get nodes list from the specified cluster

--cluster-reload

send a reload message to the cluster

--cluster-log

send a log line to the cluster

--subscribe-to

subscribe to the specified subscription server

--st

subscribe to the specified subscription server

--subscribe

subscribe to the specified subscription server

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

--snmp

enable the embedded snmp server

--snmp-community

set the snmp community string

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

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

--logfile-chown

chown logfiles

--logfile-chmod

chmod logfiles

--log-syslog

log to syslog

--log-socket

send logs to the specified socket

--logger

set logger system

--threaded-logger

offload log writing to a thread

--log-zeromq

send logs to a zeromq server

--log-master

delegate logging to master process

--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 requestes slower than the specified numbr of seconds

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

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

--cheap

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

--cheaper

set cheaper mode (adaptive process spawning)

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

--idle

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

--die-on-idle

shutdown uWSGI when idle

--mount

load application under mountpoint

--grunt

enable grunt mode (in-request fork)

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

--add-header

automatically add HTTP headers to response

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

--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-offload-to-thread

offload static file serving to a thread (upto the specified number of threads)

--file-serve-mode

set static file serving mode

--fileserve-mode

set static file serving mode

--check-cache

check for response data in the cache

--close-on-exec

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

--mode

set uWSGI custom mode

--env

set environment variable

--unenv

unset environment variable

--vacuum

try to remove all of the generated file/sockets

--cgroup

put the processes in the specified cgroup

--cgroup-opt

set value in specified cgroup option

--namespace

run in a new namespace under the specified rootfs

--ns

run in a new namespace under the specified rootfs

--namespace-net

add network namespace

--ns-net

add network namespace

--reuse-port

enable REUSE_PORT flag on socket (BSD only)

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

--loop

select the uWSGI loop engine

--worker-exec

run the specified command as worker

--attach-daemon

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

--plugins

load uWSGI plugins

--plugin

load uWSGI plugins

--plugins-dir

add a directory to uWSGI plugin search path

--plugin-dir

add a directory to uWSGI plugin search path

--autoload

try to automatically load plugins when unknown options are found

--allowed-modifiers

comma separated list of allowed modifiers

--remap-modifier

remap request modifier from one id to another

--app

*** deprecated ***

--dump-options

dump the full list of available options

--show-config

show the current config reformatted as ini

--print

simple print

--version

print uWSGI version