我有以下情况:我有一个env变量$SOME_IP
定义,并希望在nginx块中使用它。谈到nginx documentation我用env
指令在nginx.conf
文件类似如下:nginx:使用环境变量
user www-data;
worker_processes 4;
pid /run/nginx.pid;
env SOME_IP;
现在我想用变量的proxy_pass
。我试了一下像下面这样:
location/{
proxy_pass http://$SOME_IP:8000;
}
但我结束了此错误消息:nginx: [emerg] unknown "some_ip" variable
谢谢!但是没有选择使用在服务器块中'nginx.conf'中定义的变量吗? – schickling
在服务器块中,您使用语法'set $ var“value”;',然后在整个配置中引用$ var。但是你不能使用env变量。 –
为人们节省了一些时间(以上需要自定义构建),您可以使用模板和名为envsubst的工具http://serverfault.com/a/755541/116508为docker做了这个工作,并且它可以工作,只需指定env变量或者你可能会无意中清除nginx中的变量,例如'''$ host''' – Louis