今天给大家带来的是舰长积分商城和弹幕机器人系统的手动部署教程

之前我出过一个“一键部署”的版本。
但是有不少小伙伴反馈说,不太想用 Docker,或者想直接在自己的设备上部署,所以更希望能一步一步手动安装。

这次我就从零开始,带大家完整走一遍手动部署的流程。


功能简介

这个系统主要有两个功能:

  • 积分商城:舰长上舰后自动记录积分,积分可在商城里兑换奖品;
  • 弹幕机器人:支持自动感谢礼物、关注、进房、分享,还能播报大乱斗对手房间情况。

所有数据都在你自己的服务器里,不需要担心审核或数据泄露,也不会有任何收费问题,完全免费。唯一的成本就是准备一台云服务器。

当然,如果你完全不懂代码,更推荐先看我之前的“一键部署”教程,会更省事。

如果你选择手动部署,不管你是折腾群晖也好,在Windows环境下跑虚拟机也罢,我默认你是一个多少懂一点基础的朋友。

记得在部署的过程中解决科学上网的问题,因为代码托管也好,项目中一些扩展的安装也好,难免会用到大陆以外的资源。

如果遇到问题我非常乐意在空闲时间帮大家解决问题,但是网络问题这种我确实没有什么好办法,这个东西比较敏感,也不太好教 🙏


Step 1:安装宝塔面板

首先,我们需要在服务器上安装 宝塔面板

宝塔下载页面

安装完成后,宝塔会显示登录地址、用户名和密码。用这些信息登录,就能进入服务器的管理面板。

服务器安装宝塔完成


Step 2:安装运行环境

登录宝塔后台,进入 软件商店,依次安装:

  • Nginx(默认版本);

    安装 Nginx

  • PHP 8.2

    安装 PHP

  • MySQL 8.0(注意不要用默认版本);

    安装 MySQL

  • Redis(默认版本即可)

    安装 Redis

安装需要一些时间,大家耐心等待,完成后,如下图所示。

完成安装后的样子

完成后,还需要做以下配置:

  • 在 PHP 设置中安装扩展:redisevent

    安装扩展,event在下面

  • 在配置文件中搜索:disable_functions ,内容替换为:

    1
    disable_functions = passthru,system,chroot,chgrp,chown,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru

    记得保存配置

  • pecl扩展安装 处安装 brotli

    安装 brotli

  • 进入数据库,修改 root 密码为一个你自己能记住的值。

    修改数据库密码


Step 3:创建数据库

在终端输入:

1
mysql -u root -p

登录 MySQL

输入刚刚设置的密码后,执行以下命令创建数据库:

1
CREATE DATABASE bilibili_danmu CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

创建数据库


Step 4:下载项目

在宝塔后台打开 文件 → 终端,输入:

1
git clone https://github.com/zxc7563598/php-bilibili-danmu

下载项目

刷新页面后,可以看到多了一个 php-bilibili-danmu 文件夹。

文件列表

进入该文件夹,新建 .env 文件(前面有点)。

新建.env文件
然后打开 .env.example,复制内容到 .env 并修改:

  • 系统服务地址:服务器IP:7777
  • 加密配置:随意输入 16 位字母或数字(数字密钥、初始向量同样 16 位)
  • 主密钥:随意输入 32 位字母或数字
  • 商城前台访问地址:服务器IP:5177
  • 项目监听端口:7776
  • API 密钥:随意输入 32 位字母或数字
  • 数据库配置:数据库名(bilibili_danmu)、用户名(root)、密码(你修改的 root 密码)

保存后,配置完成。

不需要照着抄,根据自己服务器的信息修改


Step 5:安装依赖并启动

在终端执行(一行一行执行):

1
2
3
4
5
composer install

php vendor/bin/phinx migrate -e development

php start.php start -d

这样依赖安装、数据库构建、项目启动就完成了。

一行一行执行命令

项目启动后的样子


Step 6:配置机器人站点

进入宝塔后台 → 网站 → 添加站点:

  • 域名:服务器IP:7777

  • 根目录:php-bilibili-danmu

    配置站点

创建后,进入站点设置 → 配置文件,在顶部添加:

1
2
3
4
upstream bilibilidanmuji {
server 127.0.0.1:7776;
keepalive 10240;
}

配置 Nginx

保存后,再进入伪静态,添加:

1
2
3
4
5
6
7
8
9
10
11
location ^~ / {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_http_version 1.1;
proxy_set_header Connection "";
if (!-f $request_filename){
proxy_pass http://bilibilidanmuji;
}
}

配置伪静态

最后在网站目录设置中:

  • 关闭防跨站攻击;

  • 将运行目录改为 public
    保存即可。

    配置访问目录

这时,访问 服务器IP:7777 就能进入机器人控制台。


Step 7:配置积分商城

宝塔后台 → 网站 → Node项目 安装Node:

安装 NodeJs

先更新列表获取最新版本,记得安装官方源

设置命令行版本:

设置命令版本,不然无法构建

进入机器人控制台,点击 构建商城

服务器IP:7777即可访问

看到这样的内容说明成功:

完成积分商城构建

然后在宝塔后台 → 网站 → 新建站点:

  • 域名:服务器IP:5177

  • 根目录:php-bilibili-danmu/public/shop/dist

  • PHP 版本:纯静态

    创建积分商城站点

创建后,进入伪静态,填入:

1
2
3
location / {
try_files $uri $uri/ /index.html;
}

保存后,访问 服务器IP:5177 即可进入积分商城。

保存积分商城站点伪静态


🎉 至此,手动部署就全部完成啦!
机器人和积分商城都可以正常使用,大家可以根据需要进行进一步配置。