对外提供服务
把 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-amd64bash第 2 步:先手动跑一次#
cd /opt/bilibili-live-assistant
./BiliLiveAssistant-linux-amd64bash看到「服务在 :25443 启动」,就说明已经跑起来了。首次运行会在同目录自动生成 config.yaml、data.db,以及 logs/、uploads/ 这些目录——配置和数据都在这里,以后想改端口、改配置,编辑同目录的 config.yaml 即可。
确认没问题后按 Ctrl+C 退出,接着交给 systemd 常驻运行。
第 3 步:创建 systemd 服务#
sudo nano /etc/systemd/system/bililive.servicebash粘贴以下内容:
[Unit]
Description=BiliLiveAssistant Service
# 确保在网络就绪后再启动
After=network.target
[Service]
# 用 root 运行,避免权限问题
User=root
Group=root
# 可执行文件的绝对路径(不需要任何参数)
ExecStart=/opt/bilibili-live-assistant/BiliLiveAssistant-linux-amd64
# 关键配置:无论因为什么原因退出(崩溃、被杀),都自动重启
Restart=always
RestartSec=5
# 工作目录设置为二进制文件所在目录
WorkingDirectory=/opt/bilibili-live-assistant
[Install]
# 正常开机后启动
WantedBy=multi-user.targetini保存退出后,依次执行:
sudo systemctl daemon-reload
sudo systemctl enable --now bililivebashenable --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.gitbash前端默认走同源,环境变量文件按模板各复制一份就行,一般不用改:
cp web/.env.example web/.env
cp shop/.env.example shop/.envbash只有前后端不在同一个地址下时才需要填绝对地址。
回到项目根目录,执行:
make releasebash第一次执行会先安装前端依赖再打包,耗时会长一些。跑完之后 bin/ 目录里就是各平台的二进制文件,外加一个 SHA256SUMS 校验文件,跟 Releases 页面下载到的是同一种东西。
拿 bin/BiliLiveAssistant-linux-amd64 按前面的步骤部署即可。