主题
配置文件
Pingora 使用灵活的配置系统来控制服务器行为、代理规则和运行参数。
配置文件通常采用 YAML 格式,既简洁又易读。
配置文件位置
默认情况下,Pingora 会在以下路径查找配置文件:
bash
/etc/pingora/config.yaml
你也可以通过命令行参数指定配置路径:
bash
pingora --config /path/to/config.yaml
基本配置示例
下面是一个最小可用的 Pingora 配置文件示例:
yaml
server:
listen: "0.0.0.0:8080"
workers: 4
reuse_port: true
proxy:
upstreams:
- name: backend
servers:
- "127.0.0.1:8000"
logging:
level: info
file: /var/log/pingora.log
核心配置项说明
1. server
部分
定义服务器运行方式和网络监听行为。
参数 | 类型 | 示例 | 说明 |
---|---|---|---|
listen | 字符串 | "0.0.0.0:8080" | 指定监听地址与端口 |
workers | 数字 | 4 | 启动的工作进程数量 |
reuse_port | 布尔 | true | 是否启用 SO_REUSEPORT 优化端口复用 |
2. proxy
部分
定义代理转发规则与上游服务。
参数 | 类型 | 示例 | 说明 |
---|---|---|---|
upstreams | 数组 | — | 定义上游服务器集群 |
name | 字符串 | "backend" | 上游名称 |
servers | 数组 | ["127.0.0.1:8000"] | 上游服务地址 |
3. logging
部分
控制日志输出位置与级别。
参数 | 类型 | 示例 | 说明 |
---|---|---|---|
level | 字符串 | "info" | 日志级别,可选 debug 、info 、warn 、error |
file | 字符串 | /var/log/pingora.log | 日志文件路径 |
4. metrics
(可选)
启用 Prometheus 监控导出。
yaml
metrics:
enable: true
listen: "127.0.0.1:9090"
5. tls
(可选)
配置 HTTPS 支持(基于 BoringSSL)。
yaml
tls:
cert: /etc/ssl/certs/server.crt
key: /etc/ssl/private/server.key
验证配置文件
运行以下命令检查配置是否正确:
bash
pingora --check-config /etc/pingora/config.yaml
如无错误,命令会输出:
txt
Configuration OK
提示与最佳实践
- 使用 环境变量 替换敏感配置,如密钥或上游地址;
- 将日志与 PID 文件路径写入
/var/run
或/var/log
; - 若部署多实例,建议区分配置文件路径;
- 对性能关键配置(如 worker 数)进行逐步调整测试。
Pingora 的配置系统非常灵活,支持从简单的反向代理到复杂的多层代理拓扑。掌握配置语法后,你可以轻松构建高性能、可维护的代理服务。