Files
rxthinkcmf-wiki/RXThinkCMF_Laravel13_NaiveVue/.vitepress/dist/assets/zh_deploy_env-plan.md.BNyeiZJf.js
T
2026-10-11 19:06:33 +08:00

28 lines
9.1 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import{_ as a,o as s,c as n,a2 as e}from"./chunks/framework.BbmSSMjL.js";const u=JSON.parse('{"title":"11.2 环境规划","description":"","frontmatter":{},"headers":[],"relativePath":"zh/deploy/env-plan.md","filePath":"zh/deploy/env-plan.md"}'),d={name:"zh/deploy/env-plan.md"};function p(i,t,l,o,r,c){return s(),n("div",null,[...t[0]||(t[0]=[e(`<h1 id="_11-2-环境规划" tabindex="-1">11.2 环境规划 <a class="header-anchor" href="#_11-2-环境规划" aria-label="Permalink to &quot;11.2 环境规划&quot;">​</a></h1><div class="tip custom-block"><p class="custom-block-title">概述</p><p>本节提供不同规模项目的服务器配置建议和环境规划方案。</p></div><h2 id="推荐配置" tabindex="-1">推荐配置 <a class="header-anchor" href="#推荐配置" aria-label="Permalink to &quot;推荐配置&quot;">​</a></h2><table tabindex="0"><thead><tr><th>组件</th><th>版本</th><th>说明</th></tr></thead><tbody><tr><td>PHP</td><td>8.3+</td><td>必需(Laravel 13 要求)</td></tr><tr><td>Laravel</td><td>13.x</td><td>后端框架</td></tr><tr><td>MySQL</td><td>8.0+</td><td>主数据库(也支持 PostgreSQL、SQL Server、Oracle、SQLite)</td></tr><tr><td>Redis</td><td>6.0+</td><td>缓存 / 会话 / 队列 / JWT 会话存储(<strong>必需</strong>,phpredis 扩展)</td></tr><tr><td>Nginx</td><td>1.18+</td><td>Web 服务器</td></tr><tr><td>Node.js</td><td>18+(建议 22 LTS)</td><td>前端构建(<code>ui/</code> 为 Vite 3;根目录资源构建为 Vite 7)</td></tr><tr><td>Composer</td><td>2.x</td><td>PHP 依赖</td></tr><tr><td>pnpm</td><td>9+</td><td>前端依赖(<code>ui/</code> 目录,含 pnpm-lock.yaml)</td></tr></tbody></table><div class="warning custom-block"><p class="custom-block-title">Redis 为强依赖</p><p>本项目 <code>.env.example</code> 默认 <code>SESSION_DRIVER=redis</code>、<code>CACHE_STORE=redis</code>、<code>QUEUE_CONNECTION=redis</code>、<code>REDIS_CLIENT=phpredis</code>,JWT 双令牌也依赖 Redis。生产环境必须部署 Redis,否则无法登录、无法缓存、队列不可用。</p></div><h2 id="服务器配置建议" tabindex="-1">服务器配置建议 <a class="header-anchor" href="#服务器配置建议" aria-label="Permalink to &quot;服务器配置建议&quot;">​</a></h2><table tabindex="0"><thead><tr><th>规模</th><th>CPU</th><th>内存</th><th>磁盘</th><th>说明</th></tr></thead><tbody><tr><td>小型</td><td>2核</td><td>4GB</td><td>50GB</td><td>单机部署,日活 &lt; 1000(数据库初始化导入约 226MB,建议 ≥4GB)</td></tr><tr><td>中型</td><td>4核</td><td>8GB</td><td>100GB</td><td>单机部署,日活 1000~10000</td></tr><tr><td>大型</td><td>8核+</td><td>16GB+</td><td>200GB+</td><td>分离部署,日活 &gt; 10000</td></tr></tbody></table><h2 id="部署架构" tabindex="-1">部署架构 <a class="header-anchor" href="#部署架构" aria-label="Permalink to &quot;部署架构&quot;">​</a></h2><h3 id="小型项目-单机-" tabindex="-1">小型项目(单机) <a class="header-anchor" href="#小型项目-单机-" aria-label="Permalink to &quot;小型项目(单机)&quot;">​</a></h3><div class="language-text vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">text</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span>┌─────────────────────────────┐</span></span>
<span class="line"><span>│ 单台服务器 │</span></span>
<span class="line"><span>│ │</span></span>
<span class="line"><span>│ Nginx + PHP-FPM + MySQL │</span></span>
<span class="line"><span>│ + Redis(必需) │</span></span>
<span class="line"><span>│ + 前端静态文件 │</span></span>
<span class="line"><span>└─────────────────────────────┘</span></span></code></pre></div><h3 id="中型项目-单机优化-" tabindex="-1">中型项目(单机优化) <a class="header-anchor" href="#中型项目-单机优化-" aria-label="Permalink to &quot;中型项目(单机优化)&quot;">​</a></h3><div class="language-text vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">text</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span>┌─────────────────────────────┐</span></span>
<span class="line"><span>│ 单台服务器 │</span></span>
<span class="line"><span>│ │</span></span>
<span class="line"><span>│ Nginx(前端 + API 代理) │</span></span>
<span class="line"><span>│ PHP-FPM(多进程) │</span></span>
<span class="line"><span>│ MySQL(主库) │</span></span>
<span class="line"><span>│ Redis(缓存/队列) │</span></span>
<span class="line"><span>│ Supervisor(队列/守护进程) │</span></span>
<span class="line"><span>└─────────────────────────────┘</span></span></code></pre></div><h3 id="大型项目-分离部署-" tabindex="-1">大型项目(分离部署) <a class="header-anchor" href="#大型项目-分离部署-" aria-label="Permalink to &quot;大型项目(分离部署)&quot;">​</a></h3><div class="language-text vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">text</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span>┌──────────┐ ┌──────────┐ ┌──────────┐</span></span>
<span class="line"><span>│ Nginx │ │ Nginx │ │ Nginx │</span></span>
<span class="line"><span>│ 前端CDN │ │ API-1 │ │ API-2 │</span></span>
<span class="line"><span>└──────────┘ └──────────┘ └──────────┘</span></span>
<span class="line"><span> │ │</span></span>
<span class="line"><span> └──────┬───────┘</span></span>
<span class="line"><span> │</span></span>
<span class="line"><span> ┌──────┴──────┐</span></span>
<span class="line"><span> ▼ ▼</span></span>
<span class="line"><span> ┌──────────┐ ┌──────────┐</span></span>
<span class="line"><span> │ MySQL │ │ Redis │</span></span>
<span class="line"><span> │ 主从 │ │ 集群 │</span></span>
<span class="line"><span> └──────────┘ └──────────┘</span></span></code></pre></div><h2 id="环境变量规划" tabindex="-1">环境变量规划 <a class="header-anchor" href="#环境变量规划" aria-label="Permalink to &quot;环境变量规划&quot;">​</a></h2><p>本项目 <code>.env</code> 为扁平键名(无分段式配置),核心项规划如下:</p><table tabindex="0"><thead><tr><th>环境</th><th>APP_DEBUG</th><th>APP_ENV</th><th>CACHE_STORE / SESSION_DRIVER</th><th>JWT_SECRET</th><th>CORS_ALLOW_ORIGIN</th></tr></thead><tbody><tr><td>开发</td><td>true</td><td>local</td><td>redis</td><td>开发密钥</td><td>*</td></tr><tr><td>测试</td><td>true</td><td>testing</td><td>redis</td><td>测试密钥</td><td>*</td></tr><tr><td>生产</td><td><strong>false</strong></td><td><strong>production</strong></td><td>redis</td><td><strong>强随机密钥(≥32 字符)</strong></td><td><strong>指定域名</strong></td></tr></tbody></table><p>生成强随机 JWT 密钥:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">php</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -r</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> &quot;</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">echo bin2hex(random_bytes(32));</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">&quot;</span></span></code></pre></div><div class="tip custom-block"><p class="custom-block-title">其它生产必检项</p><ul><li><code>DB_PREFIX=laravel_</code> 与 SQL 脚本表前缀一致,不要随意修改</li><li><code>FILE_DOMAIN_URL</code> 留空时按当前请求域名补全文件地址;跨域部署时应配置为前端可访问的文件域名</li><li><code>TRUSTED_PROXIES</code> 按反向代理层级配置(默认信任 127.0.0.1 / ::1)</li><li>队列常驻进程:<code>php artisan queue:work</code>(生产用 Supervisor 托管)</li></ul></div>`,20)])])}const b=a(d,[["render",p]]);export{u as __pageData,b as default};