ario_server/doc/config-zh.md
shanshanzhong c582087c0f
Some checks failed
Build docker and publish / build (20.15.1) (push) Failing after 6m27s
refactor: 更新项目引用路径从perfect-panel/ppanel-server到perfect-panel/server
feat: 添加版本和构建时间变量
fix: 修正短信队列类型注释错误
style: 清理未使用的代码和测试文件
docs: 更新安装文档中的下载链接
chore: 迁移数据库脚本添加日志和订阅配置
2025-10-13 01:33:03 -07:00

6.8 KiB
Raw Blame History

PPanel 配置指南

本文件为 PPanel 应用程序的配置文件提供全面指南。配置文件采用 YAML 格式定义了服务器、日志、数据库、Redis 和管理员访问的相关设置。

1. 配置文件概述

  • 默认路径./etc/ppanel.yaml
  • 自定义路径:通过启动参数 --config 指定配置文件路径。
  • 格式YAML 格式,支持注释,文件名需以 .yaml 结尾。

2. 配置文件结构

以下是配置文件示例,包含默认值和说明:

# PPanel 配置文件
Host: "0.0.0.0"                     # 服务监听地址
Port: 8080                          # 服务监听端口
Debug: false                        # 是否开启调试模式(禁用后台日志)
JwtAuth: # JWT 认证配置
  AccessSecret: ""                  # 访问令牌密钥(为空时随机生成)
  AccessExpire: 604800              # 访问令牌过期时间(秒)
Logger: # 日志配置
  ServiceName: ""                   # 日志服务标识名称
  Mode: "console"                   # 日志输出模式console、file、volume
  Encoding: "json"                  # 日志格式json、plain
  TimeFormat: "2006-01-02T15:04:05.000Z07:00"  # 自定义时间格式
  Path: "logs"                      # 日志文件目录
  Level: "info"                     # 日志级别info、error、severe
  Compress: false                   # 是否压缩日志文件
  KeepDays: 7                       # 日志保留天数
  StackCooldownMillis: 100          # 堆栈日志冷却时间(毫秒)
  MaxBackups: 3                     # 最大日志备份数
  MaxSize: 50                       # 最大日志文件大小MB
  Rotation: "daily"                 # 日志轮转策略daily、size
MySQL: # MySQL 数据库配置
  Addr: ""                          # MySQL 地址(必填)
  Username: ""                      # MySQL 用户名(必填)
  Password: ""                      # MySQL 密码(必填)
  Dbname: ""                        # MySQL 数据库名(必填)
  Config: "charset=utf8mb4&parseTime=true&loc=Asia%2FShanghai"  # MySQL 连接参数
  MaxIdleConns: 10                  # 最大空闲连接数
  MaxOpenConns: 100                 # 最大打开连接数
  LogMode: "info"                   # 日志级别debug、error、warn、info
  LogZap: true                      # 是否使用 Zap 记录 SQL 日志
  SlowThreshold: 1000               # 慢查询阈值(毫秒)
Redis: # Redis 配置
  Host: "localhost:6379"            # Redis 地址
  Pass: ""                          # Redis 密码
  DB: 0                             # Redis 数据库索引
Administer: # 管理员登录配置
  Email: "admin@ppanel.dev"         # 管理员登录邮箱
  Password: "password"              # 管理员登录密码

3. 配置项说明

3.1 服务器设置

  • Host:服务监听的地址。
    • 默认:0.0.0.0(监听所有网络接口)。
  • Port:服务监听的端口。
    • 默认:8080
  • Debug:是否开启调试模式,开启后禁用后台日志功能。
    • 默认:false

3.2 JWT 认证 (JwtAuth)

  • AccessSecret:访问令牌的密钥。
    • 默认:为空时随机生成。
  • AccessExpire:令牌过期时间(秒)。
    • 默认:6048007天

3.3 日志配置 (Logger)

  • ServiceName:日志的服务标识名称,在 volume 模式下用作日志文件名。
    • 默认:""
  • Mode:日志输出方式。
    • 选项:console(标准输出/错误输出)、file(写入指定目录)、volumeDocker 卷)。
    • 默认:console
  • Encoding:日志格式。
    • 选项:json(结构化 JSONplain(纯文本,带颜色)。
    • 默认:json
  • TimeFormat:日志时间格式。
    • 默认:2006-01-02T15:04:05.000Z07:00
  • Path:日志文件存储目录。
    • 默认:logs
  • Level:日志过滤级别。
    • 选项:info(记录所有日志)、error(仅错误和严重日志)、severe(仅严重日志)。
    • 默认:info
  • Compress:是否压缩日志文件(仅在 file 模式下生效)。
    • 默认:false
  • KeepDays:日志文件保留天数。
    • 默认:7
  • StackCooldownMillis:堆栈日志冷却时间(毫秒),防止日志过多。
    • 默认:100
  • MaxBackups:最大日志备份数量(仅在 size 轮转时生效)。
    • 默认:3
  • MaxSize日志文件最大大小MB仅在 size 轮转时生效)。
    • 默认:50
  • Rotation:日志轮转策略。
    • 选项:daily(按天轮转)、size(按大小轮转)。
    • 默认:daily

3.4 MySQL 数据库 (MySQL)

  • AddrMySQL 服务器地址。
    • 必填。
  • UsernameMySQL 用户名。
    • 必填。
  • PasswordMySQL 密码。
    • 必填。
  • DbnameMySQL 数据库名。
    • 必填。
  • ConfigMySQL 连接参数。
    • 默认:charset=utf8mb4&parseTime=true&loc=Asia%2FShanghai
  • MaxIdleConns:最大空闲连接数。
    • 默认:10
  • MaxOpenConns:最大打开连接数。
    • 默认:100
  • LogModeSQL 日志级别。
    • 选项:debugerrorwarninfo
    • 默认:info
  • LogZap:是否使用 Zap 记录 SQL 日志。
    • 默认:true
  • SlowThreshold:慢查询阈值(毫秒)。
    • 默认:1000

3.5 Redis 配置 (Redis)

  • HostRedis 服务器地址。
    • 默认:localhost:6379
  • PassRedis 密码。
    • 默认:""(无密码)。
  • DBRedis 数据库索引。
    • 默认:0

3.6 管理员登录 (Administer)

  • Email:管理员登录邮箱。
    • 默认:admin@ppanel.dev
  • Password:管理员登录密码。
    • 默认:password

4. 环境变量

以下环境变量可用于覆盖配置文件中的设置:

环境变量 配置项 示例值
PPANEL_DB MySQL 配置 root:password@tcp(localhost:3306)/vpnboard
PPANEL_REDIS Redis 配置 redis://localhost:6379

5. 最佳实践

  • 安全性:生产环境中避免使用默认的 Administer 凭据,更新 EmailPassword 为安全值。
  • 日志:生产环境中建议使用 filevolume 模式持久化日志,将 Level 设置为 errorsevere 以减少日志量。
  • 数据库:确保 MySQLRedis 凭据安全,避免在版本控制中暴露。
  • JWT:为 JwtAuthAccessSecret 设置强密钥以增强安全性。

如需进一步帮助,请参考 PPanel 官方文档或联系支持团队。