系统配置
⚙️ 系统配置
详细配置指南,让 Toolbox 更符合你的需求
配置文件说明
Section titled “配置文件说明”Toolbox 的主要配置文件位于项目根目录:
toolbox/├── .env # 环境配置文件(重要)├── config/│ ├── app.php # 应用配置│ ├── cache.php # 缓存配置│ ├── database.php # 数据库配置│ ├── session.php # 会话配置│ └── view.php # 视图配置└── ...环境配置 (.env)
Section titled “环境配置 (.env)”.env 文件是 Toolbox 最重要的配置文件,包含数据库、缓存等敏感信息。
# 应用模式(debug 或 production)APP_DEBUG = false
# 应用名称APP_NAME = Toolbox
# 应用版本APP_VERSION = 1.0.0# 数据库类型DB_TYPE = mysql
# 数据库主机DB_HOST = localhost
# 数据库端口DB_PORT = 3306
# 数据库名DB_NAME = toolbox
# 数据库用户名DB_USER = toolbox
# 数据库密码DB_PASS = your_password
# 数据库编码DB_CHARSET = utf8mb4# 缓存类型(file 或 redis)CACHE_TYPE = file
# Redis 配置(当 CACHE_TYPE=redis 时生效)REDIS_HOST = 127.0.0.1REDIS_PORT = 6379REDIS_PASSWORD =REDIS_SELECT = 0# 会话驱动(file 或 redis)SESSION_TYPE = file
# 会话过期时间(秒)SESSION_EXPIRE = 7200后台系统配置
Section titled “后台系统配置”登录后台后,可以在”系统配置”页面进行可视化配置:
基础信息配置
Section titled “基础信息配置”| 配置项 | 说明 | 示例 |
|---|---|---|
| 网站标题 | 浏览器标签页显示的标题 | 我的工具箱 |
| 网站副标题 | 首页显示的大标题 | 在线工具集合 |
| 关键字 | SEO 关键字 | 工具箱,在线工具,实用工具 |
| 网站描述 | SEO 描述 | 提供各种实用的在线工具… |
Toolbox 支持多模板切换:
- 进入后台 → 系统配置
- 找到”模板选择”下拉框
- 选择喜欢的模板
- 保存配置
支持第三方登录(QQ、微信):
# 接口地址oauth_appurl = https://oauth.example.com/
# 应用 IDoauth_appid = your_app_id
# 应用密钥oauth_appkey = your_app_key
# 开启 QQ 登录oauth_openqq = 1
# 开启微信登录oauth_openwx = 1配置极验滑动验证码 V4:
# 极验 IDcaptcha_id = your_captcha_id
# 极验密钥captcha_key = your_captcha_keyAPI 配置
Section titled “API 配置”Yapi 接口
Section titled “Yapi 接口”配置了 Yapi Token 后,部分工具(如 ICP 查询、QQ 等级查询)可以使用 Yapi 服务:
yapi_token = your_yapi_tokenQQ-API 接口
Section titled “QQ-API 接口”用于 ICP 备案查询、QQ 等级查询等工具:
# 接口地址(必须以 / 结尾)qqapi_url = https://qqapi.example.com/
# 接口密钥qqapi_key = your_api_keyCDN 配置
Section titled “CDN 配置”可以配置自定义 CDN 源加速静态资源:
# CDNJS 源cdn_cdnjs = https://cdnjs.cloudflare.com/ajax/libs/
# NPM CDN 源cdn_npm = https://unpkg.com/数据库配置优化
Section titled “数据库配置优化”编辑 config/database.php:
return [ 'default' => 'mysql', 'connections' => [ 'mysql' => [ 'type' => 'mysql', 'hostname' => env('DB_HOST', 'localhost'), 'database' => env('DB_NAME', 'toolbox'), 'username' => env('DB_USER', 'root'), 'password' => env('DB_PASS', ''), 'hostport' => env('DB_PORT', '3306'), 'params' => [ // 连接参数 PDO::ATTR_CASE => PDO::CASE_NATURAL, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, ], 'charset' => 'utf8mb4', 'prefix' => '', 'debug' => true, 'deploy' => 0, 'rw_separate' => false, 'master_num' => 1, 'slave_no' => '', 'fields_strict' => true, 'break_reconnect' => false, 'trigger_sql' => true, 'fields_cache' => false, ], ],];数据库优化建议
Section titled “数据库优化建议”-
定期优化表
OPTIMIZE TABLE table_name; -
添加索引
-- 为常用查询字段添加索引ALTER TABLE plugin ADD INDEX idx_category (category_id);ALTER TABLE plugin ADD INDEX idx_enable (enable); -
定期备份
Terminal window mysqldump -u root -p toolbox > backup.sql
缓存配置详解
Section titled “缓存配置详解”默认使用文件缓存,无需额外配置。
Redis 缓存
Section titled “Redis 缓存”安装 Redis
Section titled “安装 Redis”# Ubuntu/Debiansudo apt install redis-server
# CentOS/RHELsudo yum install redis
# 启动 Redissudo systemctl start redissudo systemctl enable redis配置 Redis
Section titled “配置 Redis”编辑 .env:
CACHE_TYPE = redisREDIS_HOST = 127.0.0.1REDIS_PORT = 6379REDIS_PASSWORD =REDIS_SELECT = 0验证 Redis
Section titled “验证 Redis”# 连接 Redisredis-cli
# 测试127.0.0.1:6379> pingPONG缓存性能对比
Section titled “缓存性能对比”| 缓存类型 | 读取速度 | 写入速度 | 适用场景 |
|---|---|---|---|
| File | ⭐⭐ | ⭐⭐ | 小型网站 |
| Redis | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | 中大型网站 |
-
使用强密码
- 至少 8 位字符
- 包含大小写字母、数字、特殊符号
- 定期更换密码
-
启用验证码
- 配置极验验证码
- 防止暴力破解
-
定期查看日志
- 检查异常登录
- 查看
runtime/log/目录
-
最小权限原则
-- 只授予必要权限GRANT SELECT, INSERT, UPDATE, DELETE ON toolbox.* TO 'toolbox'@'localhost'; -
使用独立用户
- 不要和系统其他应用共用数据库账号
-
定期更换密码
ALTER USER 'toolbox'@'localhost' IDENTIFIED BY 'new_password';
文件权限安全
Section titled “文件权限安全”# 设置正确的文件权限chown -R www-data:www-data /var/www/toolboxchmod -R 755 /var/www/toolboxchmod -R 777 /var/www/toolbox/runtime
# 禁止访问敏感文件chmod 600 /var/www/toolbox/.env开启 OPCache
Section titled “开启 OPCache”编辑 php.ini:
opcache.enable = 1opcache.enable_cli = 1opcache.memory_consumption = 256opcache.interned_strings_buffer = 8opcache.max_accelerated_files = 10000opcache.revalidate_freq = 60opcache.fast_shutdown = 1启用 Gzip 压缩
Section titled “启用 Gzip 压缩”gzip on;gzip_vary on;gzip_min_length 1024;gzip_types text/plain text/css text/xml text/javascript application/json application/javascript application/xml+rss application/rss+xml font/truetype font/opentype application/vnd.ms-fontobject image/svg+xml;Apache
Section titled “Apache”<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/css text/javascript application/javascript application/json</IfModule>静态资源 CDN
Section titled “静态资源 CDN”将静态资源放到 CDN 加速:
- 将
public/static/目录上传到 CDN - 在系统配置中修改 CDN 地址
- 刷新 CDN 缓存
自动备份脚本
Section titled “自动备份脚本”创建 backup.sh:
#!/bin/bash
# 备份目录BACKUP_DIR="/backup/toolbox"DATE=$(date +%Y%m%d_%H%M%S)
# 创建备份目录mkdir -p $BACKUP_DIR
# 备份数据库mysqldump -u root -p'your_password' toolbox > $BACKUP_DIR/db_$DATE.sql
# 备份文件tar -czf $BACKUP_DIR/files_$DATE.tar.gz -C /var/www toolbox
# 删除 7 天前的备份find $BACKUP_DIR -name "*.sql" -mtime +7 -deletefind $BACKUP_DIR -name "*.tar.gz" -mtime +7 -delete
echo "Backup completed: $DATE"添加到定时任务:
# 每天凌晨 3 点执行备份0 3 * * * /path/to/backup.sh >> /var/log/toolbox_backup.log 2>&1⚙️ 配置完成!
现在 Toolbox 已经按照你的需求配置好了~