.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.40.10. .TH UWSGI_HTTP "1" "July 2013" "uwsgi_http 1.2.3-debian" "User Commands" .SH NAME uwsgi_http \- fast (pure C), self-healing, developer-friendly WSGI server .SH SYNOPSIS .B uwsgi-core-local [\fIoptions\fR...] .SH DESCRIPTION .TP \fB\-s\fR|\-\-socket bind to the specified UNIX/TCP socket using default protocol .TP \fB\-s\fR|\-\-uwsgi\-socket bind to the specified UNIX/TCP socket using uwsgi protocol .TP \fB\-\-http\-socket\fR bind to the specified UNIX/TCP socket using HTTP protocol .TP \fB\-\-fastcgi\-socket\fR bind to the specified UNIX/TCP socket using FastCGI protocol .TP \fB\-\-protocol\fR force the specified protocol for default sockets .TP \fB\-\-socket\-protocol\fR force the specified protocol for default sockets .TP \fB\-\-shared\-socket\fR create a shared sacket for advanced jailing or ipc .TP \fB\-p\fR|\-\-processes spawn the specified number of workers/processes .TP \fB\-p\fR|\-\-workers spawn the specified number of workers/processes .TP \fB\-t\fR|\-\-harakiri set harakiri timeout .TP \fB\-\-harakiri\-verbose\fR enable verbose mode for harakiri .TP \fB\-\-harakiri\-no\-arh\fR do not enable harakiri during after\-request\-hook .TP \fB\-\-no\-harakiri\-arh\fR do not enable harakiri during after\-request\-hook .TP \fB\-\-no\-harakiri\-after\-req\-hook\fR do not enable harakiri during after\-request\-hook .TP \fB\-\-backtrace\-depth\fR set backtrace depth .TP \fB\-\-spooler\-harakiri\fR set harakiri timeout for spooler tasks .TP \fB\-\-mule\-harakiri\fR set harakiri timeout for mule tasks .TP \fB\-x\fR|\-\-xmlconfig load config from xml file .TP \fB\-x\fR|\-\-xml load config from xml file .TP \fB\-\-skip\-zero\fR skip check of file descriptor 0 .TP \fB\-S\fR|\-\-set set a custom placeholder .TP \fB\-\-for\fR (opt logic) for cycle .TP \fB\-\-endfor\fR (opt logic) end for cycle .TP \fB\-\-if\-env\fR (opt logic) check for environment variable .TP \fB\-\-if\-not\-env\fR (opt logic) check for environment variable .TP \fB\-\-ifenv\fR (opt logic) check for environment variable .TP \fB\-\-if\-reload\fR (opt logic) check for reload .TP \fB\-\-if\-not\-reload\fR (opt logic) check for reload .TP \fB\-\-if\-exists\fR (opt logic) check for file/directory existance .TP \fB\-\-if\-not\-exists\fR (opt logic) check for file/directory existance .TP \fB\-\-ifexists\fR (opt logic) check for file/directory existance .TP \fB\-\-if\-file\fR (opt logic) check for file existance .TP \fB\-\-if\-not\-file\fR (opt logic) check for file existance .TP \fB\-\-if\-dir\fR (opt logic) check for directory existance .TP \fB\-\-if\-not\-dir\fR (opt logic) check for directory existance .TP \fB\-\-ifdir\fR (opt logic) check for directory existance .TP \fB\-\-if\-directory\fR (opt logic) check for directory existance .TP \fB\-\-endif\fR (opt logic) end if .TP \fB\-\-ignore\-sigpipe\fR do not report (annoying) SIGPIPE .TP \fB\-\-ignore\-write\-errors\fR do not report (annoying) write()/writev() errors .TP \fB\-\-write\-errors\-tolerance\fR set the maximum number of allowed write errors (default: no tolerance) .TP \fB\-\-write\-errors\-exception\-only\fR only raise an exception on write errors giving control to the app itself .TP \fB\-\-disable\-write\-exception\fR disable exception generation on write()/writev() .TP \fB\-\-inherit\fR use the specified file as config template .TP \fB\-d\fR|\-\-daemonize daemonize uWSGI .TP \fB\-\-daemonize2\fR daemonize uWSGI after app loading .TP \fB\-\-stop\fR stop an instance .TP \fB\-\-reload\fR reload an instance .TP \fB\-\-pause\fR pause an instance .TP \fB\-\-suspend\fR suspend an instance .TP \fB\-\-resume\fR resume an instance .TP \fB\-l\fR|\-\-listen set the socket listen queue size .TP \fB\-v\fR|\-\-max\-vars set the amount of internal iovec/vars structures .TP \fB\-b\fR|\-\-buffer\-size set internal buffer size .TP \fB\-m\fR|\-\-memory\-report enable memory report .TP \fB\-\-profiler\fR enable the specified profiler .TP \fB\-c\fR|\-\-cgi\-mode force CGI\-mode for plugins supporting it .TP \fB\-a\fR|\-\-abstract\-socket force UNIX socket in abstract mode (Linux only) .TP \fB\-C\fR|\-\-chmod\-socket chmod\-socket .TP \fB\-C\fR|\-\-chmod chmod\-socket .TP \fB\-\-chown\-socket\fR chown unix sockets .TP \fB\-\-umask\fR set umask .TP \fB\-\-freebind\fR put socket in freebind mode .TP \fB\-\-map\-socket\fR map sockets to specific workers .TP \fB\-T\fR|\-\-enable\-threads enable threads .TP \fB\-\-auto\-procname\fR automatically set processes name to something meaningful .TP \fB\-\-procname\-prefix\fR add a prefix to the process names .TP \fB\-\-procname\-prefix\-spaced\fR add a spaced prefix to the process names .TP \fB\-\-procname\-append\fR append a string to process names .TP \fB\-\-procname\fR set process names .TP \fB\-\-procname\-master\fR set master process name .TP \fB\-i\fR|\-\-single\-interpreter do not use multiple interpreters (where available) .TP \fB\-\-need\-app\fR exit if no app can be loaded .TP \fB\-M\fR|\-\-master enable master process .TP \fB\-\-emperor\fR run the Emperor .TP \fB\-\-emperor\-tyrant\fR put the Emperor in Tyrant mode .TP \fB\-\-emperor\-stats\fR run the Emperor stats server .TP \fB\-\-emperor\-stats\-server\fR run the Emperor stats server .TP \fB\-\-early\-emperor\fR spawn the emperor as soon as possibile .TP \fB\-\-emperor\-broodlord\fR run the emperor in BroodLord mode .TP \fB\-\-emperor\-amqp\-vhost\fR set emperor amqp virtualhost .TP \fB\-\-emperor\-amqp\-username\fR set emperor amqp username .TP \fB\-\-emperor\-amqp\-password\fR set emperor amqp password .TP \fB\-\-emperor\-throttle\fR throttle each vassal spawn (in seconds) .TP \fB\-\-emperor\-magic\-exec\fR prefix vassals config files with exec:// if they have the executable bit .TP \fB\-\-vassals\-inherit\fR add config templates to vassals config .TP \fB\-\-vassals\-start\-hook\fR run the specified command before each vassal starts .TP \fB\-\-vassals\-stop\-hook\fR run the specified command after vassal's death .TP \fB\-\-vassal\-sos\-backlog\fR ask emperor for sos if backlog queue has more items than the value specified .TP \fB\-\-auto\-snapshot\fR automatically make workers snaphost after reload .TP \fB\-\-reload\-mercy\fR set the maximum time (in seconds) a worker can take to reload/shutdown .TP \fB\-\-exit\-on\-reload\fR force exit even if a reload is requested .TP \fB\-\-die\-on\-term\fR exit instead of brutal reload on SIGTERM .TP \fB\-h\fR|\-\-help show this help .TP \fB\-h\fR|\-\-usage show this help .TP \fB\-r\fR|\-\-reaper call waitpid(\fB\-1\fR,...) after each request to get rid of zombies .TP \fB\-R\fR|\-\-max\-requests reload workers after the specified amount of managed requests .TP \fB\-z\fR|\-\-socket\-timeout set internal sockets timeout .TP \fB\-\-no\-fd\-passing\fR disable file descriptor passing .TP \fB\-\-locks\fR create the specified number of shared locks .TP \fB\-\-lock\-engine\fR set the lock engine .TP \fB\-\-ftok\fR set the ipcsem key via ftok() for avoiding duplicates .TP \fB\-A\fR|\-\-sharedarea create a raw shared memory area of specified pages .TP \fB\-\-cache\fR create a shared cache containing given elements .TP \fB\-\-cache\-blocksize\fR set cache blocksize .TP \fB\-\-cache\-store\fR enable persistent cache to disk .TP \fB\-\-cache\-store\-sync\fR set frequency of sync for persistent cache .TP \fB\-\-cache\-server\fR enable the threaded cache server .TP \fB\-\-cache\-server\-threads\fR set the number of threads for the cache server .TP \fB\-\-cache\-no\-expire\fR disable auto sweep of expired items .TP \fB\-\-cache\-expire\-freq\fR set the frequency of cache sweeper scans (default 3 seconds) .TP \fB\-\-cache\-report\-freed\-items\fR constantly report the cache item freed by the sweeper (use only for debug) .TP \fB\-\-queue\fR enable shared queue .TP \fB\-\-queue\-blocksize\fR set queue blocksize .TP \fB\-\-queue\-store\fR enable persistent queue to disk .TP \fB\-\-queue\-store\-sync\fR set frequency of sync for persistent queue .TP \fB\-Q\fR|\-\-spooler run a spooler on the specified directory .TP \fB\-\-spooler\-ordered\fR try to order the execution of spooler tasks .TP \fB\-\-spooler\-chdir\fR chdir() to specified directory before each spooler task .TP \fB\-\-spooler\-processes\fR set the number of processes for spoolers .TP \fB\-\-spooler\-quiet\fR do not be verbose with spooler tasks .TP \fB\-\-spooler\-max\-tasks\fR set the maximum number of tasks to run before recycling a spooler .TP \fB\-\-mule\fR add a mule .TP \fB\-\-mules\fR add the specified number of mules .TP \fB\-\-farm\fR add a mule farm .TP \fB\-\-signal\fR send a uwsgi signal to a server .TP \fB\-\-signal\-bufsize\fR set buffer size for signal queue .TP \fB\-\-signals\-bufsize\fR set buffer size for signal queue .TP \fB\-L\fR|\-\-disable\-logging disable request logging .TP \fB\-\-flock\fR lock the specified file before starting, exit if locked .TP \fB\-\-flock\-wait\fR lock the specified file before starting, wait if locked .TP \fB\-\-flock2\fR lock the specified file after logging/daemon setup, exit if locked .TP \fB\-\-flock\-wait2\fR lock the specified file after logging/daemon setup, wait if locked .TP \fB\-\-pidfile\fR create pidfile (before privileges drop) .TP \fB\-\-pidfile2\fR create pidfile (after privileges drop) .TP \fB\-\-chroot\fR chroot() to the specified directory .TP \fB\-\-uid\fR setuid to the specified user/uid .TP \fB\-\-gid\fR setgid to the specified group/gid .TP \fB\-\-no\-initgroups\fR disable additional groups set via initgroups() .TP \fB\-\-unshare\fR unshare() part of the processes and put it in a new namespace .TP \fB\-\-exec\-pre\-jail\fR run the specified command before jailing .TP \fB\-\-exec\-post\-jail\fR run the specified command after jailing .TP \fB\-\-exec\-in\-jail\fR run the specified command in jail after initialization .TP \fB\-\-exec\-as\-root\fR run the specified command before privileges drop .TP \fB\-\-exec\-as\-user\fR run the specified command after privileges drop .TP \fB\-\-exec\-as\-user\-atexit\fR run the specified command before app exit and reload .TP \fB\-\-exec\-pre\-app\fR run the specified command before app loading .TP \fB\-\-ini\fR load config from ini file .TP \fB\-y\fR|\-\-yaml load config from yaml file .TP \fB\-y\fR|\-\-yal load config from yaml file .TP \fB\-j\fR|\-\-json load config from json file .TP \fB\-j\fR|\-\-js load config from json file .TP \fB\-\-sqlite3\fR load config from sqlite3 db .TP \fB\-\-sqlite\fR load config from sqlite3 db .TP \fB\-\-zeromq\fR create a zeromq pub/sub pair .TP \fB\-\-zmq\fR create a zeromq pub/sub pair .TP \fB\-\-ldap\fR load configuration from ldap server .TP \fB\-\-ldap\-schema\fR dump uWSGI ldap schema .TP \fB\-\-ldap\-schema\-ldif\fR dump uWSGI ldap schema in ldif format .TP \fB\-\-weight\fR weight of the instance (used by clustering/lb/subscriptions) .TP \fB\-\-auto\-weight\fR set weight of the instance (used by clustering/lb/subscriptions) automatically .TP \fB\-\-no\-server\fR force no\-server mode .TP \fB\-\-command\-mode\fR force command mode .TP \fB\-\-no\-defer\-accept\fR disable deferred\-accept on sockets .TP \fB\-\-limit\-as\fR limit processes address space/vsz .TP \fB\-\-reload\-on\-as\fR reload if address space is higher than specified megabytes .TP \fB\-\-reload\-on\-rss\fR reload if rss memory is higher than specified megabytes .TP \fB\-\-evil\-reload\-on\-as\fR force the master to reload a worker if its address space is higher than specified megabytes .TP \fB\-\-evil\-reload\-on\-rss\fR force the master to reload a worker if its rss memory is higher than specified megabytes .TP \fB\-\-ksm\fR enable Linux KSM .TP \fB\-\-never\-swap\fR lock all memory pages avoiding swapping .TP \fB\-\-touch\-reload\fR reload uWSGI if the specified file is modified/touched .TP \fB\-\-touch\-logrotate\fR trigger logrotation if the specified file is modified/touched .TP \fB\-\-touch\-logreopen\fR trigger log reopen if the specified file is modified/touched .TP \fB\-\-propagate\-touch\fR over\-engineering option for system with flaky signal mamagement .TP \fB\-\-limit\-post\fR limit request body .TP \fB\-\-no\-orphans\fR automatically kill workers if master dies (can be dangerous for availability) .TP \fB\-\-prio\fR set processes/threads priority .TP \fB\-\-cpu\-affinity\fR set cpu affinity .TP \fB\-\-post\-buffering\fR enable post buffering .TP \fB\-\-post\-buffering\-bufsize\fR set buffer size for read() in post buffering mode .TP \fB\-\-upload\-progress\fR enable creation of .json files in the specified directory during a file upload .TP \fB\-\-no\-default\-app\fR do not fallback to default app .TP \fB\-\-manage\-script\-name\fR automatically rewrite SCRIPT_NAME and PATH_INFO .TP \fB\-\-ignore\-script\-name\fR ignore SCRIPT_NAME .TP \fB\-\-catch\-exceptions\fR report exception has http output (discouraged) .TP \fB\-\-reload\-on\-exception\fR reload a worker when an exception is raised .TP \fB\-\-reload\-on\-exception\-type\fR reload a worker when a specific exception type is raised .TP \fB\-\-reload\-on\-exception\-value\fR reload a worker when a specific exception value is raised .TP \fB\-\-reload\-on\-exception\-repr\fR reload a worker when a specific exception type+value (language\-specific) is raised .TP \fB\-\-udp\fR run the udp server on the specified address .TP \fB\-\-stats\fR enable the stats server on the specified address .TP \fB\-\-stats\-server\fR enable the stats server on the specified address .TP \fB\-\-multicast\fR subscribe to specified multicast group .TP \fB\-\-cluster\fR join specified uWSGI cluster .TP \fB\-\-cluster\-nodes\fR get nodes list from the specified cluster .TP \fB\-\-cluster\-reload\fR send a reload message to the cluster .TP \fB\-\-cluster\-log\fR send a log line to the cluster .TP \fB\-\-subscribe\-to\fR subscribe to the specified subscription server .TP \fB\-\-st\fR subscribe to the specified subscription server .TP \fB\-\-subscribe\fR subscribe to the specified subscription server .TP \fB\-\-subscribe\-freq\fR send subscription announce at the specified interval .TP \fB\-\-subscription\-tolerance\fR set tolerance for subscription servers .TP \fB\-\-unsubscribe\-on\-graceful\-reload\fR force unsubscribe request even during graceful reload .TP \fB\-\-snmp\fR enable the embedded snmp server .TP \fB\-\-snmp\-community\fR set the snmp community string .TP \fB\-\-check\-interval\fR set the interval (in seconds) of master checks .TP \fB\-\-forkbomb\-delay\fR sleep for the specified number of seconds when a forkbomb is detected .TP \fB\-\-binary\-path\fR force binary path .TP \fB\-\-async\fR enable async mode with specified cores .TP \fB\-\-max\-fd\fR set maximum number of file descriptors (requires root privileges) .TP \fB\-\-logto\fR set logfile/udp address .TP \fB\-\-logto2\fR log to specified file or udp address after privileges drop .TP \fB\-\-logfile\-chown\fR chown logfiles .TP \fB\-\-logfile\-chmod\fR chmod logfiles .TP \fB\-\-log\-syslog\fR log to syslog .TP \fB\-\-log\-socket\fR send logs to the specified socket .TP \fB\-\-logger\fR set logger system .TP \fB\-\-threaded\-logger\fR offload log writing to a thread .TP \fB\-\-log\-zeromq\fR send logs to a zeromq server .TP \fB\-\-log\-master\fR delegate logging to master process .TP \fB\-\-log\-reopen\fR reopen log after reload .TP \fB\-\-log\-truncate\fR truncate log on startup .TP \fB\-\-log\-maxsize\fR set maximum logfile size .TP \fB\-\-log\-backupname\fR set logfile name after rotation .TP \fB\-\-logdate\fR prefix logs with date or a strftime string .TP \fB\-\-log\-date\fR prefix logs with date or a strftime string .TP \fB\-\-log\-prefix\fR prefix logs with a string .TP \fB\-\-log\-zero\fR log responses without body .TP \fB\-\-log\-slow\fR log requestes slower than the specified numbr of seconds .TP \fB\-\-log\-4xx\fR log requests with a 4xx response .TP \fB\-\-log\-5xx\fR log requests with a 5xx response .TP \fB\-\-log\-big\fR log requestes bigger than the specified size .TP \fB\-\-log\-sendfile\fR log sendfile requests .TP \fB\-\-log\-micros\fR report response time in microseconds instead of milliseconds .TP \fB\-\-log\-x\-forwarded\-for\fR use the ip from X\-Forwarded\-For header instead of REMOTE_ADDR .TP \fB\-\-master\-as\-root\fR leave master process running as root .TP \fB\-\-chdir\fR chdir to specified directory before apps loading .TP \fB\-\-chdir2\fR chdir to specified directory after apps loading .TP \fB\-\-lazy\fR set lazy mode (load apps in workers instead of master) .TP \fB\-\-cheap\fR set cheap mode (spawn workers only after the first request) .TP \fB\-\-cheaper\fR set cheaper mode (adaptive process spawning) .TP \fB\-\-cheaper\-algo\fR choose to algorithm used for adaptive process spawning) .TP \fB\-\-cheaper\-step\fR number of additional processes to spawn at each overload .TP \fB\-\-cheaper\-overload\fR increase workers after specified overload .TP \fB\-\-idle\fR set idle mode (put uWSGI in cheap mode after inactivity) .TP \fB\-\-die\-on\-idle\fR shutdown uWSGI when idle .TP \fB\-\-mount\fR load application under mountpoint .TP \fB\-\-grunt\fR enable grunt mode (in\-request fork) .TP \fB\-\-threads\fR run each worker in prethreaded mode with the specified number of threads .TP \fB\-\-thread\-stacksize\fR set threads stacksize .TP \fB\-\-threads\-stacksize\fR set threads stacksize .TP \fB\-\-thread\-stack\-size\fR set threads stacksize .TP \fB\-\-threads\-stack\-size\fR set threads stacksize .TP \fB\-\-vhost\fR enable virtualhosting mode (based on SERVER_NAME variable) .TP \fB\-\-vhost\-host\fR enable virtualhosting mode (based on HTTP_HOST variable) .TP \fB\-\-add\-header\fR automatically add HTTP headers to response .TP \fB\-\-check\-static\fR check for static files in the specified directory .TP \fB\-\-check\-static\-docroot\fR check for static files in the requested DOCUMENT_ROOT .TP \fB\-\-static\-check\fR check for static files in the specified directory .TP \fB\-\-static\-map\fR map mountpoint to static directory (or file) .TP \fB\-\-static\-map2\fR like static\-map but completely appending the requested resource to the docroot .TP \fB\-\-static\-skip\-ext\fR skip specified extension from staticfile checks .TP \fB\-\-static\-index\fR search for specified file if a directory is requested .TP \fB\-\-mimefile\fR set mime types file path (default /etc/mime.types) .TP \fB\-\-mime\-file\fR set mime types file path (default /etc/mime.types) .TP \fB\-\-static\-expires\-type\fR set the Expires header based on content type .TP \fB\-\-static\-expires\-type\-mtime\fR set the Expires header based on content type and file mtime .TP \fB\-\-static\-offload\-to\-thread\fR offload static file serving to a thread (upto the specified number of threads) .TP \fB\-\-file\-serve\-mode\fR set static file serving mode .TP \fB\-\-fileserve\-mode\fR set static file serving mode .TP \fB\-\-check\-cache\fR check for response data in the cache .TP \fB\-\-close\-on\-exec\fR set close\-on\-exec on sockets (could be required for spawning processes in requests) .TP \fB\-\-mode\fR set uWSGI custom mode .TP \fB\-\-env\fR set environment variable .TP \fB\-\-unenv\fR unset environment variable .TP \fB\-\-vacuum\fR try to remove all of the generated file/sockets .TP \fB\-\-cgroup\fR put the processes in the specified cgroup .TP \fB\-\-cgroup\-opt\fR set value in specified cgroup option .TP \fB\-\-namespace\fR run in a new namespace under the specified rootfs .TP \fB\-\-ns\fR run in a new namespace under the specified rootfs .TP \fB\-\-namespace\-net\fR add network namespace .TP \fB\-\-ns\-net\fR add network namespace .TP \fB\-\-reuse\-port\fR enable REUSE_PORT flag on socket (BSD only) .TP \fB\-\-zerg\fR attach to a zerg server .TP \fB\-\-zerg\-fallback\fR fallback to normal sockets if the zerg server is not available .TP \fB\-\-zerg\-server\fR enable the zerg server on the specified UNIX socket .TP \fB\-\-cron\fR add a cron task .TP \fB\-\-loop\fR select the uWSGI loop engine .TP \fB\-\-worker\-exec\fR run the specified command as worker .TP \fB\-\-attach\-daemon\fR attach a command/daemon to the master process (the command has to not go in background) .TP \fB\-\-plugins\fR load uWSGI plugins .TP \fB\-\-plugin\fR load uWSGI plugins .TP \fB\-\-plugins\-dir\fR add a directory to uWSGI plugin search path .TP \fB\-\-plugin\-dir\fR add a directory to uWSGI plugin search path .TP \fB\-\-autoload\fR try to automatically load plugins when unknown options are found .TP \fB\-\-allowed\-modifiers\fR comma separated list of allowed modifiers .TP \fB\-\-remap\-modifier\fR remap request modifier from one id to another .TP \fB\-\-app\fR *** deprecated *** .TP \fB\-\-dump\-options\fR dump the full list of available options .TP \fB\-\-show\-config\fR show the current config reformatted as ini .TP \fB\-\-print\fR simple print .TP \fB\-\-version\fR print uWSGI version .TP \fB\-\-http\fR add an http router/server on the specified address .TP \fB\-\-http\-processes\fR set the number of http processes to spawn .TP \fB\-\-http\-workers\fR set the number of http processes to spawn .TP \fB\-\-http\-var\fR add a key=value item to the generated uwsgi packet .TP \fB\-\-http\-to\fR forward requests to the specified node .TP \fB\-\-http\-modifier1\fR set uwsgi protocol modifier1 .TP \fB\-\-http\-use\-cache\fR use uWSGI cache as key\->value virtualhost mapper .TP \fB\-\-http\-use\-pattern\fR use the specified pattern for mapping requests to unix sockets .TP \fB\-\-http\-use\-base\fR use the specified base for mapping requests to unix sockets .TP \fB\-\-http\-use\-cluster\fR load balance to nodes subscribed to the cluster .TP \fB\-\-http\-events\fR set the number of concurrent http async events .TP \fB\-\-http\-subscription\-server\fR enable the subscription server .TP \fB\-\-http\-subscription\-use\-regexp\fR enable regexp usage in subscription system .TP \fB\-\-http\-timeout\fR set internal http socket timeout .TP \fB\-\-http\-manage\-expect\fR manage the Expect HTTP request header