mirror of
https://github.com/frappe/gunicorn.git
synced 2026-01-14 11:09:11 +08:00
186 lines
7.7 KiB
HTML
186 lines
7.7 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<title>Gunicorn - Python WSGI HTTP Server for UNIX</title>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
|
<link rel="stylesheet" type="text/css" href="css/style.css" />
|
|
<link rel="shortcut icon" href="images/favicon.png" type="image/x-icon">
|
|
<link rel="alternate"
|
|
href="https://github.com/benoitc/gunicorn/commits/master.atom"
|
|
type="application/atom+xml" title="Gunicorn commits">
|
|
|
|
</head>
|
|
<body>
|
|
<div class="logo-wrapper">
|
|
<div class="logo-div">
|
|
<div class="latest">
|
|
Latest version: <strong><a
|
|
href="https://docs.gunicorn.org/en/stable/">20.1.0</a></strong>
|
|
</div>
|
|
|
|
<div class="logo"><img src="images/logo.jpg" ></div>
|
|
</div>
|
|
</div>
|
|
<div class="banner-wrapper">
|
|
<div class="banner">
|
|
<div class="title"><img src="images/title.png"></div>
|
|
<h1>Gunicorn 'Green Unicorn' is a Python WSGI HTTP Server for UNIX. It's a pre-fork worker model. The Gunicorn server is broadly compatible with various web frameworks, simply implemented, light on server resources, and fairly speedy.</h1>
|
|
<div class="banner-button">
|
|
<a href="https://github.com/benoitc/gunicorn" title="View source at github" class="greenbutton">View source</a>
|
|
<a href="http://pypi.python.org/pypi/gunicorn/" title="Download from PyPi" class="redbutton">Download</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="mid-wrapper">
|
|
<div class="tabs">
|
|
<ul class="tab-bar">
|
|
<li class="active">
|
|
<a href="#quickstart" title="Quickstart" class="gabout">
|
|
<h2>Quickstart</h2>
|
|
<p>Read the quickstart guide to get started using Gunicorn.</p>
|
|
</a>
|
|
</li>
|
|
<li class="withborder">
|
|
<a href="#deployment" title="Deployment" class="gdownloads">
|
|
<h2>Deployment</h2>
|
|
<p>Learn how to deploy the Gunicorn server.</p>
|
|
</a>
|
|
</li>
|
|
<li class="withborder">
|
|
<a href="#community" title="Community" class="gcommunity">
|
|
<h2>Community</h2>
|
|
<p>Get in touch with the community.</p>
|
|
</a>
|
|
</li>
|
|
<li class="withborder">
|
|
<a href="#docs" title="Documentation" class="gdocuments">
|
|
<h2>Documentation</h2>
|
|
<p>Read the documentation to learn more about Gunicorn.</p>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
<div class="clearall active"></div>
|
|
|
|
<div class="tab-box active" data-tab="quickstart">
|
|
<h1>Installation</h1>
|
|
<p>
|
|
Here's a quick rundown on how to get started with Gunicorn. For more details read the <a href="http://docs.gunicorn.org/en/stable/">documentation</a>.
|
|
</p>
|
|
<pre>
|
|
$ pip install gunicorn
|
|
$ cat myapp.py
|
|
def app(environ, start_response):
|
|
data = b"Hello, World!\n"
|
|
start_response("200 OK", [
|
|
("Content-Type", "text/plain"),
|
|
("Content-Length", str(len(data)))
|
|
])
|
|
return iter([data])
|
|
$ gunicorn -w 4 myapp:app
|
|
[2014-09-10 10:22:28 +0000] [30869] [INFO] Listening at: http://127.0.0.1:8000 (30869)
|
|
[2014-09-10 10:22:28 +0000] [30869] [INFO] Using worker: sync
|
|
[2014-09-10 10:22:28 +0000] [30874] [INFO] Booting worker with pid: 30874
|
|
[2014-09-10 10:22:28 +0000] [30875] [INFO] Booting worker with pid: 30875
|
|
[2014-09-10 10:22:28 +0000] [30876] [INFO] Booting worker with pid: 30876
|
|
[2014-09-10 10:22:28 +0000] [30877] [INFO] Booting worker with pid: 30877
|
|
</pre>
|
|
</div>
|
|
<div class="tab-box" data-tab="deployment">
|
|
<h1>Deployment</h1>
|
|
<p>
|
|
Gunicorn is a WSGI HTTP server. It is best to use Gunicorn behind an HTTP proxy server. We strongly advise you to use <a href="http://www.nginx.org/">nginx</a>.
|
|
</p>
|
|
<p>Here's an example to help you get started with using nginx:</p>
|
|
<pre>
|
|
server {
|
|
listen 80;
|
|
server_name example.org;
|
|
access_log /var/log/nginx/example.log;
|
|
|
|
location / {
|
|
proxy_pass http://127.0.0.1:8000;
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
}
|
|
}
|
|
</pre>
|
|
<p>Nginx is set up as reverse proxy server to a Gunicorn server running on localhost port 8000.</p>
|
|
<p>Read the full documentation at <a
|
|
href="http://docs.gunicorn.org/en/latest/deploy.html">docs.gunicorn.org</a></p>
|
|
</div>
|
|
<div class="tab-box" data-tab="community">
|
|
<h1>Project Management</h1>
|
|
<p><strong>Gunicorn</strong> uses <a href="https://github.com/benoitc/gunicorn/projects">GitHub for the project management</a>. GitHub issues are used for 3 different purposes:</p>
|
|
<ul>
|
|
<li><a href="https://github.com/benoitc/gunicorn/projects/2">Bug tracker</a></li>
|
|
<li><a href="https://github.com/benoitc/gunicorn/projects/4">Forum</a></li>
|
|
<li><a href="https://github.com/benoitc/gunicorn/projects/3">Mailing list</a>
|
|
</ul>
|
|
<p>Project maintenance guidelines are available on the <a href="https://github.com/benoitc/gunicorn/wiki/Project-management">wiki</a></p>
|
|
|
|
<h1>IRC</h1>
|
|
<p>The Gunicorn channel is on the <a href="https://libera.chat/">Libera Chat</a> IRC
|
|
network. You can chat with the community on the <a href="https://web.libera.chat/?channels=#gunicorn">#gunicorn channel</a>.</p>
|
|
|
|
<h1>Issue Tracking</h1>
|
|
<p>Bug reports, enhancement requests and tasks generally go in the <a href="http://github.com/benoitc/gunicorn/issues">Github
|
|
issue tracker</a>.</p>
|
|
|
|
<h1>Security Issues</h1>
|
|
<p>The security mailing list is a place to report security issues. Only
|
|
developers are subscribed to it. To post a message to the list use the
|
|
address <a href="mailto:security@gunicorn.org">security@gunicorn.org</a></p>
|
|
|
|
</div>
|
|
<div class="tab-box" data-tab="docs">
|
|
<h1>Documentation</h1>
|
|
<p>You can read more comprehensive documentation at <a href="http://docs.gunicorn.org">docs.gunicorn.org</a>.</p>
|
|
<p>The contents are:</p>
|
|
<ul>
|
|
<li><a href="http://docs.gunicorn.org/en/latest/install.html">Installation</a></li>
|
|
<li><a
|
|
href="http://docs.gunicorn.org/en/latest/run.html">Running
|
|
Gunicorn</a></li>
|
|
<li><a
|
|
href="http://docs.gunicorn.org/en/latest/configure.html">Configuration
|
|
Overview</a></li>
|
|
<li><a href="http://docs.gunicorn.org/en/latest/deploy.html">Deploying Gunicorn</a></li>
|
|
<li><a href="http://docs.gunicorn.org/en/latest/design.html">Design</a></li>
|
|
<li><a href="http://docs.gunicorn.org/en/latest/faq.html">FAQ</a></li>
|
|
<li><a href="http://docs.gunicorn.org/en/latest/news.html">Changelog</a></li>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- <div class="user-wrapper">
|
|
<div class="users">
|
|
<div class="left-details">
|
|
<h3>Who is using</h3>
|
|
<h2>Gunicorn</h2>
|
|
</div>
|
|
<div class="company-logos">
|
|
<a href="#"><img src="images/user1.jpg"></a>
|
|
<a href="#"><img src="images/user1.jpg"></a>
|
|
<a href="#"><img src="images/user1.jpg"></a>
|
|
<a href="#"><img src="images/user1.jpg"></a>
|
|
<a href="#"><img src="images/user1.jpg"></a>
|
|
<a href="#"><img src="images/user1.jpg"></a>
|
|
</div>
|
|
<div class="clearall"></div>
|
|
</div>
|
|
</div> -->
|
|
|
|
<div class="footer">
|
|
<div class="footer-wp">
|
|
This open sourced site is hosted on GitHub. <br>
|
|
<a href="http://github.com/benoitc/gunicorn/issues">Patches, suggestions, and comments are welcome.</a>
|
|
</div>
|
|
</div>
|
|
|
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
|
|
<script src="js/main.js"></script>
|
|
</body>
|
|
</html>
|