5fb269cc0a
- 保存先写本地缓存,登录后可选云端同步;退出登录不再因文件操作跳转登录 - 修复 Layui 遮罩残留、design2 保存后线条、toast 被 finally 提前关闭 - 保存过程恢复 loading spinner;成功提示 2.5 秒 - 云端 payload 瘦身与体积超限提示;后端 schema 迁移与 FileService 容错 Co-authored-by: Cursor <cursoragent@cursor.com>
101 lines
2.7 KiB
Markdown
101 lines
2.7 KiB
Markdown
# 部署脚本
|
||
|
||
## 权限(推荐:SSH 粘贴,勿 FTP 上传 .sh)
|
||
|
||
FTP 会把脚本改成 CRLF,报 `set: pipefail`。**在服务器 SSH 整段粘贴:**
|
||
|
||
```bash
|
||
cd /www/wwwroot/designadmin.cardsoon.com
|
||
U=www; G=www; ROOT="$PWD"
|
||
mkdir -p "$ROOT/storage"/{users,logs,payment,cache/rate,cache/wechat_certs}
|
||
chown -R "$U:$G" "$ROOT"
|
||
find "$ROOT/src" "$ROOT/public" -type d -exec chmod 755 {} +
|
||
find "$ROOT/src" "$ROOT/public" -type f -exec chmod 644 {} +
|
||
chmod 755 "$ROOT/config"
|
||
test -f "$ROOT/config/local.php" && chmod 640 "$ROOT/config/local.php"
|
||
chmod 775 "$ROOT/storage/users" "$ROOT/storage/logs" "$ROOT/storage/cache/rate" "$ROOT/storage/cache/wechat_certs"
|
||
chmod 700 "$ROOT/storage/payment"
|
||
rm -f "$ROOT/storage/cache/rate/"*.json
|
||
echo OK
|
||
```
|
||
|
||
## 上线步骤
|
||
|
||
```bash
|
||
cd /www/wwwroot/designadmin.cardsoon.com
|
||
```
|
||
|
||
```bash
|
||
cp config/local.php.example config/local.php
|
||
vi config/local.php
|
||
```
|
||
|
||
改 `db`、`jwt_secret`、`site`、`storage` 路径。
|
||
|
||
```bash
|
||
mysql -u root -p soondesign < database/schema.sql
|
||
php scripts/migrate-schema.php
|
||
```
|
||
|
||
`migrate-schema.php` 用于已有库增量升级(可重复执行)。再执行上面「权限」整段粘贴。
|
||
|
||
### MySQL 大包(云端保存失败时)
|
||
|
||
若保存报「文件过大」或 `max_allowed_packet`,在宝塔 / MySQL 配置中把 `max_allowed_packet` 调到 **32M** 或以上,重启 MySQL 后生效。可临时验证:
|
||
|
||
```sql
|
||
SET GLOBAL max_allowed_packet = 33554432;
|
||
```
|
||
|
||
持久化写入 `my.cnf`(示例):
|
||
|
||
```ini
|
||
[mysqld]
|
||
max_allowed_packet = 32M
|
||
```
|
||
|
||
## 初始化管理员
|
||
|
||
```bash
|
||
cd /www/wwwroot/designadmin.cardsoon.com
|
||
php scripts/seed-admin.php admin@cardsoon.com cardsoon
|
||
```
|
||
|
||
成功输出 `OK created admin` 或 `OK updated admin`。登录:`https://design.cardsoon.com/pages/admin/login.html`
|
||
|
||
模型目录:`.soon` 放后端站点(推荐,避免防跨站读不到):
|
||
|
||
```bash
|
||
mkdir -p /www/wwwroot/designadmin.cardsoon.com/soonModels
|
||
cp /www/wwwroot/design.cardsoon.com/soonModels/*.soon /www/wwwroot/designadmin.cardsoon.com/soonModels/
|
||
chmod 755 /www/wwwroot/designadmin.cardsoon.com/soonModels
|
||
chmod 644 /www/wwwroot/designadmin.cardsoon.com/soonModels/*.soon
|
||
```
|
||
|
||
`local.php`:
|
||
|
||
```php
|
||
'models_dir' => '/www/wwwroot/designadmin.cardsoon.com/soonModels',
|
||
```
|
||
|
||
排查:
|
||
|
||
```bash
|
||
php scripts/check-soon-models.php
|
||
```
|
||
|
||
## 宝塔
|
||
|
||
- 网站运行目录:`public`
|
||
- Nginx:`/api/v1/` → `index.php`,`/api/admin/` → `admin.php`
|
||
|
||
## 配置
|
||
|
||
后端只维护 `config/local.php`(从 `local.php.example` 复制)。
|
||
|
||
前端(`design.cardsoon.com`)只维护 `config/local.js`(从 `config/local.js.example` 复制);全量更新 frontend 时不要覆盖。
|
||
|
||
## 本地脚本
|
||
|
||
`setup-backend-perms.sh` 供 git 拉取使用;Windows/FTP 上传易坏,请用上面 SSH 粘贴块。
|