env
'env' 指令允许您为 NGINX 的工作进程定义环境变量。 — NGINX Core
env
main
语法env NAME;
默认值none
上下文main
模块NGINX Core
参数1
说明
'env' 指令在 NGINX 配置文件的主上下文中使用,用于指定应传递给工作进程的环境变量。这对于设置工作进程在运行时可能需要访问的配置值尤其有用,例如 API 密钥、数据库连接字符串或其他可随部署环境变化的设置。'env' 指令的语法很简单;它接受一个参数,用于指定要设置的环境变量名称。您可以使用多个 'env' 指令来设置多个变量,因为每个指令都是独立生效的。 在底层的 C 代码中,'env' 指令在 NGINX 启动阶段被处理。指定的变量会被添加到 NGINX 工作进程的环境变量中,允许像访问任何标准环境变量一样访问它们。'env' 指令在将应用部署到容器化环境(如 Docker)或编排系统(如 Kubernetes)时尤其有用,因为它补充了部署的配置管理实践,使得无需修改应用代码即可轻松修改设置。 需要注意的是,通过 'env' 指令设置的值在 NGINX 进程重新加载时不会持续生效,除非它们在配置文件中被再次显式包含。此外,在启动 NGINX 之后通过系统对环境变量所做的任何更改都不会生效,除非重新启动 NGINX 进程。因此,理解如何有效使用此指令对于在各类部署中维护配置至关重要。
配置示例
env MY_DATABASE_USER; env MY_API_KEY;
⚠
在添加或修改 'env' 指令后,务必重启 NGINX 以使更改生效。
⚠
环境变量必须在正确的上下文中引用,才能被工作进程访问。