阅读时间:1 分钟
0 字
环境配置
DuxLite 环境配置和生产部署的完整指南。
环境要求
系统要求
bash
# 最低要求
PHP >= 8.2
Memory >= 128M
Disk >= 1GB
# 推荐配置
PHP >= 8.3
Memory >= 512M
Disk >= 10GB
PHP 扩展
bash
# 必需扩展
php-pdo
php-mbstring
php-openssl
php-zlib
php-curl
php-xml
# 推荐扩展(性能优化)
php-opcache
php-redis
php-swoole
外部依赖
bash
# 数据库(选择之一)
MySQL >= 8.0
PostgreSQL >= 13
SQLite >= 3.35
# 缓存(可选)
Redis >= 6.0
# 队列(可选)
RabbitMQ >= 3.8
环境配置管理
DuxLite 推荐使用 TOML 配置文件管理不同环境的配置,实现配置的版本控制和团队协作。
配置文件结构
bash
config/
├── use.toml # 生产环境应用配置
├── use.dev.toml # 开发环境应用配置
├── database.toml # 生产环境数据库配置
├── database.dev.toml # 开发环境数据库配置
├── cache.toml # 缓存配置
└── server.toml # 服务器配置
开发环境配置示例
应用配置 (config/use.dev.toml)
toml
[app]
name = "我的应用-开发版"
debug = true
secret = "dev-secret-key-32-characters"
timezone = "Asia/Shanghai"
lang = "zh-CN"
domain = "http://localhost:8000"
[cache]
type = "file"
prefix = "dev_cache_"
defaultLifetime = 3600
数据库配置 (config/database.dev.toml)
toml
[db.drivers.default]
driver = "mysql"
host = "localhost"
port = 3306
database = "myapp_dev"
username = "root"
password = ""
charset = "utf8mb4"
[redis]
host = "localhost"
port = 6379
password = ""
database = 1
生产环境配置示例
应用配置 (config/use.toml)
toml
[app]
name = "我的应用"
debug = false
secret = "production-secret-key-32-chars"
timezone = "Asia/Shanghai"
lang = "zh-CN"
domain = "https://myapp.com"
[cache]
type = "redis"
prefix = "prod_cache_"
defaultLifetime = 7200
数据库配置 (config/database.toml)
toml
[db.drivers.default]
driver = "mysql"
host = "db.example.com"
port = 3306
database = "myapp_prod"
username = "app_user"
password = "secure-password-here"
charset = "utf8mb4"
[redis]
host = "redis.example.com"
port = 6379
password = "redis-password"
database = 0
环境变量(备用方案)
对于敏感信息或需要动态配置的场景,可以使用环境变量:
bash
# .env(仅在特殊情况下使用)
DB_PASSWORD=secret-password
REDIS_PASSWORD=redis-secret
MAIL_PASSWORD=mail-secret
在 TOML 中引用环境变量:
toml
[db.drivers.default]
password = "%env(DB_PASSWORD)%"
[redis]
password = "%env(REDIS_PASSWORD)%"
配置最佳实践
文件权限
bash
# 设置基本权限
chmod -R 755 .
chmod -R 775 data/
chmod 600 config/*.toml
DuxLite 环境配置简单高效,通过 TOML 配置文件实现不同环境的灵活管理。详细的服务器配置和部署说明请参考 部署指南。