Sim*_*lli 4 nginx nginx-location
我尝试在 nginx.conf 中添加一个 proxy_pass 像
location /example/ {
proxy_pass http://example.com;
}
Run Code Online (Sandbox Code Playgroud)
但不是在 conf 文件中硬编码http://example.com我想在环境变量中使用这个值。
如何在 nginx.conf 中使用环境变量?或者有没有更好的 nginx 没有外部配置的方法?
小智 7
如果你想在 nginx 配置中加入纯环境变量,你需要用 Lua 语言实现一些代码:
https://blog.doismellburning.co.uk/environment-variables-in-nginx-config/
如果您在此 NGinx 上没有高负载,我建议您实现上述解决方案。
在我的特定情况下,为了减少 CPU 负载,我更喜欢rc.local在启动机器时使用带有变量和脚本(或 dockerfile)的分离文件来更改这些文件。
conf.d/example.conf
include backends/exemple.host;
location ~ ^/exemple {
proxy_pass $exemple;
}
Run Code Online (Sandbox Code Playgroud)
后端/example.host
set $exemple {BACKEND};
Run Code Online (Sandbox Code Playgroud)
本地
sed -i "s@set \$exemple.*@set \$exemple $HOSTNAME\;@" /etc/nginx/backends/exemple.host
Run Code Online (Sandbox Code Playgroud)
为了最后一个解决方案有效,我需要更改操作系统上的 NGinx 启动顺序
| 归档时间: |
|
| 查看次数: |
5394 次 |
| 最近记录: |