手动部署
手动部署指南,教你一步步配置环境并启动机器人,适合想了解内部细节或定制化需求的用户
安装宝塔#
首先,前往宝塔面板官方 宝塔面板 ↗获取安装命令
大概如下:
if [ -f /usr/bin/curl ];then curl -sSO https://download.bt.cn/install/install_panel.sh;else wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh;fi;bash install_panel.sh ssl251104bash登陆服务器执行命令进行安装,安装完成后,宝塔会显示登录地址、用户名和密码。
最后会得到类似这样的信息:

用这些信息登录,就能进入服务器的管理面板。
如果无法访问需要在云服务器中开放指定的端口,开放方式详见:开放端口
安装Redis#

安装Mysql#
Mysql8.0 左右的版本即可,安装时注意更换默认版本

-
安装完成后,进入数据库页面,修改 root 密码为一个你自己能记住的值。

-
进入终端,输入:
bashmysql -u root -p
输入刚刚设置的密码后,执行以下命令创建数据库:
sqlCREATE DATABASE bilibili_danmu CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
安装Nginx#

安装PHP#

安装NodeJS#
前往 网站 - Node项目 系统会推荐安装版本管理器,安装即可

进入 版本管理器 按图中选择,只显示LTS版本,官方源,然后点击更新列表
更新完成后安装最新版本即可

完成安装后,命令行版本就会出现刚刚安装好的版本,选择到刚刚安装好的版本即可

安装PHP扩展#
PHP需要安装 redis、event 以及 brotli 扩展。
方式如下:
-
在 PHP 设置中安装扩展:
redis、event;
-
在配置文件中搜索:
disable_functions,内容替换为:
bashdisable_functions = passthru,system,chroot,chgrp,chown,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru
-
在
pecl扩展安装处安装brotli
如果没有 pecl 扩展安装说明宝塔面板版本过低,尝试去面板首页更新面板即可
如果安装失败,首先确定前面一步的 disable_functions 有没有调整,确定调整过的情况下,在终端执行
pecl channel-update pecl.php.net后重新安装尝试,可以解决99%的问题
部署项目#
初始化配置文件#
在宝塔后台打开 文件 → 终端,输入:
git clone https://github.com/zxc7563598/php-bilibili-danmubash
刷新页面后,可以看到多了一个 php-bilibili-danmu 文件夹。

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

然后打开 .env.example,复制内容到 .env 并修改:
- 系统服务地址:服务器IP:7777
- 商城前台访问地址:服务器IP:5177
- 项目监听的端口号:7776
- API 密钥:随意输入 32 位字母或数字
- 数据库配置:DB_NAME数据库名(bilibili_danmu)、DB_USER用户名(root)、DB_PASSWORD密码(你修改的 root 密码)
保存即可。
安装依赖并启动项目#
在终端执行:
composer installbashphp vendor/bin/phinx migrate -e developmentbashphp start.php start -dbash这样依赖安装、数据库构建、项目启动就完成了。


设置机器人站点#
进入宝塔后台 → 网站 → 添加站点:
-
域名:服务器IP:7777
-
根目录:php-bilibili-danmu

创建后,进入站点设置 → 配置文件,在顶部添加:
upstream bilibilidanmuji {
server 127.0.0.1:7776;
keepalive 10240;
}nginx
保存后,再进入伪静态,添加:
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;
}
}nginx
最后在网站目录设置中:
-
关闭防跨站攻击;
-
将运行目录改为
public;
保存即可。
这时,访问 服务器IP:7777 就能进入机器人控制台。
设置积分商城站点#
进入机器人控制台,点击 构建商城

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

然后在宝塔后台 → 网站 → 新建站点:
-
域名:服务器IP:5177
-
根目录:php-bilibili-danmu/public/shop/dist
-
PHP 版本:纯静态

创建后,进入伪静态,填入:
location / {
try_files $uri $uri/ /index.html;
}nginx保存后,访问 服务器IP:5177 即可进入积分商城。

要如何绑定域名#
两个站点操作完全一致,因此仅展示一次示例
-
前往宝塔面板,设置站点

-
添加域名

-
申请证书
Let’s Encrypt 提供免费的 https 证书,选择你添加进去的域名,申请即可(不要去申请IP站点,就申请你域名的站点就好)

-
修改系统配置
前往机器人控制台,修改项目地址为后台域名,修改商城地址为商城后保存。

后续即可通过域名访问项目,确认无误后返回宝塔面板,设置中删除掉IP域名,仅保留您自己的域名即可。
后续:更新项目#
-
前往项目目录:
bashcd /www/wwwroot/php-bilibili-danmu -
获取最新代码(若你进行了二次开发,需要自行解决冲突):
bashgit pull -
安装依赖:
bashcomposer install -
确保数据库正确:
bashvendor/bin/phinx migrate -
停止项目:
bashphp start.php stop -
启动项目:
bashphp start.php start -d
后续:重启项目#
-
停止项目:
bashphp start.php stop -
启动项目:
bashphp start.php start -d