go install 安装(源码)
适合本机已有 Go 工具链(≥ 1.26) 的场景:直接从源码构建安装, 不依赖预编译包下载。安装后与脚本安装一样,用主程序内置的服务管理注册 systemd。
1. 安装二进制
bash
# 开发版(跟随 master,tag dev 每次 push 覆盖发布)
go install cnb.cool/liumou.site/GoPanel@dev
# master 分支
go install cnb.cool/liumou.site/GoPanel@master
# 指定正式版本
go install cnb.cool/liumou.site/GoPanel@vX.Y.Z说明:
- 模块源为 cnb.cool;国内网络建议先设置模块代理:
export GOPROXY=https://goproxy.cn,direct - 二进制落在
$(go env GOPATH)/bin/GoPanel(设置了GOBIN则在其下) - ⚠️ 内嵌前端为占位页:构建产物(
frontend/management/dist)不入库,go install不会构建前端,因此面板页面 404(后端 API 正常)。 需要完整界面请使用一键脚本安装或预编译包; 从源码出完整产物的步骤见从源码构建。
2. 创建全局命令软链
bash
sudo ln -sf "$(go env GOPATH)/bin/GoPanel" /usr/bin/gopanel软链是服务注册的固定入口:systemd unit 的 ExecStart 始终写 /usr/bin/gopanel,之后无论用 go install 升级(二进制替换在 Go bin 目录) 还是脚本升级(二进制替换在安装目录),unit 都不用改。
3. 注册 systemd 服务(主程序内置)
bash
sudo gopanel -install主程序(内置 glsm v2)完成:创建 /usr/bin/gopanel 软链(幂等)→ 写 unit (/etc/systemd/system/gopanel.service)→ daemon-reload → enable 开机自启 → 启动。
- 幂等:服务已存在时自动「更新并重启」,升级 / 重装复用同一条命令;
WorkingDirectory为二进制真实所在目录,SQLite 等相对路径数据落在其下;- 配置文件读取
/etc/gopanel/config.toml(与脚本安装一致,可手动创建)。
建议:go install 场景为数据目录使用绝对路径
Go bin 目录不适合存放运行数据,建议在 /etc/gopanel/config.toml 里把 SQLite 文件指到固定位置:
toml
[db]
type = "sqlite"
file = "/var/lib/gopanel/gopanel.db"4. 日常管理
bash
gopanel -service status # 查看状态
gopanel -service restart # 重启
gopanel -service stop # 停止
gopanel -uninstall # 卸载服务(保留程序、软链与数据)5. 升级
bash
go install cnb.cool/liumou.site/GoPanel@dev # 拉取新版本覆盖 Go bin 下的二进制
sudo gopanel -service restart # 重启即运行新版本(unit 无需改动)