iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何在nginx配置文件中使用环境变量
  • 191
分享到

如何在nginx配置文件中使用环境变量

2023-06-15 08:06:42 191人浏览 泡泡鱼
摘要

这期内容当中小编将会给大家带来有关如何在Nginx配置文件中使用环境变量,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。前言Nginx是一款面向性能设计的Http服务器,相较于Apache、lighttpd

这期内容当中小编将会给大家带来有关如何在Nginx配置文件中使用环境变量,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

前言

Nginx是一款面向性能设计的Http服务器,相较于Apache、lighttpd具有占有内存少,稳定性高等优势。

由于现在需要部署nginx的Docker,希望nginx配置文件里面有关server_name在启动容器前动态修改。
但是由于nginx的配置文件不支持使用环境变量。网上找了好些方案,最终选择使用envsubst的方式改写nginx配置文件。

工作原理

Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个location block(location是Nginx配置中的一个指令,用于URL匹配),而在这个location中所配置的每个指令将会启动不同的模块去完成相应的工作。

Nginx的模块从结构上分为核心模块、基础模块和第三方模块:

核心模块:HTTP模块、EVENT模块和MaiL模块
基础模块:HTTP Access模块、HTTP FastCGI模块、HTTP Proxy模块和HTTP Rewrite模块,
第三方模块:HTTP Upstream Request Hash模块、Notice模块和HTTP Access Key模块。

学习envsubst

envsubst就是将环境变量替换文件里面指定标记的值。
例如有如下文件env.conf,内容如下

[test]ip = ${ip}port = ${port}url = http://${ip}:${port}/index.htmlphone = ${phone}

当执行export ip=192.168.1.5export port=8081export phone=13522223334写入环境变量。
然后执行envsubst < env.conf > env.new.conf,就可以生成如下的env.new.conf

[test]ip = 192.168.1.5port = 8081url = http://192.168.1.5:8081/index.htmlphone = 13522223334

还可以指定只替换部分环境变量,source env.env && envsubst '$ip;$phone' < env.conf,这样只会替换ip和phone这两个变量。
上面只替换部分环境变量,在linux测试只能用单引号,用双引号无效,分隔符试过, . ; |这四种都可以,我估计还有更多分隔符。

应用nginx配置文件

docker-compose.yml文件如下

version: "3" services:  nginx:    image: nginx:1.20.1-alpine    container_name: nginx    ports:      - 80:80      - 443:443    environment:      - NGINX_HOST=www.janbar.com      - NGINX_PORT=80    volumes:      - /root/janbar.temp:/etc/nginx/conf.d/janbar.temp    command: /bin/sh -c "envsubst < /etc/nginx/conf.d/janbar.temp > /etc/nginx/conf.d/default.conf && exec nginx -g 'daemon off;'"    network_mode: bridge    restart: always

/root/janbar.temp文件内容如下

server {    listen       ${NGINX_PORT};    listen  [::]:${NGINX_PORT};    server_name  ${NGINX_HOST};    location / {        root   /usr/share/nginx/html;        index  index.html index.htm;    }    error_page   500 502 503 504  /50x.html;    location = /50x.html {        root   /usr/share/nginx/html;    }}

按照上述docker-compose.yml配置文件最终生成docker容器里面的配置文件如下cat /etc/nginx/conf.d/default.conf

server {    listen       80;    listen  [::]:80;    server_name  www.janbar.com;    location / {        root   /usr/share/nginx/html;        index  index.html index.htm;    }    error_page   500 502 503 504  /50x.html;    location = /50x.html {        root   /usr/share/nginx/html;    }}

上述就是小编为大家分享的如何在nginx配置文件中使用环境变量了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网精选频道。

--结束END--

本文标题: 如何在nginx配置文件中使用环境变量

本文链接: https://www.lsjlt.com/news/278929.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何在nginx配置文件中使用环境变量
    这期内容当中小编将会给大家带来有关如何在nginx配置文件中使用环境变量,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。前言Nginx是一款面向性能设计的HTTP服务器,相较于Apache、lighttpd...
    99+
    2023-06-15
  • nginx配置文件使用环境变量的操作方法
    前言 Nginx是一款面向性能设计的HTTP服务器,相较于Apache、lighttpd具有占有内存少,稳定性高等优势。 由于现在需要部署nginx的docker,希望nginx配置...
    99+
    2024-04-02
  • linux中环境变量配置在什么文件
    这篇文章主要介绍“linux中环境变量配置在什么文件”,在日常操作中,相信很多人在linux中环境变量配置在什么文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux中环境变量配置在什么文件”的疑惑有所...
    99+
    2023-07-02
  • 如何在Nest.js中配置环境变量
    这篇文章主要介绍了如何在Nest.js中配置环境变量,此处给大家介绍的非常详细,对大家的学习或工作具有一定的参考价值,需要的朋友可以参考下:环境变量配置简述程序在不同的环境下需要不同的环境变量,例如生产环境、测试环境以及开发环境所需要不同的...
    99+
    2023-06-06
  • 如何在Linux中配置JDK环境变量
    如何在Linux中配置JDK环境变量 目录 如何在Linux中配置JDK环境变量 一、下载JDK 二、配置环境变量 三、刷新配置 一、下载JDK Java Downloads | Oracle  得到安装包 上传至服务器   解压 ...
    99+
    2023-09-01
    java centos 服务器
  • 在Linux中如何配置QT环境变量
    这篇文章主要为大家展示了“在Linux中如何配置QT环境变量”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“在Linux中如何配置QT环境变量”这篇文章吧。Qt是一个跨平台的C++图形界面应用程序...
    99+
    2023-06-27
  • Linux中如何配置环境变量
    这篇文章主要介绍Linux中如何配置环境变量,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!下面所有例子的环境说明如下:系统:Ubuntu 14.0用户名:uusama需要配置MySQL环境变量路径:/hom...
    99+
    2023-06-27
  • 在Linux中配置python环境变量
    在 Linux 中配置 Python 环境变量主要包括两个步骤:找到 Python 安装路径和编辑环境变量文件。以下是具体的操作步骤: 找到 Python 安装路径 首先,需要找到 Python 的安装路径。通常情况下,Python 的默认...
    99+
    2023-10-01
    python linux ubuntu
  • vuecli4.0如何配置环境变量
    目录1.创建不同环境变量文件2.给.env文件添加内容3.在package.json中添加不同环境对应的执行语句4.使用温馨提示:本文只适用于vue-cli 3.0及以上的版本哦~ ...
    99+
    2024-04-02
  • maven环境变量如何配置
    要配置Maven环境变量,您需要按照以下步骤进行操作:1. 下载并安装Maven:首先,您需要下载Maven并将其安装在您的计算机上...
    99+
    2023-09-22
    maven
  • 如何配置oracle环境变量
    如何配置oracle环境变量,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。 oracle环境变量...
    99+
    2024-04-02
  • anaconda环境变量如何配置
    要配置Anaconda环境变量,可以按照以下步骤操作: 打开Anaconda安装目录,找到anaconda3文件夹的路径。 ...
    99+
    2024-02-29
    anaconda
  • 如何配置mysql环境变量
    配置mysql环境变量的方法:1.右键此电脑选择属性;2.在属性界面进入高级系统设置;3.点击环境变量;4.编辑path选项;5.填写mysql安装路径并确认;具体步骤如下:首先,在计算机中右键此电脑,选择“属性”;进入到属性界面后,在界面...
    99+
    2024-04-02
  • 如何配置python环境变量
    配置python环境变量的方法:1.右键此电脑,进行“属性”;2.点击“高级系统设置”3.点击“环境变量”;4.编辑“path”选项;5.添加python安装路径,确认即可;配置python环境变量的方法首先,在计算机中右键此电脑,选择“属...
    99+
    2024-04-02
  • win7环境变量如何配置
    本篇内容介绍了“win7环境变量如何配置”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!找到【计算机】右键点击选择【属性】选项即可 在【属性】...
    99+
    2023-07-01
  • win10中jdk环境变量如何配置
    这篇文章主要讲解了“win10中jdk环境变量如何配置”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“win10中jdk环境变量如何配置”吧!win10详细jdk环境变量配置方法一、安装JDK...
    99+
    2023-07-02
  • 如何配置jdk环境变量
    这期内容当中小编将会给大家带来有关如何配置jdk环境变量,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。新建txt文本后选择编辑。2、输入如下代码@echo offecho 正在设置Ja...
    99+
    2023-06-08
  • pycharm如何配置环境变量
    在 pycharm 中配置环境变量的方法:打开 "运行/调试配置",创建或编辑配置。在 "环境变量" 选项卡中,逐一添加环境变量(名称、值)。可选:设置环境变量作用域(项目、运行配置)。...
    99+
    2024-04-19
    python pycharm 作用域
  • win11如何配置环境变量
    这篇文章主要介绍“win11如何配置环境变量”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“win11如何配置环境变量”文章能帮助大家解决问题。win11配置环境变量教程:首先我们右键此电脑,点击“属...
    99+
    2023-07-02
  • openssl环境变量如何配置
    要配置OpenSSL环境变量,您可以按照以下步骤进行操作:1. 找到您的OpenSSL安装目录。默认情况下,它通常安装在C:Open...
    99+
    2023-10-18
    openssl
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作