This commit is contained in:
benoitc 2011-09-19 23:39:57 +02:00
parent 70d61dde82
commit 5dc53947ed
2 changed files with 119 additions and 60 deletions

View File

@ -111,8 +111,53 @@ package manager. If <a class="reference external" href="http://gevent.org">Geven
installed, this is the most likely reason.</p>
</div>
</div>
<div class="section" id="ubuntu-debian">
<h2><a class="toc-backref" href="#contents">Ubuntu/Debian</a></h2>
<div class="section" id="debian-gnu-linux">
<h2><a class="toc-backref" href="#contents">Debian GNU/Linux</a></h2>
<p>If you are using Debian GNU/Linux is is recommended that you use system
packages to install Gunicorn. This has a number of advantages:</p>
<blockquote>
<ul class="simple">
<li>Zero-effort installation: Automatically starts multiple Gunicorn instances
based on configurations defined in <tt class="docutils literal">/etc/gunicorn.d</tt>.</li>
<li>Sensible default locations for logs (<tt class="docutils literal">/var/log/gunicorn</tt>). Logs
can be automatically rotated and compressed using <tt class="docutils literal">logrotate</tt>.</li>
<li>Improved security: Can easily run each Gunicorn instance with a dedicated
UNIX user/group.</li>
<li>Sensible upgrade path: Upgrades to newer versions result in less downtime,
handle conflicting changes in configuration options, and can be quickly
rolled back in case of incompatibility. The package can also be purged
entirely from the system in seconds.</li>
</ul>
</blockquote>
<div class="section" id="stable-squeeze">
<h3><a class="toc-backref" href="#contents">Stable (&quot;squeeze&quot;)</a></h3>
<p>The version of Gunicorn in the <a class="reference external" href="http://www.debian.org/">Debian</a> &quot;stable&quot; distribution is 0.10.0 (July
2010). It is not recommended that you use this version.</p>
<p>However, you can use the most recent version by using <a class="reference external" href="http://backports.debian.org/">Debian Backports</a>.
First, copy the following line to your <tt class="docutils literal">/etc/apt/sources.list</tt>:</p>
<pre class="literal-block">
deb http://backports.debian.org/debian-backports squeeze-backports main
</pre>
<p>Then, update your local package lists:</p>
<pre class="literal-block">
$ sudo apt-get update
</pre>
<p>You can then install the latest version using:</p>
<pre class="literal-block">
$ sudo apt-get -t squeeze-backports install gunicorn
</pre>
</div>
<div class="section" id="testing-wheezy-unstable-sid">
<h3><a class="toc-backref" href="#contents">Testing (&quot;wheezy&quot;) / Unstable (&quot;sid&quot;)</a></h3>
<p>&quot;wheezy&quot; and &quot;sid&quot; contain the latest released version of Gunicorn. You can
install it in the usual way:</p>
<pre class="literal-block">
$ sudo apt-get install gunicorn
</pre>
</div>
</div>
<div class="section" id="ubuntu">
<h2><a class="toc-backref" href="#contents">Ubuntu</a></h2>
<p>If you use <a class="reference external" href="http://www.ubuntu.com/">Ubuntu</a> karmic, you can update your system with packages from
our <a class="reference external" href="https://launchpad.net/~bchesneau/+archive/gunicorn">PPA</a> by adding <tt class="docutils literal">ppa:bchesneau/gunicorn</tt> to your system's Software
Sources.</p>
@ -141,13 +186,18 @@ deb-src http://ppa.launchpad.net/bchesneau/gunicorn/ubuntu karmic main
<div class="contents topic" id="contents">
<p class="topic-title first">Contents</p>
<ul class="simple">
<li><a class="reference internal" href="#requirements" id="id1">Requirements</a></li>
<li><a class="reference internal" href="#with-easy-install" id="id2">With easy_install</a></li>
<li><a class="reference internal" href="#from-source" id="id3">From Source</a></li>
<li><a class="reference internal" href="#async-workers" id="id4">Async Workers</a></li>
<li><a class="reference internal" href="#ubuntu-debian" id="id5">Ubuntu/Debian</a><ul>
<li><a class="reference internal" href="#signing-key" id="id6">Signing key</a></li>
<li><a class="reference internal" href="#fingerprint" id="id7">Fingerprint</a></li>
<li><a class="reference internal" href="#requirements" id="id2">Requirements</a></li>
<li><a class="reference internal" href="#with-easy-install" id="id3">With easy_install</a></li>
<li><a class="reference internal" href="#from-source" id="id4">From Source</a></li>
<li><a class="reference internal" href="#async-workers" id="id5">Async Workers</a></li>
<li><a class="reference internal" href="#debian-gnu-linux" id="id6">Debian GNU/Linux</a><ul>
<li><a class="reference internal" href="#stable-squeeze" id="id7">Stable (&quot;squeeze&quot;)</a></li>
<li><a class="reference internal" href="#testing-wheezy-unstable-sid" id="id8">Testing (&quot;wheezy&quot;) / Unstable (&quot;sid&quot;)</a></li>
</ul>
</li>
<li><a class="reference internal" href="#ubuntu" id="id9">Ubuntu</a><ul>
<li><a class="reference internal" href="#signing-key" id="id10">Signing key</a></li>
<li><a class="reference internal" href="#fingerprint" id="id11">Fingerprint</a></li>
</ul>
</li>
</ul>

