nginx形态外推的环境变量

nginx形态外推的环境变量,nginx,confd,Nginx,Confd,我正在使用confd根据我的环境呈现我的配置文件 $ ls -R /etc/confd /etc/confd/: conf.d templates /etc/confd/conf.d: my_app.toml /etc/confd/templates: my_app.tmpl 我的配置: $cat/etc/confd/conf.d/my_app.toml [模板] src=“my_app.tmpl” dest=“/etc/nginx/sites enabled/my_app.conf”

我正在使用
confd
根据我的环境呈现我的配置文件

$ ls -R /etc/confd
/etc/confd/:
conf.d  templates

/etc/confd/conf.d:
my_app.toml

/etc/confd/templates:
my_app.tmpl
我的配置:

$cat/etc/confd/conf.d/my_app.toml
[模板]
src=“my_app.tmpl”
dest=“/etc/nginx/sites enabled/my_app.conf”
$cat/etc/confd/templates/my_app.tmpl
# ...
位置@rewriteapp{
最后重写^(.*)$/{{getenv”/app/entry/point“}}/$1;
}
# ...
confd
运行良好

$ export APP_ENTRY_POINT="app_dev.php"
$ confd -onetime -backend env
2016-04-15T13:54:29Z 1c682a040707 /usr/local/bin/confd[44]: INFO Backend set to env
2016-04-15T13:54:29Z 1c682a040707 /usr/local/bin/confd[44]: INFO Starting confd
2016-04-15T13:54:29Z 1c682a040707 /usr/local/bin/confd[44]: INFO Backend nodes set to
2016-04-15T13:54:29Z 1c682a040707 /usr/local/bin/confd[44]: INFO Target config /etc/nginx/sites-enabled/my_app.conf out of sync
2016-04-15T13:54:29Z 1c682a040707 /usr/local/bin/confd[44]: INFO Target config /etc/nginx/sites-enabled/my_app.conf has been updated
但是生成的文件没有解析变量

$cat/etc/nginx/sites enabled/my_app.conf
# ...
位置@rewriteapp{
最后重写^(.*)$/$1;
#^-我应该在`//`
}
# ...
  • 我做错什么了吗
  • 我如何调试这个
与之不同,
confd
(0.11.0)
getenv
函数似乎不希望环境变量作为路径
/app/entry/point

环境变量实际上保持原样:
APP\u ENTRY\u POINT

因此,模板应该简单地说:

$cat/etc/confd/templates/my_app.tmpl
# ...
位置@rewriteapp{
最后重写^(.*)$/{{getenv“APP_ENTRY_POINT”}/$1;
}
# ...

-debug
-verbose
选项来检查正在发生的事情

您链接的页面使用
getv
,而不是
getenv
。您确定这不是您遇到的实际错误吗?