docs(deployment): 新增部署手册+更新脚本(stay.1814.love,端口3001,保运行时数据)

这个提交包含在:
wx
2026-08-18 15:28:35 +08:00
父节点 2a979362c2
当前提交 509cd67702
共修改 2 个文件,包含 67 行新增和 0 行删除
+18
查看文件
@@ -0,0 +1,18 @@
#!/usr/bin/env bash
# 呼籁旅行-甄选酒店 · 更新部署脚本(在仓库根同级跑): 上传代码并重启,保住运行时数据
set -euo pipefail
HOST="root@47.105.95.198"; APP="/var/www/hulai-travel-site"; NAME="hulai-travel"; URL="https://stay.1814.love"
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
echo "==> 备份服务器运行时数据"
$SSH="ssh -o BatchMode=yes $HOST"
ssh -o BatchMode=yes $HOST "mkdir -p $APP/.deploy-bak && cp -a $APP/data.json $APP/config.json $APP/.deploy-bak/ 2>/dev/null || true"
echo "==> 上传代码(排除运行时产物)"
( cd "$ROOT" && tar czf - --exclude='config.json' --exclude='data-backups' --exclude='hotels/_trash' --exclude='.git' --exclude='deployment' --exclude='.deploy-bak' . ) \
| ssh -o BatchMode=yes $HOST "cd $APP && tar xzf -"
echo "==> 重启"
ssh -o BatchMode=yes $HOST "pm2 restart $NAME >/dev/null 2>&1 && pm2 save >/dev/null 2>&1 && echo restarted"
echo "==> 验收"
sleep 3
curl -sk -o /dev/null -w " 访客页: %{http_code}\n" "$URL/"
curl -sk -o /dev/null -w " 后台: %{http_code}\n" "$URL/admin.html"
echo "✅ 完成: $URL"
+49
查看文件
@@ -0,0 +1,49 @@
# 呼籁旅行-甄选酒店 · 部署步骤
正式地址:`https://stay.1814.love`。零依赖 Node 应用(`server.js`,端口 3001),`data.json` 内容存储,后台改内容保存即全站生效。
## 线上形态
| 项 | 值 |
|---|---|
| 服务器 | `47.105.95.198` |
| 项目目录 | `/var/www/hulai-travel-site` |
| 运行 | PM2 `hulai-travel`(`PORT=3001 node server.js`,fork) |
| 域名 | `https://stay.1814.love` → `127.0.0.1:3001` |
| Nginx 配置 | `/opt/hl/config/nginx/conf.d/stay.1814.love.conf`(docker 容器 `nginx`) |
| 证书 | acme.sh ECC,`/opt/hl/config/nginx/ssl/stay.1814.love/`(自动续期) |
## ⚠️ 运行时数据(不入 git、不被动)
| 数据 | 位置 | 说明 |
|---|---|---|
| 管理密码哈希 | `config.json` | 首次启动自动生成;改密写这里 |
| 内容数据 | `data.json` | 后台维护的全部内容 |
| 历史备份 | `data-backups/` | 每次保存自动备份(50 份) |
| 图片回收 | `hotels/_trash/` | 后台删的图 |
| 上传的图 | `hotels/` 里新增文件 | 后台上传的酒店图 |
## 日常更新(改代码/改初始内容)
代码在仓库 `wx/hulai-travel-site`。改完推送后,到服务器更新(**保住运行时数据**):
```bash
ssh root@47.105.95.198
cd /var/www/hulai-travel-site
cp -a data.json config.json /root/hts-bak-$(date +%s)/ 2>/dev/null || (mkdir -p /root/hts-bak-$(date +%s) && cp -a data.json config.json /root/hts-bak-$(date +%s)/)
# 用仓库新文件覆盖(不要动 data.json/config.json/data-backups/hotels 里运行时内容)
pm2 restart hulai-travel && pm2 save
curl -sk -o /dev/null -w "%{http_code}\n" https://stay.1814.love/
```
> 内容本身由刘涛在后台 `https://stay.1814.love/admin.html` 维护(初始密码见 README,**部署后应立即改密**),改完点「保存并发布」前台即生效,无需重新部署。
## 全新部署(换机/重装)
```bash
# 1. 上传仓库代码到 /var/www/hulai-travel-site(排除 config.json/data-backups/_trash)
# 2. 起服务
cd /var/www/hulai-travel-site && PORT=3001 pm2 start server.js --name hulai-travel && pm2 save
# 3. 配 nginx(参考 nginx.conf.example / 现网 stay.1814.love.conf) + 签证书 + reload
# 4. 验收: curl https://stay.1814.love/ 与 /admin.html 均 200
```