docs(deployment): 新增部署手册+更新脚本(stay.1814.love,端口3001,保运行时数据)
这个提交包含在:
@@ -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"
|
||||
@@ -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
|
||||
```
|
||||
在新工单中引用
屏蔽一个用户