docs: 宝塔面板部署改为使用面板内置「Go项目」功能
1 个文件变更
+59
-29
fangqihang1717@163.com
| •README.md | +59 -29 |
变更内容
diff --git a/README.md b/README.md
index 756b199..431b62a 100644
--- a/README.md
+++ b/README.md
@@ -131,16 +131,17 @@ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -trimpath -ldflags "-s -w" -o cle
## 🧭 宝塔面板部署(推荐)
-> 适用于宝塔 Linux 面板(7.9+ / 9.x)。核心思路:**二进制 + 进程守护 + 反向代理**,
-> 让程序常驻在 `127.0.0.1:16868`,由 Nginx 对外提供 80/443 访问。
+> 新版宝塔面板在「网站 → **Go项目**」中内置了 Go 项目部署能力(正式版 **7.9.3+** 起):
+> 选择编译好的二进制、填好端口即可运行,**面板自带守护进程(约 120 秒检测一次)**,
+> 无需在服务器安装 Go 环境,也不需要额外的守护插件。
### 0. 环境准备
| 项目 | 要求 |
|---|---|
| 服务器 | Linux(CentOS 7+ / Ubuntu 20.04+ / Debian 11+),1 核 1G 起 |
-| 面板 | 已安装宝塔 Linux 面板,并已安装 **Nginx** |
-| 文件 | `clearlove-linux-amd64`(或 arm64),无需安装 Go 环境 |
+| 面板 | 宝塔 Linux 面板 **7.9.3+**(建议使用最新版本),已安装 **Nginx** |
+| 文件 | `clearlove-linux-amd64`(或 arm64),**无需在服务器安装 Go 环境** |
### 1. 上传二进制并试运行
@@ -162,28 +163,41 @@ ClearLove 表白墙 2.0 | 数据目录: data | 上传目录: uploads
检测到未安装,请访问 http://localhost:16868/install 完成安装向导
```
-按 `Ctrl + C` 退出,接下来交给守护进程常驻运行。
+按 `Ctrl + C` 退出,接下来交给面板「Go项目」托管运行。
-### 2. 用「进程守护管理器」让程序常驻
+### 2. 用面板「Go项目」添加并托管
-1. 面板左侧「**软件商店**」→「官方应用」→ 搜索 **进程守护管理器**(Supervisor)→ 安装
-2. 打开插件 →「**添加守护进程**」,按下表填写:
+面板左侧「**网站**」→ 顶部标签切到「**Go项目**」→「**添加项目**」,按下表填写:
-| 字段 | 填写内容 |
-|---|---|
-| 名称 | `clearlove`(**不要使用中文**) |
-| 启动用户 | `www` |
-| 运行目录 | `/www/wwwroot/clearlove` |
-| 启动命令 | `/www/wwwroot/clearlove/clearlove` |
+| 字段 | 填写内容 | 说明 |
+|---|---|---|
+| 项目执行文件 | `/www/wwwroot/clearlove/clearlove` | 点右侧文件夹图标选择刚上传的二进制 |
+| 项目名称 | `clearlove` | 仅用于面板标识,**不要使用中文** |
+| 项目端口 | `16868` | 与程序默认端口一致;右侧「放行端口」按需点击(只走反向代理时无需对外放行) |
+| 执行命令 | `clearlove` | 本项目无启动参数,按提示填执行文件名即可 |
+| 环境变量 | 选「**指定变量**」,添加下面两行 | 固定数据目录,避免工作目录不确定导致数据写散 |
+| 运行用户 | `www` | 无特殊需求保持默认 |
+| 开机启动 | ✅ 勾选 | 面板自带守护进程,约 120 秒检测一次 |
+| 项目备注 | `表白墙` | 非必填 |
+| 绑定域名 | **留空** | 域名与 HTTPS 交给下一步的「站点 + 反向代理」处理 |
+
+环境变量(选择「指定变量」后填写):
+
+```ini
+CLEARLOVE_DATA_DIR=/www/wwwroot/clearlove/data
+CLEARLOVE_UPLOAD_DIR=/www/wwwroot/clearlove/uploads
+```
+
+> 💡 启动报 `cannot execute binary file`:多为**架构不匹配**(amd64 / arm64 传错)或**没有执行权限**,重新下载对应架构的二进制并 `chmod +x` 即可。
+> 💡 提示端口被占用:**不要填 80 / 443**,这两个端口已被 Nginx 占用,本项目保持 `16868` 即可。
+> 💡 若已有权限异常,终端执行一次:`chown -R www:www /www/wwwroot/clearlove`。
+
+保存后在 Go项目 列表中确认状态为「**运行中**」。
-> 💡 若提示「文件不可执行」或进程反复重启,通常是权限问题,先执行:
-> ```bash
-> chown -R www:www /www/wwwroot/clearlove
-> chmod +x /www/wwwroot/clearlove/clearlove
-> ```
-> 进程日志可在插件界面查看,文件位于 `/www/server/panel/plugin/supervisor/log`。
+### 3. 绑定域名 + 反向代理(获得 80 / 443 与 HTTPS)
-### 3. 添加站点 + 反向代理
+> 服务器安装 Nginx 后 80 / 443 已被占用,因此推荐「Go 项目只监听本机端口,域名交给 Nginx 反代」的方式。
+> 若直接在 Go项目 里填写「绑定域名」,注意面板提示中域名**默认为 80 端口**,会与 Nginx 冲突。
1. 面板左侧「**网站**」→「**添加站点**」:
- 域名:你的域名,如 `wall.example.com`
@@ -231,23 +245,39 @@ client_max_body_size 100m;
- **备份**:面板「计划任务」→ 添加「备份目录」,分别备份
`/www/wwwroot/clearlove/data` 与 `/www/wwwroot/clearlove/uploads`(或使用 MySQL 备份任务)
-- **升级**:上传新的二进制覆盖 `clearlove` → 进程守护管理器里「**重启**」该进程即可,`data/` 与 `uploads/` 保持不动
+- **升级**:上传新的二进制覆盖 `/www/wwwroot/clearlove/clearlove` → 回到「网站 → Go项目」点击「**重启**」即可,`data/` 与 `uploads/` 保持不动
### 宝塔部署常见问题
| 现象 | 排查方向 |
|---|---|
-| 访问域名 502 Bad Gateway | 守护进程未运行或报错:查看 Supervisor 日志;确认 `./clearlove` 能手动跑起来 |
-| 提示文件不可执行 | `chmod +x clearlove`,并确认启动用户 `www` 有读取 / 执行权限 |
+| Go项目 启动失败:`cannot execute binary file` | 架构不匹配(amd64 / arm64 传错)或没有执行权限:重下对应架构并 `chmod +x` |
+| Go项目 启动失败:提示端口被占用 | 不要填 80 / 443(已被 Nginx 占用),本项目保持 `16868` |
+| 域名访问 502 Bad Gateway | Go项目 状态是否为「运行中」;终端里 `./clearlove` 能否跑起来;反向代理「目标 URL」端口是否与「项目端口」一致 |
| 安装向导无法写入数据库 | 目录权限:`chown -R www:www /www/wwwroot/clearlove`,确认 `data/` 可写 |
-| 上传视频失败 | 调大 `client_max_body_size`;确认磁盘剩余空间充足 |
-| 后台看到所有 IP 都是 127.0.0.1 | 确认使用宝塔「反向代理」而非其他转发方式,程序读取 `X-Forwarded-For` 取真实 IP |
-| 端口 16868 想改成别的 | 在守护进程「启动命令」前加环境变量:`PORT=8080 /www/wwwroot/clearlove/clearlove`,同时改反向代理目标端口 |
+| 上传视频失败 | 站点「配置文件」里调大 `client_max_body_size`;确认磁盘剩余空间充足 |
+| 后台看到所有 IP 都是 127.0.0.1 | 确认通过宝塔「反向代理」转发(程序读取 `X-Forwarded-For` / `X-Real-IP` 取真实 IP) |
+| 端口 16868 想改成别的 | 「Go项目 → 项目端口」与「反向代理 → 目标 URL」两处需同时修改 |
<details>
-<summary><b>可选:用 systemd 代替进程守护管理器</b></summary>
+<summary><b>可选:旧版面板(无「Go项目」入口)或不想用面板托管</b></summary>
+
+**方式一:安装「进程守护管理器」(Supervisor)**
+
+软件商店 → 官方应用 → 搜索「进程守护管理器」→ 安装,再「添加守护进程」:
+
+| 字段 | 填写内容 |
+|---|---|
+| 名称 | `clearlove`(不要用中文) |
+| 启动用户 | `www` |
+| 运行目录 | `/www/wwwroot/clearlove` |
+| 启动命令 | `/www/wwwroot/clearlove/clearlove` |
+
+进程日志位于 `/www/server/panel/plugin/supervisor/log`。
+
+**方式二:直接使用 systemd**
-不使用宝塔进程守护插件时,也可以直接写 systemd 单元(`/etc/systemd/system/clearlove.service`):
+不使用面板托管时,可以写一个 systemd 单元(`/etc/systemd/system/clearlove.service`):
```ini
[Unit]