<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Nginx on Martijn's Notes</title><link>https://vandenboom.online/fr/tags/nginx/</link><description>Recent content in Nginx on Martijn's Notes</description><generator>Hugo</generator><language>fr</language><copyright>Copyright © 2016-2026 van den &lt;span class='bold-rotate'&gt;B&lt;/span&gt;oom. All Rights Reserved.</copyright><lastBuildDate>Wed, 13 Jul 2022 10:30:29 +0800</lastBuildDate><atom:link href="https://vandenboom.online/fr/tags/nginx/index.xml" rel="self" type="application/rss+xml"/><item><title>Construire une image Docker</title><link>https://vandenboom.online/fr/docs/deployment/docker/</link><pubDate>Wed, 13 Jul 2022 10:30:29 +0800</pubDate><guid>https://vandenboom.online/fr/docs/deployment/docker/</guid><description><![CDATA[<p>Cet article détaillera comment créer une image Docker.</p>
<!--plus-->

<h2 id="principe" data-numberify>Principe<a class="anchor ms-1" href="#principe"></a></h2>
<ol>
<li>Utilisez Hugo pour créer le site et générer des fichiers statiques.</li>
<li>Utilisez Nginx comme serveur pour gérer les requêtes.</li>
</ol>

<h2 id="fichier-docker" data-numberify>Fichier Docker<a class="anchor ms-1" href="#fichier-docker"></a></h2>
<p>Créez un <code>Dockerfile</code> à la racine du site.</p>
<div class="highlight" title="Dockerfile"><pre tabindex="0" class="chroma"><code class="language-docker" data-lang="docker"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="c">###############</span><span class="err">
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="c"># Build Stage #</span><span class="err">
</span></span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="c">###############</span><span class="err">
</span></span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="k">FROM</span><span class="w"> </span><span class="s">razonyang/hugo</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="s">builder</span><span class="err">
</span></span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="err">
</span></span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="k">WORKDIR</span><span class="w"> </span><span class="s">/src</span><span class="err">
</span></span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="k">COPY</span> . /src<span class="err">
</span></span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="err">
</span></span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="k">ARG</span> <span class="nv">HUGO_ENV</span><span class="o">=</span>production
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="k">ENV</span> <span class="nv">HUGO_ENV</span><span class="o">=</span><span class="si">${</span><span class="nv">HUGO_ENV</span><span class="si">}</span><span class="err">
</span></span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="err">
</span></span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="c"># Base URL</span><span class="err">
</span></span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="k">ARG</span> <span class="nv">HUGO_BASEURL</span><span class="o">=</span>/<span class="err">
</span></span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="k">ENV</span> <span class="nv">HUGO_BASEURL</span><span class="o">=</span><span class="si">${</span><span class="nv">HUGO_BASEURL</span><span class="si">}</span><span class="err">
</span></span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="err">
</span></span></span><span class="line"><span class="ln">16</span><span class="cl"><span class="c"># Module Proxy</span><span class="err">
</span></span></span><span class="line"><span class="ln">17</span><span class="cl"><span class="k">ARG</span> <span class="nv">HUGO_MODULE_PROXY</span><span class="o">=</span><span class="err">
</span></span></span><span class="line"><span class="ln">18</span><span class="cl"><span class="k">ENV</span> <span class="nv">HUGO_MODULE_PROXY</span><span class="o">=</span><span class="si">${</span><span class="nv">HUGO_MODULE_PROXY</span><span class="si">}</span><span class="err">
</span></span></span><span class="line"><span class="ln">19</span><span class="cl"><span class="err">
</span></span></span><span class="line"><span class="ln">20</span><span class="cl"><span class="c"># NPM mirrors, such as https://registry.npmmirror.com</span><span class="err">
</span></span></span><span class="line"><span class="ln">21</span><span class="cl"><span class="k">ARG</span> <span class="nv">NPM_CONFIG_REGISTRY</span><span class="o">=</span><span class="err">
</span></span></span><span class="line"><span class="ln">22</span><span class="cl"><span class="k">ENV</span> <span class="nv">NPM_CONFIG_REGISTRY</span><span class="o">=</span><span class="si">${</span><span class="nv">NPM_CONFIG_REGISTRY</span><span class="si">}</span><span class="err">
</span></span></span><span class="line"><span class="ln">23</span><span class="cl"><span class="err">
</span></span></span><span class="line"><span class="ln">24</span><span class="cl"><span class="c"># Install dependencies</span><span class="err">
</span></span></span><span class="line"><span class="ln">25</span><span class="cl"><span class="k">RUN</span> npm install<span class="err">
</span></span></span><span class="line"><span class="ln">26</span><span class="cl"><span class="k">RUN</span> npm install -g @fullhuman/postcss-purgecss rtlcss<span class="err">
</span></span></span><span class="line"><span class="ln">27</span><span class="cl"><span class="err">
</span></span></span><span class="line"><span class="ln">28</span><span class="cl"><span class="c"># Build site</span><span class="err">
</span></span></span><span class="line"><span class="ln">29</span><span class="cl"><span class="k">RUN</span> hugo --minify --gc --enableGitInfo<span class="err">
</span></span></span><span class="line"><span class="ln">30</span><span class="cl"><span class="err">
</span></span></span><span class="line"><span class="ln">31</span><span class="cl"><span class="c"># Set the fallback 404 page if defaultContentLanguageInSubdir is enabled, please replace the `en` with your default language code.</span><span class="err">
</span></span></span><span class="line"><span class="ln">32</span><span class="cl"><span class="c"># RUN cp ./public/en/404.html ./public/404.html</span><span class="err">
</span></span></span><span class="line"><span class="ln">33</span><span class="cl"><span class="err">
</span></span></span><span class="line"><span class="ln">34</span><span class="cl"><span class="c">###############</span><span class="err">
</span></span></span><span class="line"><span class="ln">35</span><span class="cl"><span class="c"># Final Stage #</span><span class="err">
</span></span></span><span class="line"><span class="ln">36</span><span class="cl"><span class="c">###############</span><span class="err">
</span></span></span><span class="line"><span class="ln">37</span><span class="cl"><span class="k">FROM</span><span class="w"> </span><span class="s">nginx</span><span class="err">
</span></span></span><span class="line"><span class="ln">38</span><span class="cl"><span class="k">COPY</span> --from<span class="o">=</span>builder /src/public /app<span class="err">
</span></span></span><span class="line"><span class="ln">39</span><span class="cl"><span class="k">COPY</span> deploy/nginx/default.conf /etc/nginx/conf.d/default.conf<span class="err">
</span></span></span></code></pre></div><ul>
<li>La construction comporte deux étapes, une étape de construction et une étape de publication. L&rsquo;étape de publication contient uniquement les fichiers statiques générés, en gardant la taille de l&rsquo;image Docker aussi petite que possible.</li>
<li>Si <code>defaultContentLanguageInSubdir</code> est activé, veuillez le décommenter et le modifier à la demande.</li>
<li>Le paramètre <code>HUGO_BASEURL</code> permet de spécifier le <code>baseURL</code> du site lors du build, et est généralement utilisé lorsque le <code>baseURL</code> est différent de la configuration, vous pouvez donc le supprimer vous-même si vous n&rsquo;en avez pas besoin.</li>
<li><code>HUGO_MODULE_PROXY</code> et <code>NPM_CONFIG_REGISTRY</code> sont des paramètres de construction facultatifs qui peuvent être supprimés s&rsquo;ils ne sont pas nécessaires.</li>
</ul>
<p>##Nginx</p>]]></description></item></channel></rss>