docs: 优化部署、迁移文档、docker增加redis支持

1、优化部署、迁移
2、自动备份命令增加手动备份功能
3、docker部署集成redis
This commit is contained in:
xboard
2023-11-22 14:01:58 +08:00
parent 57a1d0ba48
commit d1b48623d7
20 changed files with 644 additions and 282 deletions
+81
View File
@@ -0,0 +1,81 @@
## Docker-Compose 部署教程
本文教你如何在命令行使用aapanel + docker-compose来快速Xboard
### 部署
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
选择 Fast 快速编译后进行安装。
<span style="color:yellow">⚠️ :无需安装php 与 redis</span>
3. 添加站点
>aaPanel 面板 > Website > Add site。
>>在 Domain 填入你指向服务器的域名
>>在 Database 选择MySQL
>>在 PHP Verison 选择纯静态
4. 修改 Mysql访问权限
> 不做这一步会导致连不上数据库
- aaPanel 面板 > Database 找到你的站点数据库
- 点击 Permission
- 将访问权限改为ALL(所有人)
5. 安装 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 ./
```
> 执行命令安装依赖包以及Xboard
```
docker compose run -it --rm xboard sh init.sh
```
> 根据提示完成安装
> 执行这条命令之后,会返回你的后台地址和管理员账号密码(你需要记录下来)
> 你需要执行下面的 **启动xborad** 步骤之后才能访问后台
6. 启动xboard
```
docker compose up -d
```
7. 设置反向代理
> 站点设置 > 反向代理 > 添加反向代理
>> 在 **代理名称** 填入 Xboard
>> 在 **目标URL** 填入 ```http://127.0.0.1:7001```
🎉: 到这里,你可以已经可以通过域名访问你的站点了
### 更新
1. 更新代码
>通过SSH登录到服务器后访问站点路径如:/www/wwwroot/你的站点域名。
>以下命令都需要在站点目录进行执行。
```
sh update.sh
```
2. 重启Xboard
```
docker compose restart
```
🎉: 在此你已完成Xboard的更新
+169
View File
@@ -0,0 +1,169 @@
## aapanel部署指南
> 本文将教你如何使用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 (如果没看到8.1先不选,去App Store安装)
选择 Fast 快速编译后进行安装。
3. 安装扩展
> aaPanel 面板 > App Store > 找到PHP 8.1点击Setting > Install extentions选择以下扩展进行安装
- redis
- fileinfo
- swoole4
- readline
- event
4. 解除被禁止函数
> aaPanel 面板 > App Store > 找到PHP 8.1点击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. 配置守护进程
>Xboard的系统强依赖队列服务,正常使用XBoard必须启动队列服务。下面以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分钟执行一次的定时任务。
### 开启webman
> 在上述安装的基础上开启webman提高性能
1. 配置php.ini
> 通过SSH登录到服务器后访问站点路径如:/www/wwwroot/你的站点域名。
```
cp /www/server/php/81/etc/php-cli.ini cli-php.ini
sed -i '' 's/^disable_functions=.*/disable_functions=header,header_remove,headers_sent,http_response_code,setcookie,session_create_id,session_id,session_name,session_save_path,session_status,session_start,session_write_close,session_regenerate_id,set_time_limit/' cli-php.ini
```
2. 添加守护进程
>下面以aaPanel中supervisor服务来守护队列服务作为演示。
- 1️⃣. aaPanel 面板 > App Store > Tools
- 2️⃣. 找到Supervisor进行安装,安装完成后点击设置 > Add Daemon按照如下填写
- - 在 Name 填写 webman
- - 在 Run User 选择 www
- - 在 Run Dir 选择 站点目录 在 Start Command 填写 /www/server/php/81/bin/php -c cli-php.ini webman start 在 Processes 填写 1
>填写后点击Confirm添加即可运行。
3. 添加反向代理
> 站点设置 > 反向代理 > 添加反向代理
>> 在 **代理名称** 填入 Xboard
>> 在 **目标URL** 填入 ```http://127.0.0.1:7010```
> 添加添加后 需要点击该反向代理的```配置文件```编辑反向代理规则做以下修改
```
location ~* \.(jpg|jpeg|png|gif|js|css|svg|woff2|woff|ttf|eot|wasm|json|ico)$ {}
location ^~ /
{
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_http_version 1.1;
# proxy_hide_header Upgrade;
add_header X-Cache $upstream_cache_status;
#Set Nginx Cache
set $static_filetmMCG7Tk 0;
if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
{
set $static_filetmMCG7Tk 1;
expires 1m;
}
if ( $static_filetmMCG7Tk = 0 )
{
add_header Cache-Control no-cache;
}
}
```
> 在此你的webman已经成功部署了
### 更新
1. 更新代码
> 通过SSH登录到服务器后访问站点路径如:/www/wwwroot/你的站点域名。
```
sh update.sh
```
2. 重启webman 守护进程(如果启用了webman)
- 1️⃣. aaPanel 面板 > App Store > Tools
- 2️⃣. 找到Supervisor点击设置,找到名为webman的守护进程点击重启即可
+29
View File
@@ -0,0 +1,29 @@
#### 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 xboard php artisan migrateFromV2b config
docker compose up -d
```
#### aapanel 环境
1. 将旧的 ```config/v2board.php``` 文件复制到 xboard的 ```config/v2board.php``` 下
2. 执行下面的命令,即可完成迁移
```
php artisan migrateFromV2b config
```
### aapanel + docker 环境
1. 将旧的 ```config/v2board.php``` 文件复制到 xboard的 ```config/v2board.php``` 下
2. 执行下面的命令,即可完成迁移
```
docker compose down
docker compose run -it --rm xboard php artisan migrateFromV2b config
docker compose up -d
```
+66
View File
@@ -0,0 +1,66 @@
## Docker-Compose 部署教程
本文教你如何在命令行使用docker-compose + sqlite来快速部署Xboard
如果你需要使用Mysql,你需要自行处理好Mysql的安装。
### 部署 (使用docker-compose 2分钟部署)
> 在此提供Xboard安装、快速体验Xboard的步骤。
使用docker compose + sqlite 快速部署站点(**无需安装Mysql以及redis**
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. 执行数据库安装命令
> 选择 **启用sqlite** 和 **Docker内置的Redis**
```
docker compose run -it --rm xboard php artisan xboard:install
```
> 执行这条命令之后,会返回你的后台地址和管理员账号密码(你需要记录下来)
> 你需要执行下面的 **启动xborad** 步骤之后才能访问后台
4. 启动Xboard
```
docker compose up -d
```
> 安装完成之后即可访问你的站点
5. 访问站点
> 启动之后网站端口默认为7001, 你可以配置nginx反向代理使用80端口
网站地址: http://你的IP:7001/
在此你已经成功部署了, 你可以访问网址体验Xboard的完整功能,
> 如果你需要使用mysql,请自行安装Mysql后重新部署
### **更新**
1. 修改版本
```
cd Xboard
vi docker-compose.yaml
```
> 修改docker-compose.yaml 当中image后面的版本号为你需要的版本
2. 更新数据库(可以执行多次都是安全的)
```
docker compose pull
docker compose down
docker compose run -it --rm xboard php artisan xboard:update
docker compose up -d
```
> 即可更新成功
### **回滚**
> 此回滚不回滚数据库,是否回滚数据库请查看相关文档
1. 回退版本
```
vi docker-compose.yaml
```
> 修改docker-compose.yaml 当中image后面的版本号为更新前的版本号
2. 启动
```
dockcer compose up -d
```
+33 -7
View File
@@ -14,14 +14,40 @@
- 添加 v2_server_hysteria 数据表
- 添加 v2_server_vless 数据表
### 迁移命令
## 迁移之前
迁移之前你需要执行正常安装步骤(记得不可选择Sqlite)
> sqlite迁移请自行学习相关知识
- [Docker Compose 纯命令行快速部署](./docs/docker-compose安装指南.md)
- [aapanel + Docker Compose](./docs/aapanel+docker安装指南.md)
- [aapanel 部署](./docs/)
## 开始迁移
> 针对docker与非docker用户提供不同的迁移步骤,你根据你的安装环境选择其一即可。
### docker 环境
> 以下命令需要你打开SSH进入到项目目录进行执行
1. 停止Xboard
```
docker compose down
```
2. 清空数据库
```
docker compose run -it --rm xboard php artisan db:wipe
```
3. 执行迁移命令
```
docker compose run -it --rm xboard php artisan migratefromv2b 1.7.3
```
## aapanel 环境
1. 清空数据库
```
php artisan db:wipe
```
2. 执行迁移命令
```
php artisan migratefromv2b 1.7.3
```
>如果你是docker-compose 部署
```
docker compose down
docker compose run -it --rm xboard php artisan migratefromv2b 1.7.3
docker compose up -d
```
> 上述迁移完成之后你需要进行 配置文件迁移
## config/v2board.php 配置文件迁移 [点击查看步骤](./config迁移指南.md)
> xboard将配置储存到数据库, 不再使用file进行储存,你需要对配置文件进行迁移。
+33 -10
View File
@@ -3,17 +3,40 @@
### 迁移脚本会对你的数据库做以下更改
- 添加 v2_server_vless 数据表
### 迁移命令
#### 手动部署(aapanel)
> 如果你是手动(aapanel)部署的,执行以下命令
## 迁移之前
迁移之前你需要执行正常安装步骤(记得不可选择Sqlite)
> sqlite迁移请自行学习相关知识
- [Docker Compose 纯命令行快速部署](./docs/docker-compose安装指南.md)
- [aapanel + Docker Compose](./docs/aapanel+docker安装指南.md)
- [aapanel 部署](./docs/)
## 开始迁移
> 针对docker与非docker用户提供不同的迁移步骤,你根据你的安装环境选择其一即可。
### docker 环境
> 以下命令需要你打开SSH进入到项目目录进行执行
1. 停止Xboard
```
docker compose down
```
2. 清空数据库
```
docker compose run -it --rm xboard php artisan db:wipe
```
3. 执行迁移命令
```
docker compose run -it --rm xboard php artisan migratefromv2b 1.7.4
```
## aapanel 环境
1. 清空数据库
```
php artisan db:wipe
```
2. 执行迁移命令
```
php artisan migratefromv2b 1.7.4
```
#### docker部署
> 如果你是使用的docker 部署,清执行以下命令
```
docker compose down
docker compose run -it --rm xboard php artisan migratefromv2b 1.7.4
docker compose up -d
```
> 上述迁移完成之后你需要进行 配置文件迁移
## config/v2board.php 配置文件迁移 [点击查看步骤](./config迁移指南.md)
> xboard将配置储存到数据库, 不再使用file进行储存,你需要对配置文件进行迁移。
+33 -10
View File
@@ -11,17 +11,40 @@
- 删除 `ignore_client_bandwidth` 字段
- 删除 `obfs_type` 字段
### 迁移命令
#### 手动部署(aapanel)
> 如果你是手动(aapanel)部署的,执行以下命令
## 迁移之前
迁移之前你需要执行正常安装步骤(记得不可选择Sqlite)
> sqlite迁移请自行学习相关知识
- [Docker Compose 纯命令行快速部署](./docs/docker-compose安装指南.md)
- [aapanel + Docker Compose](./docs/aapanel+docker安装指南.md)
- [aapanel 部署](./docs/)
## 开始迁移
> 针对docker与非docker用户提供不同的迁移步骤,你根据你的安装环境选择其一即可。
### docker 环境
> 以下命令需要你打开SSH进入到项目目录进行执行
1. 停止Xboard
```
docker compose down
```
2. 清空数据库
```
docker compose run -it --rm xboard php artisan db:wipe
```
3. 执行迁移命令
```
docker compose run -it --rm xboard php artisan migratefromv2b dev231027
```
## aapanel 环境
1. 清空数据库
```
php artisan db:wipe
```
2. 执行迁移命令
```
php artisan migratefromv2b dev231027
```
#### docker部署
> 如果你是使用的docker 部署,清执行以下命令
```
docker compose down
docker compose run -it --rm xboard php artisan migratefromv2b dev231027
docker compose up -d
```
> 上述迁移完成之后你需要进行 配置文件迁移
## config/v2board.php 配置文件迁移 [点击查看步骤](./config迁移指南.md)
> xboard将配置储存到数据库, 不再使用file进行储存,你需要对配置文件进行迁移。
+34 -7
View File
@@ -17,13 +17,40 @@
- v2_user
- 删除字段 `device_limit`
### 迁移命令
## 迁移之前
迁移之前你需要执行正常安装步骤(记得不可选择Sqlite)
> sqlite迁移请自行学习相关知识
- [Docker Compose 纯命令行快速部署](./docs/docker-compose安装指南.md)
- [aapanel + Docker Compose](./docs/aapanel+docker安装指南.md)
- [aapanel 部署](./docs/)
## 开始迁移
> 针对docker与非docker用户提供不同的迁移步骤,你根据你的安装环境选择其一即可。
### docker 环境
> 以下命令需要你打开SSH进入到项目目录进行执行
1. 停止Xboard
```
docker compose down
```
2. 清空数据库
```
docker compose run -it --rm xboard php artisan db:wipe
```
3. 执行迁移命令
```
docker compose run -it --rm xboard php artisan migratefromv2b wyx2685
```
## aapanel 环境
1. 清空数据库
```
php artisan db:wipe
```
2. 执行迁移命令
```
php artisan migratefromv2b wyx2685
```
>如果你是docker-compose 部署
```
docker compose down
docker compose run -it --rm xboard php artisan migratefromv2b wyx2685
docker compose up -d
```
> 上述迁移完成之后你需要进行 配置文件迁移
## config/v2board.php 配置文件迁移 [点击查看步骤](./config迁移指南.md)
> xboard将配置储存到数据库, 不再使用file进行储存,你需要对配置文件进行迁移。