GUNICORN(1)
π GUNICORN(1) π
okay bestie so this is the manual page for gunicorn, sitting pretty in the User Commands section of the manual, and honestly? she ate. let's get into it. π«Ά
πΈ NAME πΈ
gunicorn β the HTTP/WSGI/ASGI server. that's it, that's the girl. she takes your Python app and makes it a real live server. main character energy fr fr. π
β¨ DESCRIPTION β¨
here's how you summon her:
usage: gunicorn [OPTIONS] [APP_MODULE]
heads up bestie:[OPTIONS]and[APP_MODULE]are both optional-looking with the brackets, so don't come for me, that's just how she's written. π
π options:
this is the big one. ninety-five options, no skips, we're doing all of them. buckle up. π
-h,--helpβ show this help message and exit. the "hi bestie what do you need" option.-v,--versionβ show program's version number and exit.-c,--config CONFIGβ :ref:The Gunicorn config file<configuration_file>. the whole vibe, in a file.-b,--bind ADDRESSβ the socket to bind.--backlog INTβ the maximum number of pending connections. (yes she has a queue. she's popular.)-w,--workers INTβ the number of worker processes for handling requests.-k,--worker-class STRINGβ the type of workers to use.--threads INTβ the number of worker threads for handling requests.--worker-connections INTβ the maximum number of simultaneous clients.--max-requests INTβ the maximum number of requests a worker will process before restarting. glow-up via rest π--max-requests-jitter INTβ the maximum jitter to add to the max_requests setting.-t,--timeout INTβ workers silent for more than this many seconds are killed and restarted. ghosting has consequences π--graceful-timeout INTβ timeout for graceful workers restart in seconds.--keep-alive INTβ the number of seconds to wait for requests on a KeepAlive connection.--limit-request-line INTβ the maximum size of HTTP request line in bytes.--limit-request-fields INTβ limit the number of HTTP headers fields in a request.--limit-request-field_size INTβ limit the allowed size of an HTTP request header field. (yes, with the underscore. that's her name, don't deadname her. β)--reloadβ restart workers when code changes.--reload-engine STRINGβ the implementation that should be used to power :ref:reload.--reload-extra-file FILESβ extends :ref:reloadoption to also watch and reload on additional files.--spewβ install a trace function that spews every line executed by the server. (she said "spew". i love her.)--check-configβ check the configuration and exit. The exit status is 0 if the
okay so the og page literally cuts off right there at "if the" π i am NOT inventing the rest, that's what it says, we respect the source.
--print-configβ print the configuration settings as fully resolved. implies :ref:check-config.--preloadβ load application code before the worker processes are forked.--no-sendfileβ disables the use ofsendfile().--reuse-portβ set theSO_REUSEPORTflag on the listening socket.--chdir CHDIRβ change directory to specified directory before loading apps.-D,--daemonβ daemonize the Gunicorn process.-e,--env ENVβ set environment variables in the execution environment.-p,--pid FILEβ a filename to use for the PID file.--worker-tmp-dir DIRβ a directory to use for the worker heartbeat temporary file.-u,--user USERβ switch worker processes to run as this user.-g,--group GROUPβ switch worker process to run as this group.-m,--umask INTβ a bit mask for the file mode on files written by Gunicorn.--initgroupsβ if true, set the worker process's group access list with all of the
again, bestie, the sentence justβ¦ stops. "all of the". that's it. she's mysterious like that. π«οΈ
--forwarded-allow-ips STRINGβ front-end's IP addresses or networks from which allowed to handle
and once more β it ends mid-thought at "handle". leaving us on read. π₯²
--access-logfile FILEβ the Access log file to write to.--disable-redirect-access-to-syslogβ disable redirect access logs to syslog.--access-logformat STRINGβ the access log format.--error-logfile,--log-fileFILE β the Error log file to write to.--log-level LEVELβ the granularity of Error log outputs.--capture-outputβ redirect stdout/stderr to specified file in :ref:errorlog.--logger-class STRINGβ the logger you want to use to log events in Gunicorn.--log-config FILEβ the log config file to use.--log-config-json FILEβ the log config to read config from a JSON file.--log-syslog-to SYSLOG_ADDRβ address to send syslog messages.--log-syslogβ send Gunicorn logs to syslog.--log-syslog-prefix SYSLOG_PREFIXβ makes Gunicorn use the parameter as program-name in the syslog entries.--log-syslog-facility SYSLOG_FACILITYβ syslog facility name.-R,--enable-stdio-inheritanceβ enable stdio inheritance.--statsd-host STATSD_ADDRβ the address of the StatsD server to log to.--dogstatsd-tags DOGSTATSD_TAGSβ a comma-delimited list of datadog statsd (dogstatsd) tags to append to
ok you already know the drill. truncated at "append to". bestie is a woman of few words apparently π
--statsd-prefix STATSD_PREFIXβ prefix to use when emitting statsd metrics (a trailing.is added,
andβ¦ scene. cut off after "is added,". π
--enable-backlog-metricβ enable socket backlog metric (only supported on Linux).-n,--name STRINGβ a base to use with setproctitle for process naming.--pythonpath STRINGβ a comma-separated list of directories to add to the Python path.--paste,--pasterSTRING β load a PasteDeploy config file. The argument may contain a#
yeah, ends at the #. cliffhanger. β¨
--proxy-protocol [MODE]β enable PROXY protocol support.--proxy-allow-from PROXY_ALLOW_IPSβ front-end's IP addresses or networks from which allowed accept
cut off at "accept". we forgive her. π«Ά
--protocol STRINGβ the protocol for incoming connections.--uwsgi-allow-from UWSGI_ALLOW_IPSβ IPs allowed to send uWSGI protocol requests (comma separated).--keyfile FILEβ SSL key file.--certfile FILEβ SSL certificate file.--ssl-version SSL_VERSIONβ SSL version to use (see stdlib ssl module's).--cert-reqs CERT_REQSβ whether client certificate is required (see stdlib ssl module's).--ca-certs FILEβ CA certificates file.--suppress-ragged-eofsβ suppress ragged EOFs (see stdlib ssl module's).--do-handshake-on-connectβ whether to perform SSL handshake on socket connect (see stdlib ssl module's).--ciphers CIPHERSβ SSL Cipher suite to use, in the format of an OpenSSL cipher list.--http-protocols STRINGβ HTTP protocol versions to support (comma-separated, order = preference).--http2-max-concurrent-streams INTβ maximum number of concurrent HTTP/2 streams per connection.--http2-initial-window-size INTβ initial HTTP/2 flow control window size in bytes.--http2-max-frame-size INTβ maximum HTTP/2 frame payload size in bytes.--http2-max-header-list-size INTβ maximum size of HTTP/2 header list in bytes (HPACK protection).--paste-global CONFβ set a PasteDeploy global config variable inkey=valueform.--permit-obsolete-foldingβ permit requests employing obsolete HTTP line folding mechanism.--strip-header-spacesβ strip spaces present between the header name and the the:.
"the the". she said it twice. she's excited. i'm not editing her art. π
--permit-unconventional-http-methodβ permit HTTP methods not matching conventions, such as IANA registration guidelines.--permit-unconventional-http-versionβ permit HTTP version not matching conventions of 2023.--casefold-http-methodβ transform received HTTP methods to uppercase.--forwarder-headers FORWARDER_HEADERSβ a list containing upper-case header field names that the front-end proxy
ends at "proxy". iconic mystery. π¦
--header-map HEADER_MAPβ configure how header field names are mapped into environ.--asgi-loop STRINGβ event loop implementation for ASGI workers.--asgi-lifespan STRINGβ control ASGI lifespan protocol handling.--asgi-disconnect-grace-period INTβ grace period (seconds) for ASGI apps to handle client disconnects.--http-parser STRINGβ HTTP parser implementation for ASGI workers.--root-path STRINGβ the root path for ASGI applications.--dirty-app STRINGβ dirty applications to load in the dirty worker pool.--dirty-workers INTβ the number of dirty worker processes.--dirty-timeout INTβ timeout for dirty task execution in seconds.--dirty-threads INTβ the number of threads per dirty worker.--dirty-graceful-timeout INTβ timeout for graceful dirty worker shutdown in seconds.--control-socket PATHβ Unix socket path for control interface.--control-socket-mode INTβ permission mode for control socket.--no-control-socketβ disable control socket.
that's all 95. i counted so you don't have to. π
π SEE ALSO π
the full documentation for gunicorn is maintained as a Texinfo manual. so if the info and gunicorn programs are properly installed at your site, this command:
info gunicorn
should give you access to the complete manual. β¨
pro tip from me to you: if that doesn't work, it's an install problem, not a you problem. π
and that's the whole page bestie!! this was gunicorn (version 25.3.0), dated June 2026, living in GUNICORN(1) of the manual. go forth and serve. no cap. π β¨π
π¦ where this page comes from
- ubuntu stonking: gunicorn 25.3.0-4 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms