星河避难所

返回

手动部署

手动部署指南,教你一步步配置环境并启动机器人,适合想了解内部细节或定制化需求的用户

安装宝塔#

首先,前往宝塔面板官方 宝塔面板获取安装命令

大概如下:

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 ssl251104
bash

登陆服务器执行命令进行安装,安装完成后,宝塔会显示登录地址、用户名和密码。

最后会得到类似这样的信息:

宝塔安装完成

用这些信息登录,就能进入服务器的管理面板。

如果无法访问需要在云服务器中开放指定的端口,开放方式详见:开放端口

安装Redis#

安装 Redis

安装Mysql#

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

安装 MySQL

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

    修改数据库密码

  • 进入终端,输入:

    mysql -u root -p
    bash

    登录 MySQL

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

    CREATE DATABASE bilibili_danmu CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    sql

    创建数据库

安装Nginx#

安装 Nginx

安装PHP#

安装 PHP

安装NodeJS#

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

安装 PHP

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

更新完成后安装最新版本即可

安装 PHP

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

安装 PHP

安装PHP扩展#

PHP需要安装 redis、event 以及 brotli 扩展。

方式如下:

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

    安装扩展,event在下面

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

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

    记得保存配置

  • pecl扩展安装 处安装 brotli

    安装 brotli

    如果没有 pecl 扩展安装说明宝塔面板版本过低,尝试去面板首页更新面板即可

    如果安装失败,首先确定前面一步的 disable_functions 有没有调整,确定调整过的情况下,在终端执行 pecl channel-update pecl.php.net 后重新安装尝试,可以解决99%的问题

部署项目#

初始化配置文件#

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

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

下载项目

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

文件列表

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

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

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

保存即可。

安装依赖并启动项目#

在终端执行:

composer install
bash
php vendor/bin/phinx migrate -e development
bash
php start.php start -d
bash

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

一行一行执行命令

项目启动后的样子

设置机器人站点#

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

  • 域名:服务器IP:7777

  • 根目录:php-bilibili-danmu

    配置站点

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

upstream bilibilidanmuji {
    server 127.0.0.1:7776;
    keepalive 10240;
}
nginx

配置 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: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域名,仅保留您自己的域名即可。

后续:更新项目#

  • 前往项目目录:

    cd /www/wwwroot/php-bilibili-danmu
    bash
  • 获取最新代码(若你进行了二次开发,需要自行解决冲突):

    git pull
    bash
  • 安装依赖:

    composer install
    bash
  • 确保数据库正确:

    vendor/bin/phinx migrate
    bash
  • 停止项目:

    php start.php stop
    bash
  • 启动项目:

    php start.php start -d
    bash

后续:重启项目#

  • 停止项目:

    php start.php stop
    bash
  • 启动项目:

    php start.php start -d
    bash
评论似乎卡住了,尝试刷新?✨