mirror of
https://github.com/lkddi/Xboard.git
synced 2026-04-24 12:07:28 +08:00
docs: 优化部署、迁移文档、docker增加redis支持
1、优化部署、迁移 2、自动备份命令增加手动备份功能 3、docker部署集成redis
This commit is contained in:
@@ -32,82 +32,23 @@ TRC20: TLypStEWsVrj6Wz9mCxbXffqgt5yz3Y4XB
|
||||
- Redis
|
||||
- Laravel
|
||||
|
||||
## 性能评测 [点击查看](./docs/性能对比.md)
|
||||
## 性能对比 [查看详情](./docs/性能对比.md)
|
||||
> xboard 无论前端还是后端性能都有巨大的提升
|
||||
|
||||
|场景 | php-fpm(传统) | php-fpm(传统开启opcache) | laravels | webman(docker)|
|
||||
|---- | ---- |---- |----| ---|
|
||||
|首页 | 6请求/秒 | 157请求/秒 | 477请求/秒 | 803请求/秒 |
|
||||
|用户订阅 | 6请求/秒 | 196请求/秒 | 586请求/秒 | 1064请求/秒 |
|
||||
|用户首页延迟| 308ms | 110ms | 101ms | 98ms |
|
||||
|
||||
## 页面展示
|
||||

