update doc

This commit is contained in:
benoitc 2010-04-22 19:20:33 +02:00
parent 090bb8fe29
commit be6035769c
5 changed files with 54 additions and 49 deletions

View File

@ -15,7 +15,7 @@ Gunicorn requires **Python 2.5 or newer** (Python 3.x will be supported soon).
Install from sources::
$ python setup.py install
$ python setup.py install
Or from Pypi::
@ -42,49 +42,49 @@ Usage
::
$ gunicorn --help
Usage: gunicorn [OPTIONS] [APP_MODULE]
Options:
-c CONFIG, --config=CONFIG
Config file. [none]
-b BIND, --bind=BIND Adress to listen on. Ex. 127.0.0.1:8000 or
unix:/tmp/gunicorn.sock
-w WORKERS, --workers=WORKERS
Number of workers to spawn. [1]
-a ARBITER, --arbiter=ARBITER
gunicorn arbiter entry point or module
$ gunicorn --help
Usage: gunicorn [OPTIONS] [APP_MODULE]
Options:
-c CONFIG, --config=CONFIG
Config file. [none]
-b BIND, --bind=BIND Adress to listen on. Ex. 127.0.0.1:8000 or
unix:/tmp/gunicorn.sock
-k WORKERCLASS, --worker-class=WORKERCLASS
The type of request processing to use
[egg:gunicorn#main]
-p PIDFILE, --pid=PIDFILE
set the background PID FILE
-D, --daemon Run daemonized in the background.
-m UMASK, --umask=UMASK
Define umask of daemon process
-u USER, --user=USER Change worker user
-g GROUP, --group=GROUP
Change worker group
-n APP_NAME, --name=APP_NAME
Application name
--log-level=LOGLEVEL Log level below which to silence messages. [info]
--log-file=LOGFILE Log to a file. - equals stdout. [-]
-d, --debug Debug mode. only 1 worker.
--spew Install a trace hook
--version show program's version number and exit
-h, --help show this help message and exit
-w WORKERS, --workers=WORKERS
Number of workers to spawn. [1]
-p PIDFILE, --pid=PIDFILE
set the background PID FILE
-D, --daemon Run daemonized in the background.
-m UMASK, --umask=UMASK
Define umask of daemon process
-u USER, --user=USER Change worker user
-g GROUP, --group=GROUP
Change worker group
-n APP_NAME, --name=APP_NAME
Application name
--log-level=LOGLEVEL Log level below which to silence messages. [info]
--log-file=LOGFILE Log to a file. - equals stdout. [-]
-d, --debug Debug mode. only 1 worker.
--spew Install a trace hook
--version show program's version number and exit
-h, --help show this help message and exit
Example with test app::
$ cd examples
$ gunicorn --workers=2 test:app
$ cd examples
$ gunicorn --workers=2 test:app
Django projects
+++++++++++++++
For django projects use the `gunicorn_django` command::
$ cd yourdjangoproject
$ gunicorn_django --workers=2
$ cd yourdjangoproject
$ gunicorn_django --workers=2
or use `run_gunicorn` command.
@ -134,7 +134,7 @@ One of the first settings that usually needs to be bumped is the maximum number
::
$ sudo ulimit -n 1024
$ sudo ulimit -n 1024
Increasing the Listen Queue Size
++++++++++++++++++++++++++++++++
@ -143,7 +143,7 @@ Listening sockets have an associated queue of incoming connections that are wait
::
$ sudo sysctl -w kern.ipc.somaxconn="1024"
$ sudo sysctl -w kern.ipc.somaxconn="1024"
Widening the Ephemeral Port Range
+++++++++++++++++++++++++++++++++
@ -154,7 +154,7 @@ This setting is generally only required on machines that are being used to test
::
$ sudo sysctl -w net.inet.ip.portrange.first="8048"
$ sudo sysctl -w net.inet.ip.portrange.first="8048"
Check `this article`_ for more information on ephemeral ports.

View File

@ -11,7 +11,6 @@ Example gunicorn.conf.py
::
arbiter = "egg:gunicorn" # The arbiter to use for worker management
backlog = 2048 # The listen queue size for the server socket
bind = "127.0.0.1:8000" # Or "unix:/tmp/gunicorn.sock"
daemon = False # Whether work in the background
@ -28,6 +27,7 @@ Example gunicorn.conf.py
spew=False # Display trace
timeout=30 # Worker timeout
tmp_upload_dir = None # Set path used to store temporary uploads
worker_class = "egg:gunicorn#sync" # The type of request processing to use
worker_connections=1000 # Maximum number of simultaneous connections
after_fork=lambda server, worker: server.log.info(
@ -43,17 +43,16 @@ Parameter Descriptions
after_fork(server, worker):
This is called by the worker after initialization.
arbiter:
The arbiter manages the worker processes that actually serve clients. It
handles launching new workers and killing misbehaving workers among
other things. By default the arbiter is `egg:gunicorn#main`. This arbiter
worker_class:
Define the type of worker to use. A worker process all the requests send by
the arbiter.By default the worker_class is `egg:gunicorn#sync`. This worker
only supports fast request handling requiring a buffering HTTP proxy.
If your application requires the ability to handle prolonged requests to
provide long polling, comet, or calling an external web service you'll
need to use an async arbiter. Gunicorn has two async arbiters built in
using `Eventlet`_ or `Gevent`_. You can also use the Evenlet arbiter with
the `Twisted`_ helper.
need to use an async worker. Gunicorn has three async workers built in
using `Tornado`_, `Eventlet`_ or `Gevent`_. You can also use the Evenlet
worker with the `Twisted`_ helper.
backlog:
The backlog parameter defines the maximum length for the queue of pending
@ -121,5 +120,6 @@ tmp_upload_dir:
.. _Eventlet: http://eventlet.net
.. _Gevent: http://gevent.org
.. _Twisted: http://twistedmatrix.com
.. _Tornado: http://www.tornadoweb.org/
.. _setproctitle: http://pypi.python.org/pypi/setproctitle

View File

@ -4,6 +4,13 @@ title: News
News
====
0.7.3 / 2004-04-22
------------------
- Refactored Worker management for better async support. Now use the -k option to set the type of request processing to use
- Added support for `Tornado <http://www.tornadoweb.org/>`_ .
0.7.2 / 2010-04-15
------------------

View File

@ -43,11 +43,11 @@ Full command line usage
Config file. [none]
-b BIND, --bind=BIND Adress to listen on. Ex. 127.0.0.1:8000 or
unix:/tmp/gunicorn.sock
-k WORKERCLASS, --worker-class=WORKERCLASS
The type of request processing to use
[egg:gunicorn#main]
-w WORKERS, --workers=WORKERS
Number of workers to spawn. [1]
-a ARBITER, --arbiter=ARBITER
gunicorn arbiter entry point or module
[egg:gunicorn#main]
-p PIDFILE, --pid=PIDFILE
set the background PID FILE
-D, --daemon Run daemonized in the background.

View File

@ -65,8 +65,6 @@ class GEventWorker(AsyncWorker):
except greenlet.GreenletExit:
return
def cleanup(self, gt):
try:
try: