由于现在需要部署 nginx 的 Pod 服务,希望 nginx 配置文件里面有关 proxy_pass
的配置在启动服务前动态修改。但是由于 nginx 的配置文件不支持使用环境变量。网上找了好些方案,最终选择使用 envsubst
的方式改写 nginx 配置文件。
什么是 envsubst
envsubst
是一个非常好用的工具,尤其善于处理和环境变量相关的事务。
通常我们需要获取某一个或者几个环境去替换系统中的某些变量,这种情况下我们只需使用sed去简单的替换掉即可,在这种场景中,sed就可以满足我们的需求,但是如果我们需要修改的变量较多,而且不确定到底有哪些变量时,envsubst就排上了用场
envsubst 使用方法
envsubst 的使用方法如下:
original_file
为模板文件,destination_file
为使用变量后生成的目标文件1
envsubst < original_file > destination_file