环境变量
APISIX 支持在配置文件和插件字符串字段中使用环境变量。部分变量有保留用途,你也可以定义用于部署特定值和 Secret 的自定义变量。
保留环境变量
APISIX 目前保留以下环境变量:
| 变量名 | 描述 |
|---|---|
APISIX_DEPLOYMENT_ETCD_HOST | etcd 主机地址。 |
APISIX_PROFILE | 区分 配置文件 的部署环境。 |
APISIX_WORKER_PROCESSES | 工作进程的数量。 |
要使用这些配置,请在启动 APISIX 之前为环境变量赋值。
自定义环境变量
你可以在配置文件中和某些插件中使用自定义环境变量。
将变量传递给 NGINX Worker 进程
使用 config.yaml 中的 nginx_config.envs 将变量提供给 NGINX Worker 进程。没有等号的名称会继承启动 APISIX 的环境中的值;NAME=value 条目会将配置的值赋给每个 Worker:
config.yaml
nginx_config:
envs:
- APP_MODE
- "GREETING=hello world"
APISIX 会为生成的 NGINX env 指令添加引号,因此赋值可以包含空格。嵌入的引号和反斜杠会在生成的配置中转义。包括换行符在内的控制字符会在配置校验时被拒绝。
更改 nginx_config.envs 后,请重新加载 APISIX,使新的 Worker 收到这些值。插件字段随后可通过 $env://APP_MODE、$env://GREETING 或大写形式 $ENV:// 引用它们。