在nginx.conf中使用环境变量或参数

问题描述 投票:0回答:1

我尝试在nginx.conf中添加一个proxy_pass

location /example/ {
    proxy_pass   http://example.com;
}

但是,我不想在conf文件中对http://example.com进行硬编码,而是希望在环境变量中使用此值。

如何在nginx.conf中使用环境变量?或者有没有更好的方法,nginx没有外部配置?

nginx nginx-location
1个回答
2
投票

如果你想将纯环境变量放入nginx配置中,你需要在Lua语言中实现一些代码:

https://blog.doismellburning.co.uk/environment-variables-in-nginx-config/

如果您对此NGinx没有高负载,我建议实施上述解决方案。

在我的特定情况下,为了减少CPU负载,我更喜欢使用带有变量的分隔文件和rc.local(或dockerfile)中的脚本来在我的机器进行lauching时更改这些文件。

conf.d / exemple.conf

include backends/exemple.host;

location ~ ^/exemple {

    proxy_pass $exemple;
}

后端/ exemple.host

set $exemple {BACKEND};

在rc.local

sed -i "s@set \$checkout.*@set \$checkout $HOSTNAME\;@"  /etc/nginx/backends/exemple.host

到最后一个解决方案工作,我需要在O.S.上更改NGinx启动顺序。

© www.soinside.com 2019 - 2024. All rights reserved.