|
||||
|
||||
## 安装 / 更新 / 回滚
|
||||
> 这里将给你介绍不同方式的 安装、更新、回滚步骤
|
||||
### 安装前准备
|
||||
- 安装前你需要自行安装好Mysql数据库(用户量小的可以忽略,使用Sqlite)
|
||||
- 安装前你需要自行安装好redis <span style="color:red">(必须)</span>
|
||||
### Docker Compose 方式(推荐)
|
||||
#### **安装部署**
|
||||
1. 安装docker
|
||||
```
|
||||
curl -sSL https://get.docker.com | bash
|
||||
systemctl enable docker
|
||||
systemctl start docker
|
||||
```
|
||||
2. 获取Docker compose 文件
|
||||
```
|
||||
git clone -b docker-compose --depth 1 https://github.com/cedar2025/Xboard
|
||||
cd Xboard
|
||||
```
|
||||
3. 执行数据库安装命令
|
||||
```
|
||||
docker compose run -it --rm xboard php artisan xboard:install
|
||||
```
|
||||
> 执行这条命令之后,会返回你的后台地址和管理员账号密码(你需要记录下来)
|
||||
> 你需要执行下面的 ‘**启动xborad**’ 之后才能访问后台
|
||||
|
||||
4. 启动xboard
|
||||
```
|
||||
docker compose up -d
|
||||
```
|
||||
> 安装完成之后即可访问你的站点
|
||||
5. 配置nginx代理
|
||||
> 启动之后网站端口为7001, 你可以配置nginx分流使用80端口
|
||||
```
|
||||
location ~ .* {
|
||||
proxy_pass http://127.0.0.1:7001;
|
||||
}
|
||||
```
|
||||
|
||||
#### **更新**
|
||||
1、 修改版本
|
||||
```
|
||||
cd Xboard
|
||||
vi docker-compose.yaml
|
||||
```
|
||||
> 修改docker-compose.yaml 当中image后面的版本号为你需要的版本
|
||||
|
||||
2、 更新数据库(可以执行多次都是安全的)
|
||||
```
|
||||
docker compose down
|
||||
docker compose run -it --rm xboard php artisan xboard:update
|
||||
docker compose up -d
|
||||
```
|
||||
> 即可更新成功
|
||||
|
||||
### **回滚**
|
||||
> 需要回滚旧的版本时
|
||||
1、回滚数据库(不可回滚多次,每一次指定都会回滚到上一个版本)
|
||||
```
|
||||
docker compose down
|
||||
docker compose run -it --rm xboard php artisan xboard:rollback
|
||||
```
|
||||
2、回退版本
|
||||
```
|
||||
vi docker-compose.yaml
|
||||
```
|
||||
> 修改docker-compose.yaml 当中image后面的版本号为更新前的版本号
|
||||
3、启动
|
||||
```
|
||||
dockcer compose up -d
|
||||
```
|
||||
|
||||
你可以点击查看下列方式的**安装、更新**步骤
|
||||
- [Docker Compose 纯命令行快速部署](./docs/docker-compose安装指南.md)
|
||||
- [aapanel + Docker Compose](./docs/aapanel+docker安装指南.md)
|
||||
- [aapanel 部署](./docs/)
|
||||
### 从其他版本迁移
|
||||
#### 数据库迁移
|
||||
1. 先导入原的数据库。(<span style="color:red;">不要走安装步骤</span>)
|
||||
@@ -118,124 +59,3 @@ dockcer compose up -d
|
||||
- v2board 1.7.3 [点击跳转迁移指南](./docs/v2b_1.7.3迁移指南.md)
|
||||
- v2board wyx2685 [点击跳转迁移指南](./docs/v2b_wyx2685迁移指南.md)
|
||||
|
||||
#### config/v2board.php 迁移
|
||||
> xboard将配置储存到数据库了, 不再使用file进行储存,你需要对配置文件进行迁移。
|
||||
#### docker-compose 环境
|
||||
1. 在xboard 目录下创建 config文件夹
|
||||
2. 复制旧项目的 v2board.php 到config目录
|
||||
3. 修改docker-compose.yaml 取消下面代码的注释(删除 "#")
|
||||
```
|
||||
# - ./config/v2board.php:/www/config/v2board.php
|
||||
```
|
||||
4. 执行下面的命令即可完成迁移
|
||||
```
|
||||
docker compose down
|
||||
docker compose run -it --rm php artisan migrateFromV2b config
|
||||
docker compose up -d
|
||||
```
|
||||
#### aapanel 环境
|
||||
1. 将旧的 ```config/v2board.php``` 文件复制到 xboard的 ```config/v2board.php``` 下
|
||||
2. 执行下面的命令,即可完成迁移
|
||||
```
|
||||
php artisan migrateFromV2b config
|
||||
```
|
||||
|
||||
|
||||
|
||||
### 宝塔方式(aaPanel) (不推荐,太麻烦了)
|
||||
1. 安装aaPanel
|
||||
|
||||
如果是Centos系统
|
||||
```
|
||||
yum install -y wget && wget -O install.sh http://www.aapanel.com/script/install_6.0_en.sh && bash install.sh aapanel
|
||||
```
|
||||
如果是Ubuntu/Deepin系统
|
||||
```
|
||||
wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh && sudo bash install.sh aapanel
|
||||
```
|
||||
如果是Debian 系统
|
||||
```
|
||||
wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh && bash install.sh aapanel
|
||||
```
|
||||
|
||||
安装完成后我们登陆 aaPanel 进行环境的安装。
|
||||
2. 选择使用LNMP的环境安装方式勾选如下信息
|
||||
☑️ Nginx 任意版本
|
||||
☑️ MySQL 5.7
|
||||
☑️ PHP 8.1
|
||||
选择 Fast 快速编译后进行安装。
|
||||
|
||||
3. 安装扩展
|
||||
> aaPanel 面板 > App Store > 找到PHP 8.1点击Setting > Install extentions选择以下扩展进行安装
|
||||
- redis
|
||||
- fileinfo
|
||||
- swoole4
|
||||
- readline
|
||||
- event
|
||||
|
||||
4. 解除被禁止函数
|
||||
> aaPanel 面板 > App Store > 找到PHP 7.4点击Setting > Disabled functions 将以下函数从列表中删除
|
||||
- putenv
|
||||
- proc_open
|
||||
- pcntl_alarm
|
||||
- pcntl_signal
|
||||
|
||||
5. 添加站点
|
||||
>aaPanel 面板 > Website > Add site。
|
||||
>>在 Domain 填入你指向服务器的域名
|
||||
>>在 Database 选择MySQL
|
||||
>>在 PHP Verison 选择PHP-81
|
||||
|
||||
6. 安装 Xborad
|
||||
>通过SSH登录到服务器后访问站点路径如:/www/wwwroot/你的站点域名。
|
||||
>以下命令都需要在站点目录进行执行。
|
||||
```
|
||||
# 删除目录下文件
|
||||
chattr -i .user.ini
|
||||
rm -rf .htaccess 404.html index.html .user.ini
|
||||
```
|
||||
> 执行命令从 Github 克隆到当前目录。
|
||||
```
|
||||
git clone https://github.com/cedar2025/Xboard.git ./
|
||||
```
|
||||
> 执行命令安装依赖包以及V2board
|
||||
```
|
||||
sh init.sh
|
||||
```
|
||||
> 根据提示完成安装
|
||||
7. 配置站点目录及伪静态
|
||||
> 添加完成后编辑添加的站点 > Site directory > Running directory 选择 /public 保存。
|
||||
> 添加完成后编辑添加的站点 > URL rewrite 填入伪静态信息。
|
||||
```
|
||||
location /downloads {
|
||||
}
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ /index.php$is_args$query_string;
|
||||
}
|
||||
|
||||
location ~ .*\.(js|css)?$
|
||||
{
|
||||
expires 1h;
|
||||
error_log off;
|
||||
access_log /dev/null;
|
||||
}
|
||||
```
|
||||
8. 配置守护进程
|
||||
>V2board的系统强依赖队列服务,正常使用V2Board必须启动队列服务。下面以aaPanel中supervisor服务来守护队列服务作为演示。
|
||||
1. aaPanel 面板 > App Store > Tools
|
||||
2. 找到Supervisor进行安装,安装完成后点击设置 > Add Daemon按照如下填写
|
||||
- 在 Name 填写 Xboard
|
||||
- 在 Run User 选择 www
|
||||
- 在 Run Dir 选择 站点目录 在 Start Command 填写 php artisan horizon 在 Processes 填写 1
|
||||
|
||||
>填写后点击Confirm添加即可运行。
|
||||
|
||||
9. 配置定时任务#
|
||||
aaPanel 面板 > Cron。
|
||||
- 在 Type of Task 选择 Shell Script
|
||||
- 在 Name of Task 填写 v2board
|
||||
- 在 Period 选择 N Minutes 1 Minute
|
||||
- 在 Script content 填写 php /www/wwwroot/路径/artisan schedule:run
|
||||
|
||||
根据上述信息添加每1分钟执行一次的定时任务。
|
||||
|
||||
Reference in New Issue
Block a user