麽麽潴潴 發表於 2025-5-8 09:53:00

宝塔面板如何在同一域名下添加多个网站(子目录或子域名部署)

<table>
<tbody>
<tr>
<td>宝塔同域名建站</td>
<td>在宝塔中,一个域名可以用于部署多个网站,通过子目录、子域名或反向代理实现。</td>
</tr>
<tr>
<td>子目录部署</td>
<td>通过配置Nginx规则,将同一域名的不同路径指向不同的网站程序目录。</td>
</tr>
<tr>
<td>子域名绑定</td>
<td>为不同项目分配子域名(如&nbsp;<code>blog.example.com</code>、<code>admin.example.com</code>),共用主域名解析。</td>
</tr>
<tr>
<td>网站多项目部署</td>
<td>实现一个服务器上运行多个网站项目,适用于企业官网+商城+后台等场景。</td>
</tr>
<tr>
<td>Nginx配置</td>
<td>修改站点的Nginx配置文件,设置location匹配规则或代理转发,实现多站点共存。</td>
</tr>
<tr>
<td>反向代理</td>
<td>利用反向代理功能将请求转发到本地不同端口运行的网站程序,实现多项目共享域名访问。</td>
</tr>
</tbody>
</table>
<hr>
<h3>常见方案与操作步骤说明</h3>
<h4>✅ 方案一:使用子目录部署多个网站</h4>
<blockquote>
<p><strong>适用场景</strong>:想通过同一个域名访问多个项目,例如:</p>
</blockquote>
<ul>
<li><code>https://www.example.com/</code></li>
<li><code>https://www.example.com/blog</code></li>
<li><code>https://www.example.com/admin</code></li>
</ul>
<h5>操作步骤:</h5>
<ol>
<li>
<p><strong>创建主网站</strong></p>
<ul>
<li>登录宝塔 → 【网站】→【添加站点】</li>
<li>添加域名&nbsp;<code>www.example.com</code></li>
<li>根目录设为&nbsp;<code>/www/wwwroot/example</code></li>
</ul>
</li>
<li>
<p><strong>上传多个项目</strong></p>
<ul>
<li>将不同项目分别放在子目录中,例如:
<ul>
<li>主页:<code>/www/wwwroot/example/index.php</code></li>
<li>博客:<code>/www/wwwroot/example/blog/index.php</code></li>
<li>后台:<code>/www/wwwroot/example/admin/index.php</code></li>
</ul>
</li>
</ul>
</li>
<li>
<p><strong>配置伪静态(可选)</strong></p>
<ul>
<li>若有URL重写需求(如ThinkPHP),在宝塔中为每个子目录配置伪静态规则。</li>
</ul>
</li>
<li>
<p><strong>访问测试</strong></p>
<ul>
<li>浏览器输入:
<ul>
<li><code>http://www.example.com</code>&nbsp;→ 主页</li>
<li><code>http://www.example.com/blog</code>&nbsp;→ 博客</li>
<li><code>http://www.example.com/admin</code>&nbsp;→ 后台</li>
</ul>
</li>
</ul>
</li>
</ol>
<hr>
<h4>✅ 方案二:使用子域名绑定多个网站</h4>
<blockquote>
<p><strong>适用场景</strong>:将不同项目部署为子域名,例如:</p>
</blockquote>
<ul>
<li><code>https://www.example.com/</code>(主页)</li>
<li><code>https://blog.example.com/</code>(博客)</li>
<li><code>https://admin.example.com/</code>(后台)</li>
</ul>
<h5>操作步骤:</h5>
<ol>
<li>
<p><strong>域名解析</strong></p>
<ul>
<li>在域名服务商后台添加A记录:
<ul>
<li><code>@</code>&nbsp;→ 解析到服务器IP(对应&nbsp;<code>www.example.com</code>)</li>
<li><code>blog</code>&nbsp;→ 解析到服务器IP(对应&nbsp;<code>blog.example.com</code>)</li>
<li><code>admin</code>&nbsp;→ 解析到服务器IP(对应&nbsp;<code>admin.example.com</code>)</li>
</ul>
</li>
</ul>
</li>
<li>
<p><strong>添加多个站点</strong></p>
<ul>
<li>登录宝塔 → 【网站】→【添加站点】</li>
<li>分别添加:
<ul>
<li><code>www.example.com</code></li>
<li><code>blog.example.com</code></li>
<li><code>admin.example.com</code></li>
</ul>
</li>
<li>每个站点指向各自的网站根目录</li>
</ul>
</li>
<li>
<p><strong>配置SSL证书(可选)</strong></p>
<ul>
<li>如果启用HTTPS,分别为每个子域名申请或绑定SSL证书</li>
</ul>
</li>
<li>
<p><strong>访问测试</strong></p>
<ul>
<li>浏览器分别访问不同子域名,即可打开不同网站项目</li>
</ul>
</li>
</ol>
<hr>
<h4>✅ 方案三:使用反向代理部署多个项目(高级)</h4>
<blockquote>
<p><strong>适用场景</strong>:多个项目运行在不同端口,但希望统一通过一个域名访问,例如:</p>
</blockquote>
<ul>
<li><code>https://example.com/api</code>&nbsp;→ 转发到本地9000端口</li>
<li><code>https://example.com/web</code>&nbsp;→ 转发到本地8080端口</li>
</ul>
<h5>操作步骤:</h5>
<ol>
<li>
<p><strong>启动多个Web服务</strong></p>
<ul>
<li>例如:
<ul>
<li>Node.js项目运行在&nbsp;<code>localhost:3000</code></li>
<li>Python项目运行在&nbsp;<code>localhost:5000</code></li>
</ul>
</li>
</ul>
</li>
<li>
<p><strong>添加主站点</strong></p>
<ul>
<li>创建站点:<code>example.com</code></li>
<li>不需要上传网页文件</li>
</ul>
</li>
<li>
<p><strong>开启反向代理</strong></p>
<ul>
<li>登录宝塔 → 【网站】→【设置】→【反向代理】</li>
<li>添加代理规则:
<ul>
<li>名称:API代理</li>
<li>目标URL:<code>http://127.0.0.1:3000</code></li>
<li>发送域名:<code>$host</code></li>
<li>高级设置中添加规则:
<div class="answer-code-wrap">
<div class="answer-code-wrap-header">
<div class="answer-code-wrap-header-left">nginx</div>
<div class="answer-code-wrap-header-right">&nbsp;</div>
</div>
<div class="answer-code-wrap-body"><code class="language-nginx"><span class="token directive">location</span><span class="token directive"> /api</span> <span class="token">{</span>
    <span class="token directive">proxy_pass</span><span class="token directive"> http://127.0.0.1:3000</span><span class="token">;</span>
<span class="token">}</span></code></div>
</div>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p><strong>添加第二个代理(如需)</strong></p>
<ul>
<li>类似地添加&nbsp;<code>/web</code>&nbsp;路径代理到其他端口</li>
</ul>
</li>
<li>
<p><strong>访问测试</strong></p>
<ul>
<li>浏览器访问:
<ul>
<li><code>http://example.com/api</code>&nbsp;→ Node.js项目</li>
<li><code>http://example.com/web</code>&nbsp;→ Python项目</li>
</ul>
</li>
</ul>
</li>
</ol>
<hr>
<h3>总结</h3>
<p>在宝塔面板中,<strong>一个域名可以部署多个网站项目</strong>,常用方法包括:</p>
<ul>
<li><strong>子目录部署</strong>:适合结构简单、路径清晰的项目,只需配置好文件路径。</li>
<li><strong>子域名绑定</strong>:适合区分明显、独立性强的项目(如主页 + 博客 + 后台)。</li>
<li><strong>反向代理部署</strong>:适合多语言/多框架混合项目,灵活但需要一定配置经验。</li>
</ul>
<p>根据实际需求选择合适的部署方式,可以高效利用服务器资源并简化运维流程。建议定期备份配置文件,避免误操作导致访问异常。</p>

</div>
<div id="MySignature" role="contentinfo">
    <div style="text-align:center;">
<p><img style="max-width:200px;" src="https://img2024.cnblogs.com/blog/3627091/202504/3627091-20250401160219485-64916935.jpg" alt="image" loading="lazy"></p>
<p><b>扫码添加技术<span style="color:red;">【解决问题】</span></b></p>
<p><span style="color:red;line-height:30px;">专注网站运营、网站安全十余年。</span></p>
<p><span style="color:#111;line-height:30px;">专业解决各种疑难杂症,您有任何网站问题都可联系我们技术人员。</span></p>
<p>本文来自博客园,作者:Henry王,转载请注明原文链接:https://www.cnblogs.com/heneryw/p/18865704</p>
</div><br><br>
来源:https://www.cnblogs.com/heneryw/p/18865704
頁: [1]
查看完整版本: 宝塔面板如何在同一域名下添加多个网站(子目录或子域名部署)