星河避难所

返回

对外提供服务

把 Go 重构版部署到服务器,让观众随时访问:同一份预构建包开箱可用,附 systemd 常驻、域名与 HTTPS 说明

预构建的安装包不只能在自己电脑上双击运行。把它丢到服务器上跑起来,通过 http://公网IP:端口 就能直接对外提供服务,不需要自己构建,也不用另外装 Go、Node 这些环境。

同一个包,放在自己电脑上就是本地模式(只有本机能访问),放到服务器上就是服务模式(观众随时随地都能访问)。后台「App 配置」页里会显示当前处于哪种模式。

开始之前#

  • 一台服务器:云服务器、内网穿透,或者有公网 IP 的家庭宽带都可以。怎么买、怎么开放端口见 关于服务器,记得把 25443 开放出来
  • 一个域名(可选):没有域名也能用,直接拿服务器 IP 访问,只是链接不好看也不好记。想买见 关于域名

部署到服务器#

下面以把 BiliLiveAssistant-linux-amd64 上传到 /opt/bilibili-live-assistant 为例。

第 1 步:上传程序#

把 BiliLiveAssistant-linux-amd64 上传到服务器的 /opt/bilibili-live-assistant 目录,并加上执行权限:

sudo chmod +x /opt/bilibili-live-assistant/BiliLiveAssistant-linux-amd64
bash

第 2 步:先手动跑一次#

cd /opt/bilibili-live-assistant
./BiliLiveAssistant-linux-amd64
bash

看到「服务在 :25443 启动」,就说明已经跑起来了。首次运行会在同目录自动生成 config.yaml、data.db,以及 logs/、uploads/ 这些目录——配置和数据都在这里,以后想改端口、改配置,编辑同目录的 config.yaml 即可。

确认没问题后按 Ctrl+C 退出,接着交给 systemd 常驻运行。

第 3 步:创建 systemd 服务#

sudo nano /etc/systemd/system/bililive.service
bash

粘贴以下内容:

保存退出后,依次执行:

sudo systemctl daemon-reload
sudo systemctl enable --now bililive
bash

enable --now 一步到位:注册开机自启,同时立刻启动服务。

到这一步项目就已经跑起来了。后续想重启、停止、看状态,直接百度搜「如何使用 systemctl 控制项目」就行,常用命令也就那么几个。

访问地址#

打开你的访问地址,加上对应路径即可:

  • 后台管理:http://38.47.233.76:25443/admin
  • 积分商城:http://38.47.233.76:25443/shop

其中 38.47.233.76 换成你服务器的公网 IP。打不开的话,先确认服务器已经开放了 25443 端口,开放方式见 开放端口。

换成域名与 HTTPS#

把域名解析到你的服务器,就可以用域名访问了。Go 重构版只需要 1 个解析,控制台和商城都挂在同一个端口上(怎么解析见 关于域名)。

需要自己构建的情况#

这几种情况需要从源码构建:想改前端或后端代码、想调整打包的内容。构建在你自己电脑上完成,服务器不需要装任何环境。

先装好 Go 1.25+ ↗ 和 Node.js 24+ ↗,然后获取源代码:

git clone https://github.com/zxc7563598/bilibili-live-assistant.git
bash

前端默认走同源,环境变量文件按模板各复制一份就行,一般不用改:

cp web/.env.example web/.env
cp shop/.env.example shop/.env
bash

只有前后端不在同一个地址下时才需要填绝对地址。

回到项目根目录,执行:

make release
bash

第一次执行会先安装前端依赖再打包,耗时会长一些。跑完之后 bin/ 目录里就是各平台的二进制文件,外加一个 SHA256SUMS 校验文件,跟 Releases 页面下载到的是同一种东西。

拿 bin/BiliLiveAssistant-linux-amd64 按前面的步骤部署即可。

评论似乎卡住了,尝试刷新?✨