0bin/docs/.build/html/fr/nginx_install.html

219 lines
8.9 KiB
HTML

<!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>Installation avec Nginx &mdash; 0bin 0.1 documentation</title>
<link rel="stylesheet" href="../_static/classic.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.1',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</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="top" title="0bin 0.1 documentation" href="../index.html" />
<link rel="next" title="Utiliser supervisor" href="using_supervisor.html" />
<link rel="prev" title="Installation avec Apache" href="apache_install.html" />
</head>
<body role="document">
<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="using_supervisor.html" title="Utiliser supervisor"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="apache_install.html" title="Installation avec Apache"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">0bin 0.1 documentation</a> &raquo;</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="installation-avec-nginx">
<h1>Installation avec Nginx<a class="headerlink" href="#installation-avec-nginx" title="Permalink to this headline"></a></h1>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">Vous devez avoir suivi <a class="reference internal" href="easy_install.html"><em>l&#8217;installation facile</em></a> avant.</p>
</div>
<p>Nginx est un choix très populaire pour servir un projet Python:</p>
<ul class="simple">
<li>Il est rapide.</li>
<li>Il est léger.</li>
<li>Les fichiers de configuration sont très simple.</li>
</ul>
<p>Si vous avez votre propre serveur, c&#8217;est le meilleur choix. Dans le cas contraire,
essayez <a class="reference internal" href="easy_install.html"><em>l&#8217;installation la plus simple</em></a>,
ou avec <a class="reference internal" href="apache_install.html"><em>Apache</em></a>.</p>
<p>Nginx ne lance aucun processus Python, il sert uniquement les requêtes
depuis l&#8217;extérieur vers le server Python.</p>
<p>Il y a donc deux étapes:</p>
<ul class="simple">
<li>Faire tourner le processus Python.</li>
<li>Faire tourner Nginx.</li>
</ul>
<p>Ainsi, vous bénéficierez:</p>
<ul class="simple">
<li>de la possibilité d&#8217;avoir plusieurs projets écoutant sur le prot 80;</li>
<li>de plusieurs modules Nginx à votre disposition (comme la limitation
du nombre de requêtes);</li>
<li>de la solidité de Nginx en front end: il est sécurité, et il y a peu de chance
qu&#8217;il crash sous une forte charge;</li>
<li>les processus de votre site ne tournent pas avec les droits admin, même si
&#8211;user ne fonctionne pas sur votre OS;</li>
<li>de la capacité de gérer un processus Python sans toucher Nginx ou les autres
processus. C&#8217;est très pratique pour les mises à jour.</li>
</ul>
<div class="section" id="processus-python">
<h2>Processus Python<a class="headerlink" href="#processus-python" title="Permalink to this headline"></a></h2>
<p>Lancez 0bin comme d&#8217;habitude, mais cette fois pour écouter sur un host et un port
local. Ex</p>
<div class="highlight-python"><div class="highlight"><pre>zerobin --host 127.0.0.1 --port 8000
</pre></div>
</div>
<p>En PHP, quand on édite un fichier, la modificiation est visible immédiatement.
En Python, l&#8217;intégralité du code est chargé en mémoire pour des raisons de
performance. Pour cette raison, il faut redémarrer le processus Python pour voir
les changement prendre effet. Avoir un processus séparé permet de le faire
sans avoir à redémarer le serveur.</p>
</div>
<div class="section" id="nginx">
<h2>Nginx<a class="headerlink" href="#nginx" title="Permalink to this headline"></a></h2>
<p>Nginx peut être installé avec votre gestionnaire de paquets habituels, donc
nous ne couvrirons pas cette partie.</p>
<p>Vous devez créer une fichier de configuration Nginx pour 0bin. Sous GNU/Linux,
on les mets en général dans /etc/nginx/conf.d/. Nommez le zerobin.conf.</p>
<p>Le fichier de configuration minimal pour faire tourner le site est:</p>
<div class="highlight-python"><div class="highlight"><pre>server {
listen 80;
server_name www.votresiteweb.com;
location / {
proxy_pass http://127.0.0.1:8000;
}
}
</pre></div>
</div>
<p><cite>proxy_pass</cite> transmet les requêtes aux processus Python. Bien entendu le
port doit correspondre à celui utilisé par 0bin.</p>
<p>On peut apporter plusieurs améliorations à l&#8217;expérience utilisateur:</p>
<div class="highlight-python"><div class="highlight"><pre>server {
listen 80;
server_name www.votresiteweb.com;
location /favicon.ico {
root /chemin/vers/zerobin/static/img;
}
location /static/ {
root /chemin/vers/zerobin;
gzip on;
gzip_http_version 1.0;
gzip_vary on;
gzip_comp_level 6;
gzip_proxied any;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
gzip_buffers 16 8k;
# Disable gzip for certain browsers.
gzip_disable ~@~\MSIE [1-6].(?!.*SV1)~@~];
expires modified +90d;
}
location / {
proxy_pass http://zerobin_cherrypy;
}
}
</pre></div>
</div>
<p>Nginx sert maintenant le favicon ainsi que les fichiers statiques,
on a ajouté une date d&#8217;expiration dans les en-têtes HTTP
et on s&#8217;assure que la compression gzip est utilisée pour les navigateurs
qui la supporte.</p>
</div>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<h3><a href="../index.html">Table Of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Installation avec Nginx</a><ul>
<li><a class="reference internal" href="#processus-python">Processus Python</a></li>
<li><a class="reference internal" href="#nginx">Nginx</a></li>
</ul>
</li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="apache_install.html"
title="previous chapter">Installation avec Apache</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="using_supervisor.html"
title="next chapter">Utiliser supervisor</a></p>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/fr/nginx_install.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">
<input type="text" name="q" />
<input type="submit" value="Go" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
<p class="searchtip" style="font-size: 90%">
Enter search terms or a module, class or function name.
</p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<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"
>index</a></li>
<li class="right" >
<a href="using_supervisor.html" title="Utiliser supervisor"
>next</a> |</li>
<li class="right" >
<a href="apache_install.html" title="Installation avec Apache"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">0bin 0.1 documentation</a> &raquo;</li>
</ul>
</div>
<div class="footer" role="contentinfo">
&copy; Copyright 2012, Sam et Max.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.1.
</div>
</body>
</html>