伍Deployment

宝塔部署:从空服务器到上线


以宝塔 Linux 面板为例,从空服务器到可访问站点。步骤按顺序执行,每一步都给出可验证的检查点,出错时先看文末排查表。

水墨中的梁柱与脚手架,喻小储云商城系统在宝塔面板中逐步搭建站点环境的过程
Requirements

环境要求 六项,先核对再动手

前端为构建后的静态资源,站点根目录指向 dist 即可运行;若配套独立后端服务,再按后端要求准备 PHP 或 Node 运行环境。

小储云商城系统部署环境要求
项目要求说明
操作系统CentOS 7+ / Ubuntu 20.04+ / Debian 11+64 位,建议纯净系统
面板宝塔 Linux 面板 7.x 及以上已安装 Nginx 与 MySQL
Web 服务Nginx 1.20+静态站点为主,无需 PHP 运行环境
数据库MySQL 5.7 / 8.0若使用独立后端服务则按后端要求配置
运行目录dist前端构建产物目录,站点根目录指向此处
域名解析A 记录指向服务器 IP国内节点需先完成备案
Steps

部署八步 按序推进,步步可验

  1. 01

    一、准备环境

    在宝塔面板安装 Nginx 与 MySQL,创建站点并绑定域名。若使用 HTTPS,先在 SSL 页面申请证书并开启强制跳转。

  2. 02

    二、上传源码

    将构建后的 dist 目录内容上传至站点根目录,或直接在服务器上执行构建命令生成 dist。上传完成后确认 index.html 位于站点根目录。

  3. 03

    三、设置运行目录

    在站点设置 → 网站目录中,把运行目录指定为 dist(若已将 dist 内容直接放入根目录则无需再设)。保存后访问域名,应能看到首页。

  4. 04

    四、配置伪静态

    打开站点设置 → 伪静态,粘贴下文给出的规则并保存。规则的作用是让 /feature/ 这类目录地址正确回落到对应静态页面,同时补齐安全响应头。

  5. 05

    五、初始化数据

    导入数据库结构文件,修改后端服务或接口配置文件中的数据库地址、账号与密钥,重启对应服务后访问后台完成管理员初始化。

  6. 06

    六、绑定授权

    登录后台授权页面,填写授权账号并绑定当前域名,确认授权状态正常,随后即可接收版本更新。

  7. 07

    七、接入支付与货源

    在后台填写支付通道商户参数与货源接口密钥,先用最小金额完成一笔真实支付,核对回调与自动发货是否正常。

  8. 08

    八、上线检查

    逐页检查移动端与桌面端呈现、每页 SEO 三要素是否独立、图片是否加载、表单是否可提交,确认无误后开放访问。

水墨中的石阶与山门,喻小储云商城系统部署流程循序渐进、每一级皆有落脚处
拾级而上,登堂入室
Rewrite rules

宝塔伪静态规则 复制即用,注意保存

打开站点设置 → 伪静态,将下列规则整体粘贴并保存。规则同时补齐了常用安全响应头,若已在面板其他位置配置,请删除重复项以免响应头多次下发。

nginx
# ===== 小储云商城系统 · 宝塔伪静态(静态站点版)=====
# 站点根目录 / 运行目录均指向 dist
index index.html;

location / {
    # 命中真实文件或目录则直接返回,未命中返回真实 404
    # 不要兜底到 /index.html,否则会产生软 404,影响搜索引擎收录
    try_files $uri $uri/ =404;
}

# 静态资源长缓存(文件名含哈希指纹,可放心长缓存)
location ~* \.(?:css|js|woff2|webp|png|jpg|jpeg|svg|ico)$ {
    expires 30d;
    add_header Cache-Control "public, max-age=2592000, immutable";
    access_log off;
}

# ===== 安全响应头 =====
add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Permissions-Policy "geolocation=(), microphone=(), camera=()" always;
add_header Cross-Origin-Opener-Policy "same-origin" always;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

若站点根目录已直接放置 dist 内的文件,可将 try_files 一行保留不变,其余按需删除。

Hardening

上线前的五项加固 安全不是可选项

  • 强制 HTTPS 并开启 HSTS,避免混合内容告警。

  • 后台路径修改为不易猜测的地址,并限制登录失败次数。

  • 数据库仅允许本机访问,禁止 3306 端口对公网开放。

  • 每日自动备份数据库与附件,备份文件异地留存一份。

  • 及时跟随版本更新,安全补丁不要拖延。

Backup

备份与迁移 升级之前先留退路

  • 升级前先做数据库全量备份与文件快照,升级失败可回滚。
  • 迁移站点时保持目录结构与版本一致,先迁数据库再迁文件。
  • 定期导出订单与卡密数据留存,避免因误操作造成不可恢复的损失。
Troubleshooting

常见报错排查 六种情形,对症下药

访问首页 403

可能原因
运行目录未指向 dist 或目录权限不足
处理方式
检查网站目录设置,目录权限设为 755,属主 www

内页 404

可能原因
伪静态规则未生效或未保存
处理方式
重新粘贴规则并保存,清除浏览器缓存后重试

样式脚本丢失

可能原因
资源路径与站点根目录不一致
处理方式
确认 dist 内的 assets 目录完整上传,站点根目录即 dist

下单 500

可能原因
数据库连接失败或表结构缺失
处理方式
查看后端日志,核对数据库配置并重新导入结构文件

支付回调未到账

可能原因
回调地址不可达或验签失败
处理方式
用外网工具测试回调地址,核对商户密钥与签名算法

授权提示异常

可能原因
域名与授权记录不一致
处理方式
在授权用户服务平台核对绑定域名,必要时自助变更
水墨远山与竹影,喻小储云商城系统上线后运行清朗稳定
山高水长,运行安然