<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>反向代理 on JiangYM's Blog</title><link>https://jiangym.top/tags/%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86/</link><description>Recent content from JiangYM's Blog</description><generator>Hugo</generator><language>zh-cn</language><managingEditor>xxx@example.com (JiangYM)</managingEditor><webMaster>xxx@example.com (JiangYM)</webMaster><copyright>本博客所有文章除特别声明外，均采用 BY-NC-SA 许可协议。转载请注明出处！</copyright><lastBuildDate>Tue, 11 Aug 2026 14:00:00 +0800</lastBuildDate><atom:link href="https://jiangym.top/tags/%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86/index.xml" rel="self" type="application/rss+xml"/><item><title>用 Nginx Proxy Manager 轻松管理反向代理和 HTTPS</title><link>https://jiangym.top/post/nginx-proxy-manager-guide/</link><pubDate>Tue, 11 Aug 2026 14:00:00 +0800</pubDate><author>xxx@example.com (JiangYM)</author><guid>https://jiangym.top/post/nginx-proxy-manager-guide/</guid><description>
<![CDATA[<h1>用 Nginx Proxy Manager 轻松管理反向代理和 HTTPS</h1><p>作者：JiangYM（xxx@example.com）</p>
        
          <h2 id="什么是-nginx-proxy-manager">
<a class="header-anchor" href="#%e4%bb%80%e4%b9%88%e6%98%af-nginx-proxy-manager"></a>
什么是 Nginx Proxy Manager？
</h2><p><strong>Nginx Proxy Manager</strong>（简称 NPM）是一个基于 Nginx 的图形化反向代理管理工具，用 Docker 一键部署，让你通过 Web 界面管理代理主机和 SSL 证书，不用再手写复杂的 Nginx 配置。</p>
<h3 id="为什么用它">
<a class="header-anchor" href="#%e4%b8%ba%e4%bb%80%e4%b9%88%e7%94%a8%e5%ae%83"></a>
为什么用它？
</h3><ul>
<li>🖥️ <strong>图形化界面</strong>：点几下就配好反代</li>
<li>🔐 <strong>自动 HTTPS</strong>：自动申请和续期 Let&rsquo;s Encrypt 证书</li>
<li>🐳 <strong>Docker 部署</strong>：一条命令启动</li>
<li>📊 <strong>访问统计</strong>：内置流量和错误日志</li>
<li>👥 <strong>多用户</strong>：支持多用户权限管理</li>
<li>🔧 <strong>高级配置</strong>：支持自定义 Nginx 配置、Access List</li>
</ul>
<hr>
<h2 id="docker-部署">
<a class="header-anchor" href="#docker-%e9%83%a8%e7%bd%b2"></a>
Docker 部署
</h2><h3 id="docker-compose-部署">
<a class="header-anchor" href="#docker-compose-%e9%83%a8%e7%bd%b2"></a>
docker-compose 部署
</h3><p>创建 <code>docker-compose.yml</code>：</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-yaml" data-lang="yaml"><span class="line"><span class="cl"><span class="nt">version</span><span class="p">:</span><span class="w"> </span><span class="s1">&#39;3.8&#39;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">services</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">  </span><span class="nt">app</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="s1">&#39;jc21/nginx-proxy-manager:latest&#39;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">restart</span><span class="p">:</span><span class="w"> </span><span class="l">unless-stopped</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">ports</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">      </span>- <span class="s1">&#39;80:80&#39;</span><span class="w">     </span><span class="c"># HTTP</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">      </span>- <span class="s1">&#39;443:443&#39;</span><span class="w">   </span><span class="c"># HTTPS</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">      </span>- <span class="s1">&#39;81:81&#39;</span><span class="w">     </span><span class="c"># 管理面板</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">volumes</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">      </span>- <span class="l">./data:/data</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">      </span>- <span class="l">./letsencrypt:/etc/letsencrypt</span><span class="w">
</span></span></span></code></pre></td></tr></table>
</div>
</div><p>启动：</p>
        
        <hr><p>本文2026-08-11首发于<a href='https://jiangym.top/'>JiangYM's Blog</a>，最后修改于2026-08-11</p>]]></description><category>运维</category></item><item><title>Nginx 配置速查：从基础到进阶常用配置</title><link>https://jiangym.top/post/nginx-config-cheatsheet/</link><pubDate>Wed, 05 Aug 2026 12:00:00 +0800</pubDate><author>xxx@example.com (JiangYM)</author><guid>https://jiangym.top/post/nginx-config-cheatsheet/</guid><description>
<![CDATA[<h1>Nginx 配置速查：从基础到进阶常用配置</h1><p>作者：JiangYM（xxx@example.com）</p>
        
          <h2 id="前言">
<a class="header-anchor" href="#%e5%89%8d%e8%a8%80"></a>
前言
</h2><p>Nginx 是目前最流行的 Web 服务器和反向代理工具，性能高、配置灵活。本文整理了实际开发中最高频用到的配置，按场景分类，方便查阅。</p>
<hr>
<h2 id="一基础配置">
<a class="header-anchor" href="#%e4%b8%80%e5%9f%ba%e7%a1%80%e9%85%8d%e7%bd%ae"></a>
一、基础配置
</h2><h3 id="主配置文件结构">
<a class="header-anchor" href="#%e4%b8%bb%e9%85%8d%e7%bd%ae%e6%96%87%e4%bb%b6%e7%bb%93%e6%9e%84"></a>
主配置文件结构
</h3><pre tabindex="0"><code>/etc/nginx/
├── nginx.conf          # 主配置
├── sites-available/    # 可用站点
└── sites-enabled/      # 已启用站点（软链接）
</code></pre><h3 id="检查配置和重载">
<a class="header-anchor" href="#%e6%a3%80%e6%9f%a5%e9%85%8d%e7%bd%ae%e5%92%8c%e9%87%8d%e8%bd%bd"></a>
检查配置和重载
</h3><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># 检查配置语法</span>
</span></span><span class="line"><span class="cl">nginx -t
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 平滑重载（不中断服务）</span>
</span></span><span class="line"><span class="cl">nginx -s reload
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 重启</span>
</span></span><span class="line"><span class="cl">systemctl restart nginx
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 查看状态</span>
</span></span><span class="line"><span class="cl">systemctl status nginx
</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="最简单的静态站点">
<a class="header-anchor" href="#%e6%9c%80%e7%ae%80%e5%8d%95%e7%9a%84%e9%9d%99%e6%80%81%e7%ab%99%e7%82%b9"></a>
最简单的静态站点
</h3><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-nginx" data-lang="nginx"><span class="line"><span class="cl"><span class="k">server</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="kn">listen</span> <span class="mi">80</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">    <span class="kn">server_name</span> <span class="s">example.com</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">    <span class="kn">root</span> <span class="s">/var/www/html</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">    <span class="kn">index</span> <span class="s">index.html</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="kn">location</span> <span class="s">/</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">        <span class="kn">try_files</span> <span class="nv">$uri</span> <span class="nv">$uri/</span> <span class="p">=</span><span class="mi">404</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">    <span class="p">}</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>启用站点：</p>
        
        <hr><p>本文2026-08-05首发于<a href='https://jiangym.top/'>JiangYM's Blog</a>，最后修改于2026-08-05</p>]]></description><category>运维</category></item></channel></rss>