## aaPanel 快速部署指南 本指南介绍如何使用 aaPanel 部署 Xboard。 ⚠️ 不建议在 CentOS 7 上部署,可能会遇到兼容性问题。 ### 1. 环境准备 安装 aaPanel: ```bash URL=https://www.aapanel.com/script/install_6.0_en.sh && \ if [ -f /usr/bin/curl ];then curl -ksSO "$URL" ;else wget --no-check-certificate -O install_6.0_en.sh "$URL";fi && \ bash install_6.0_en.sh aapanel ``` ### 2. 环境配置 1. 在 aaPanel 中安装 LNMP: - Nginx(任意版本) - MySQL 5.7 - PHP 8.1 2. 安装 PHP 扩展: - redis - fileinfo - swoole4 - readline - event 3. 解除 PHP 禁用函数: - putenv - proc_open - pcntl_alarm - pcntl_signal ### 3. 部署步骤 1. 添加站点: - 进入 aaPanel > Website > Add site - 填写域名 - 数据库选择 MySQL - PHP 版本选择 8.1 2. 安装 Xboard: ```bash # 进入站点目录 cd /www/wwwroot/你的域名 # 清理目录 chattr -i .user.ini rm -rf .htaccess 404.html 502.html index.html .user.ini # 克隆代码 git clone -b new https://github.com/cedar2025/Xboard.git ./ # 安装依赖 sh init.sh ``` 3. 配置站点: - 设置运行目录为 `/public` - 配置伪静态规则: ```nginx 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; } ``` 4. 配置守护进程: - 安装 Supervisor - 添加队列守护进程: - 名称:`Xboard` - 运行用户:`www` - 运行目录:站点目录 - 启动命令:`php artisan horizon` - 进程数:1 5. 添加计划任务: - 类型:Shell Script - 任务名:v2board - 周期:1分钟 - 脚本内容:`php /www/wwwroot/站点目录/artisan schedule:run` ### 4. 开启 Octane(可选) 1. 配置 PHP: ```bash cp /www/server/php/81/etc/php.ini cli-php.ini sed -i 's/^disable_functions[[:space:]]*=[[:space:]]*.*/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/g' cli-php.ini ``` 2. 添加 Octane 守护进程: - 名称:Octane - 运行用户:www - 运行目录:站点目录 - 启动命令:`/www/server/php/81/bin/php artisan octane:start --port 7010` - 进程数:1 3. 更新伪静态规则: ```nginx location ~* \.(jpg|jpeg|png|gif|js|css|svg|woff2|woff|ttf|eot|wasm|json|ico)$ { } location ~ .* { proxy_pass http://127.0.0.1:7010; proxy_http_version 1.1; proxy_set_header Connection ""; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-PORT $remote_port; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header Scheme $scheme; proxy_set_header Server-Protocol $server_protocol; proxy_set_header Server-Name $server_name; proxy_set_header Server-Addr $server_addr; proxy_set_header Server-Port $server_port; } ``` ### 5. 版本更新 ```bash # 更新代码 cd /www/wwwroot/你的域名 sh update.sh # 如果启用了 Octane,需要重启守护进程 # aaPanel > App Store > Tools > Supervisor > 重启 Octane ``` ### 注意事项 - 修改后台路径需要重启服务才能生效 - 启用 octane 后的任何代码修改都需要重启才能生效