View File

@ -29,6 +29,14 @@
<div id="content">
<div class="document">
<div class="section" id="id1">
<h2><a class="toc-backref" href="#contents">0.13.3 / 2011-09-19</a></h2>
<ul class="simple">
<li>refactor gevent worker</li>
<li>prevent leaking fds on reexec</li>
<li>fix inverted request_time computation</li>
</ul>
</div>
<div class="section" id="id2">
<h2><a class="toc-backref" href="#contents">0.13.2 / 2011-09-17</a></h2>
<ul class="simple">
<li>Add support for Tornado 2.0 in tornado worker</li>
@ -41,13 +49,13 @@ request time</li>
<li>Fix Django reloading</li>
</ul>
</div>
<div class="section" id="id2">
<div class="section" id="id3">
<h2><a class="toc-backref" href="#contents">0.13.1 / 2011-08-22</a></h2>
<ul class="simple">
<li>Fix unix socket. log argument was missing.</li>
</ul>
</div>
<div class="section" id="id3">
<div class="section" id="id4">
<h2><a class="toc-backref" href="#contents">0.13.0 / 2011-08-22</a></h2>
<ul class="simple">
<li>Improve logging: allows file-reopening and add access log file
@ -65,7 +73,7 @@ SIGHUP</li>
<li>Fix the use of sendfile in wsgi.file_wrapper</li>
</ul>
</div>
<div class="section" id="id4">
<div class="section" id="id5">
<h2><a class="toc-backref" href="#contents">0.12.2 / 2011-05-18</a></h2>
<ul class="simple">
<li>Add wsgi.file_wrapper optimised for FreeBSD, Linux &amp; MacOSX (use
@ -76,7 +84,7 @@ code.</li>
<li>Compatible with gevent 0.14dev</li>
</ul>
</div>
<div class="section" id="id5">
<div class="section" id="id6">
<h2><a class="toc-backref" href="#contents">0.12.1 / 2011-03-23</a></h2>
<ul class="simple">
<li>Add &quot;on_starting&quot; hook. This hook can be used to set anything before
@ -88,7 +96,7 @@ the arbiter really start</li>
<li>Fix ipv6 handling</li>
</ul>
</div>
<div class="section" id="id6">
<div class="section" id="id7">
<h2><a class="toc-backref" href="#contents">0.12.0 / 2010-12-22</a></h2>
<ul class="simple">
<li>Add support for logging configuration using a ini file.
@ -106,7 +114,7 @@ it and use it.</li>
<li>Set the number of workers to zero on WINCH</li>
</ul>
</div>
<div class="section" id="id7">
<div class="section" id="id8">
<h2><a class="toc-backref" href="#contents">0.11.2 / 2010-10-30</a></h2>
<ul class="simple">
<li>Add SERVER_SOFTWARE to the os.environ</li>
@ -119,7 +127,7 @@ it and use it.</li>
<li>Fix readline in wsgi.input</li>
</ul>
</div>
<div class="section" id="id8">
<div class="section" id="id9">
<h2><a class="toc-backref" href="#contents">0.11.1 / 2010-09-02</a></h2>
<ul class="simple">
<li>Implement max-requests feature to prevent memory leaks.</li>
@ -131,7 +139,7 @@ it and use it.</li>
<li>Workaround to prevent Gevent worker to segfault on MacOSX.</li>
</ul>
</div>
<div class="section" id="id9">
<div class="section" id="id10">
<h2><a class="toc-backref" href="#contents">0.11.0 / 2010-08-12</a></h2>
<ul class="simple">
<li>Improve dramatically performances of Gevent and Eventlet workers</li>
@ -140,7 +148,7 @@ it and use it.</li>
<li>Fix latency issue in async workers</li>
</ul>
</div>
<div class="section" id="id10">
<div class="section" id="id11">
<h2><a class="toc-backref" href="#contents">0.10.1 / 2010-08-06</a></h2>
<ul class="simple">
<li>Improve gevent's workers. Add &quot;egg:gunicorn#gevent_wsgi&quot; worker using
@ -154,7 +162,7 @@ need really fast connections and don't need streaming, keepalive or ssl.</li>
<li>Fix gevent dns issue</li>
</ul>
</div>
<div class="section" id="id11">
<div class="section" id="id12">
<h2><a class="toc-backref" href="#contents">0.10.0 / 2010-07-08</a></h2>
<ul class="simple">
<li>New HTTP parser.</li>
@ -174,7 +182,7 @@ the preload flag can help a bit in small memory VM's.</li>
<li>New documentation website.</li>
</ul>
</div>
<div class="section" id="id12">
<div class="section" id="id13">
<h2><a class="toc-backref" href="#contents">0.9.1 / 2010-05-26</a></h2>
<ul class="simple">
<li>Support https via X-Forwarded-Protocol or X-Forwarded-Ssl headers</li>
@ -183,7 +191,7 @@ the preload flag can help a bit in small memory VM's.</li>
<li>Fix umask in unix socket</li>
</ul>
</div>
<div class="section" id="id13">
<div class="section" id="id14">
<h2><a class="toc-backref" href="#contents">0.9.0 / 2010-05-24</a></h2>
<ul class="simple">
<li>Added <em>when_ready</em> hook. Called just after the server is started</li>
@ -196,7 +204,7 @@ are forked.</li>
<li>Documentation improvements</li>
</ul>
</div>
<div class="section" id="id14">
<div class="section" id="id15">
<h2><a class="toc-backref" href="#contents">0.8.1 / 2010-04-29</a></h2>
<ul class="simple">
<li>Fix builtins import in config</li>
@ -205,7 +213,7 @@ are forked.</li>
<li>Delay application loading until after processing all configuration</li>
</ul>
</div>
<div class="section" id="id15">
<div class="section" id="id16">
<h2><a class="toc-backref" href="#contents">0.8.0 / 2010-04-22</a></h2>
<ul class="simple">
<li>Refactored Worker management for better async support. Now use the -k option
@ -213,7 +221,7 @@ to set the type of request processing to use</li>
<li>Added support for <a class="reference external" href="http://www.tornadoweb.org/">Tornado</a></li>
</ul>
</div>
<div class="section" id="id16">
<div class="section" id="id17">
<h2><a class="toc-backref" href="#contents">0.7.2 / 2010-04-15</a></h2>
<ul class="simple">
<li>Added --spew option to help debugging (installs a system trace hook)</li>
@ -221,13 +229,13 @@ to set the type of request processing to use</li>
<li>Fix a bug in start_response on error</li>
</ul>
</div>
<div class="section" id="id17">
<div class="section" id="id18">
<h2><a class="toc-backref" href="#contents">0.7.1 / 2010-04-01</a></h2>
<ul class="simple">
<li>Fix bug when responses have no body.</li>
</ul>
</div>
<div class="section" id="id18">
<div class="section" id="id19">
<h2><a class="toc-backref" href="#contents">0.7.0 / 2010-03-26</a></h2>
<ul class="simple">
<li>Added support for <a class="reference external" href="http://eventlet.net">Eventlet</a> and <a class="reference external" href="http://gevent.org">Gevent</a> based workers.</li>
@ -237,28 +245,28 @@ to set the type of request processing to use</li>
<li>Fix <a class="reference external" href="http://www.python.org/dev/peps/pep-0333/">PEP 333</a> compliance for the write callable.</li>
</ul>
</div>
<div class="section" id="id19">
<div class="section" id="id20">
<h2><a class="toc-backref" href="#contents">0.6.5 / 2010-03-11</a></h2>
<ul class="simple">
<li>Fix pidfile handling</li>
<li>Fix Exception Error</li>
</ul>
</div>
<div class="section" id="id20">
<div class="section" id="id21">
<h2><a class="toc-backref" href="#contents">0.6.4 / 2010-03-08</a></h2>
<ul class="simple">
<li>Use cStringIO for performance when possible.</li>
<li>Fix worker freeze when a remote connection closes unexpectedly.</li>
</ul>
</div>
<div class="section" id="id21">
<div class="section" id="id22">
<h2><a class="toc-backref" href="#contents">0.6.3 / 2010-03-07</a></h2>
<ul class="simple">
<li>Make HTTP parsing faster.</li>
<li>Various bug fixes</li>
</ul>
</div>
<div class="section" id="id22">
<div class="section" id="id23">
<h2><a class="toc-backref" href="#contents">0.6.2 / 2010-03-01</a></h2>
<ul class="simple">
<li>Added support for chunked response.</li>
@ -269,7 +277,7 @@ temporary data.</li>
<li>Workers are now murdered by age (the oldest is killed first).</li>
</ul>
</div>
<div class="section" id="id23">
<div class="section" id="id24">
<h2><a class="toc-backref" href="#contents">0.6.1 / 2010-02-24</a></h2>
<ul class="simple">
<li>Added gunicorn config file support for Django admin command</li>
@ -277,7 +285,7 @@ temporary data.</li>
<li>Removed TTIN/TTOU from workers which blocked other signals.</li>
</ul>
</div>
<div class="section" id="id24">
<div class="section" id="id25">
<h2><a class="toc-backref" href="#contents">0.6 / 2010-02-22</a></h2>
<ul class="simple">
<li>Added setproctitle support</li>
@ -285,14 +293,14 @@ temporary data.</li>
permissions, new uid/gid permissions are only set for workers.</li>
</ul>
</div>
<div class="section" id="id25">
<div class="section" id="id26">
<h2><a class="toc-backref" href="#contents">0.5.1 / 2010-02-22</a></h2>
<ul class="simple">
<li>Fix umask</li>
<li>Added Debian packaging</li>
</ul>
</div>
<div class="section" id="id26">
<div class="section" id="id27">
<h2><a class="toc-backref" href="#contents">0.5 / 2010-02-20</a></h2>
<ul class="simple">
<li>Added <a class="reference external" href="configuration.html">configuration file</a> handler.</li>
@ -314,32 +322,33 @@ permissions, new uid/gid permissions are only set for workers.</li>
<div class="contents topic" id="contents">
<p class="topic-title first">Contents</p>
<ul class="simple">
<li><a class="reference internal" href="#id1" id="id27">0.13.2 / 2011-09-17</a></li>
<li><a class="reference internal" href="#id2" id="id28">0.13.1 / 2011-08-22</a></li>
<li><a class="reference internal" href="#id3" id="id29">0.13.0 / 2011-08-22</a></li>
<li><a class="reference internal" href="#id4" id="id30">0.12.2 / 2011-05-18</a></li>
<li><a class="reference internal" href="#id5" id="id31">0.12.1 / 2011-03-23</a></li>
<li><a class="reference internal" href="#id6" id="id32">0.12.0 / 2010-12-22</a></li>
<li><a class="reference internal" href="#id7" id="id33">0.11.2 / 2010-10-30</a></li>
<li><a class="reference internal" href="#id8" id="id34">0.11.1 / 2010-09-02</a></li>
<li><a class="reference internal" href="#id9" id="id35">0.11.0 / 2010-08-12</a></li>
<li><a class="reference internal" href="#id10" id="id36">0.10.1 / 2010-08-06</a></li>
<li><a class="reference internal" href="#id11" id="id37">0.10.0 / 2010-07-08</a></li>
<li><a class="reference internal" href="#id12" id="id38">0.9.1 / 2010-05-26</a></li>
<li><a class="reference internal" href="#id13" id="id39">0.9.0 / 2010-05-24</a></li>
<li><a class="reference internal" href="#id14" id="id40">0.8.1 / 2010-04-29</a></li>
<li><a class="reference internal" href="#id15" id="id41">0.8.0 / 2010-04-22</a></li>
<li><a class="reference internal" href="#id16" id="id42">0.7.2 / 2010-04-15</a></li>
<li><a class="reference internal" href="#id17" id="id43">0.7.1 / 2010-04-01</a></li>
<li><a class="reference internal" href="#id18" id="id44">0.7.0 / 2010-03-26</a></li>
<li><a class="reference internal" href="#id19" id="id45">0.6.5 / 2010-03-11</a></li>
<li><a class="reference internal" href="#id20" id="id46">0.6.4 / 2010-03-08</a></li>
<li><a class="reference internal" href="#id21" id="id47">0.6.3 / 2010-03-07</a></li>
<li><a class="reference internal" href="#id22" id="id48">0.6.2 / 2010-03-01</a></li>
<li><a class="reference internal" href="#id23" id="id49">0.6.1 / 2010-02-24</a></li>
<li><a class="reference internal" href="#id24" id="id50">0.6 / 2010-02-22</a></li>
<li><a class="reference internal" href="#id25" id="id51">0.5.1 / 2010-02-22</a></li>
<li><a class="reference internal" href="#id26" id="id52">0.5 / 2010-02-20</a></li>
<li><a class="reference internal" href="#id1" id="id28">0.13.3 / 2011-09-19</a></li>
<li><a class="reference internal" href="#id2" id="id29">0.13.2 / 2011-09-17</a></li>
<li><a class="reference internal" href="#id3" id="id30">0.13.1 / 2011-08-22</a></li>
<li><a class="reference internal" href="#id4" id="id31">0.13.0 / 2011-08-22</a></li>
<li><a class="reference internal" href="#id5" id="id32">0.12.2 / 2011-05-18</a></li>
<li><a class="reference internal" href="#id6" id="id33">0.12.1 / 2011-03-23</a></li>
<li><a class="reference internal" href="#id7" id="id34">0.12.0 / 2010-12-22</a></li>
<li><a class="reference internal" href="#id8" id="id35">0.11.2 / 2010-10-30</a></li>
<li><a class="reference internal" href="#id9" id="id36">0.11.1 / 2010-09-02</a></li>
<li><a class="reference internal" href="#id10" id="id37">0.11.0 / 2010-08-12</a></li>
<li><a class="reference internal" href="#id11" id="id38">0.10.1 / 2010-08-06</a></li>
<li><a class="reference internal" href="#id12" id="id39">0.10.0 / 2010-07-08</a></li>
<li><a class="reference internal" href="#id13" id="id40">0.9.1 / 2010-05-26</a></li>
<li><a class="reference internal" href="#id14" id="id41">0.9.0 / 2010-05-24</a></li>
<li><a class="reference internal" href="#id15" id="id42">0.8.1 / 2010-04-29</a></li>
<li><a class="reference internal" href="#id16" id="id43">0.8.0 / 2010-04-22</a></li>
<li><a class="reference internal" href="#id17" id="id44">0.7.2 / 2010-04-15</a></li>
<li><a class="reference internal" href="#id18" id="id45">0.7.1 / 2010-04-01</a></li>
<li><a class="reference internal" href="#id19" id="id46">0.7.0 / 2010-03-26</a></li>
<li><a class="reference internal" href="#id20" id="id47">0.6.5 / 2010-03-11</a></li>
<li><a class="reference internal" href="#id21" id="id48">0.6.4 / 2010-03-08</a></li>
<li><a class="reference internal" href="#id22" id="id49">0.6.3 / 2010-03-07</a></li>
<li><a class="reference internal" href="#id23" id="id50">0.6.2 / 2010-03-01</a></li>
<li><a class="reference internal" href="#id24" id="id51">0.6.1 / 2010-02-24</a></li>
<li><a class="reference internal" href="#id25" id="id52">0.6 / 2010-02-22</a></li>
<li><a class="reference internal" href="#id26" id="id53">0.5.1 / 2010-02-22</a></li>
<li><a class="reference internal" href="#id27" id="id54">0.5 / 2010-02-20</a></li>
</ul>
</div>
</div>