/usr/share/doc/python-werkzeug-doc/html/deployment/mod_wsgi.html is in python-werkzeug-doc 0.14.1+dfsg1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>mod_wsgi (Apache) — Werkzeug 0.14.1 documentation</title>
<link rel="stylesheet" href="../_static/werkzeug.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../',
VERSION: '0.14.1',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt'
};
</script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="FastCGI" href="fastcgi.html" />
<link rel="prev" title="CGI" href="cgi.html" />
</head>
<body>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="fastcgi.html" title="FastCGI"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="cgi.html" title="CGI"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Werkzeug 0.14.1 documentation</a> »</li>
<li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Application Deployment</a> »</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="mod-wsgi-apache">
<h1><cite>mod_wsgi</cite> (Apache)<a class="headerlink" href="#mod-wsgi-apache" title="Permalink to this headline">¶</a></h1>
<p>If you are using the <a class="reference external" href="http://httpd.apache.org/">Apache</a> webserver you should consider using <a class="reference external" href="http://code.google.com/p/modwsgi/">mod_wsgi</a>.</p>
<div class="section" id="installing-mod-wsgi">
<h2>Installing <cite>mod_wsgi</cite><a class="headerlink" href="#installing-mod-wsgi" title="Permalink to this headline">¶</a></h2>
<p>If you don’t have <cite>mod_wsgi</cite> installed yet you have to either install it using
a package manager or compile it yourself.</p>
<p>The mod_wsgi <a class="reference external" href="http://code.google.com/p/modwsgi/wiki/QuickInstallationGuide">installation instructions</a> cover installation instructions for
source installations on UNIX systems.</p>
<p>If you are using ubuntu / debian you can apt-get it and activate it as follows:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="c1"># apt-get install libapache2-mod-wsgi</span>
</pre></div>
</div>
<p>On FreeBSD install <cite>mod_wsgi</cite> by compiling the <cite>www/mod_wsgi</cite> port or by using
pkg_add:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="c1"># pkg_add -r mod_wsgi</span>
</pre></div>
</div>
<p>If you are using pkgsrc you can install <cite>mod_wsgi</cite> by compiling the
<cite>www/ap2-wsgi</cite> package.</p>
<p>If you encounter segfaulting child processes after the first apache reload you
can safely ignore them. Just restart the server.</p>
</div>
<div class="section" id="creating-a-wsgi-file">
<h2>Creating a <cite>.wsgi</cite> file<a class="headerlink" href="#creating-a-wsgi-file" title="Permalink to this headline">¶</a></h2>
<p>To run your application you need a <cite>yourapplication.wsgi</cite> file. This file
contains the code <cite>mod_wsgi</cite> is executing on startup to get the application
object. The object called <cite>application</cite> in that file is then used as
application.</p>
<p>For most applications the following file should be sufficient:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">yourapplication</span> <span class="k">import</span> <span class="n">make_app</span>
<span class="n">application</span> <span class="o">=</span> <span class="n">make_app</span><span class="p">()</span>
</pre></div>
</div>
<p>If you don’t have a factory function for application creation but a singleton
instance you can directly import that one as <cite>application</cite>.</p>
<p>Store that file somewhere where you will find it again (eg:
<cite>/var/www/yourapplication</cite>) and make sure that <cite>yourapplication</cite> and all
the libraries that are in use are on the python load path. If you don’t
want to install it system wide consider using a <a class="reference external" href="http://pypi.python.org/pypi/virtualenv">virtual python</a> instance.</p>
</div>
<div class="section" id="configuring-apache">
<h2>Configuring Apache<a class="headerlink" href="#configuring-apache" title="Permalink to this headline">¶</a></h2>
<p>The last thing you have to do is to create an Apache configuration file for
your application. In this example we are telling <cite>mod_wsgi</cite> to execute the
application under a different user for security reasons:</p>
<div class="highlight-apache"><div class="highlight"><pre><span></span><span class="nt"><VirtualHost</span> <span class="s">*</span><span class="nt">></span>
<span class="nb">ServerName</span> example.com
<span class="nb">WSGIDaemonProcess</span> yourapplication <span class="k">user</span>=user1 <span class="k">group</span>=group1 processes=2 threads=5
<span class="nb">WSGIScriptAlias</span> / <span class="sx">/var/www/yourapplication/yourapplication.wsgi</span>
<span class="nt"><Directory</span> <span class="s">/var/www/yourapplication</span><span class="nt">></span>
<span class="nb">WSGIProcessGroup</span> yourapplication
<span class="nb">WSGIApplicationGroup</span> %{GLOBAL}
<span class="nb">Order</span> deny,allow
<span class="nb">Allow</span> from <span class="k">all</span>
<span class="nt"></Directory></span>
<span class="nt"></VirtualHost></span>
</pre></div>
</div>
<p>For more information consult the <a class="reference external" href="http://code.google.com/p/modwsgi/wiki/">mod_wsgi wiki</a>.</p>
</div>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper"><p class="logo"><a href="../index.html">
<img class="logo" src="../_static/werkzeug.png" alt="Logo"/>
</a></p>
<h3><a href="../index.html">Table Of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#"><cite>mod_wsgi</cite> (Apache)</a><ul>
<li><a class="reference internal" href="#installing-mod-wsgi">Installing <cite>mod_wsgi</cite></a></li>
<li><a class="reference internal" href="#creating-a-wsgi-file">Creating a <cite>.wsgi</cite> file</a></li>
<li><a class="reference internal" href="#configuring-apache">Configuring Apache</a></li>
</ul>
</li>
</ul>
<h3>Related Topics</h3>
<ul>
<li><a href="../index.html">Documentation overview</a><ul>
<li><a href="index.html">Application Deployment</a><ul>
<li>Previous: <a href="cgi.html" title="previous chapter">CGI</a></li>
<li>Next: <a href="fastcgi.html" title="next chapter">FastCGI</a></li>
</ul></li>
</ul></li>
</ul>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/deployment/mod_wsgi.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
<div><input type="text" name="q" /></div>
<div><input type="submit" value="Go" /></div>
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="footer">
© Copyright 2018, The Werkzeug Team.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a>.
</div>
</body>
</html>
|