最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

nginx配置文件使用環(huán)境變量的操作方法

 更新時(shí)間:2021年06月02日 17:09:49   作者:janbar  
Nginx是一款開(kāi)源代碼的高性能HTTP服務(wù)器和反向代理服務(wù)器,同時(shí)支持IMAP/POP3/SMTP代理服務(wù),相較于Apache、lighttpd具有占有內(nèi)存少,穩(wěn)定性高等優(yōu)勢(shì),所以深受用戶(hù)喜愛(ài),今天小編給大家分享nginx配置文件使用環(huán)境變量的操作方法,感興趣的朋友一起看看吧

前言

Nginx是一款面向性能設(shè)計(jì)的HTTP服務(wù)器,相較于Apache、lighttpd具有占有內(nèi)存少,穩(wěn)定性高等優(yōu)勢(shì)。

由于現(xiàn)在需要部署nginx的docker,希望nginx配置文件里面有關(guān)server_name在啟動(dòng)容器前動(dòng)態(tài)修改。
但是由于nginx的配置文件不支持使用環(huán)境變量。網(wǎng)上找了好些方案,最終選擇使用envsubst的方式改寫(xiě)nginx配置文件。

工作原理

Nginx由內(nèi)核和模塊組成,其中,內(nèi)核的設(shè)計(jì)非常微小和簡(jiǎn)潔,完成的工作也非常簡(jiǎn)單,僅僅通過(guò)查找配置文件將客戶(hù)端請(qǐng)求映射到一個(gè)location block(location是Nginx配置中的一個(gè)指令,用于URL匹配),而在這個(gè)location中所配置的每個(gè)指令將會(huì)啟動(dòng)不同的模塊去完成相應(yīng)的工作。

Nginx的模塊從結(jié)構(gòu)上分為核心模塊、基礎(chǔ)模塊和第三方模塊:

核心模塊:HTTP模塊、EVENT模塊和MAIL模塊
基礎(chǔ)模塊:HTTP Access模塊、HTTP FastCGI模塊、HTTP Proxy模塊和HTTP Rewrite模塊,
第三方模塊:HTTP Upstream Request Hash模塊、Notice模塊和HTTP Access Key模塊。

學(xué)習(xí)envsubst

envsubst就是將環(huán)境變量替換文件里面指定標(biāo)記的值。
例如有如下文件env.conf,內(nèi)容如下

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

當(dāng)執(zhí)行export ip=192.168.1.5export port=8081,export phone=13522223334寫(xiě)入環(huán)境變量。
然后執(zhí)行envsubst < env.conf > env.new.conf,就可以生成如下的env.new.conf

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

還可以指定只替換部分環(huán)境變量,source env.env && envsubst '$ip;$phone' < env.conf,這樣只會(huì)替換ip和phone這兩個(gè)變量。
上面只替換部分環(huán)境變量,在Linux測(cè)試只能用單引號(hào),用雙引號(hào)無(wú)效,分隔符試過(guò), . ; |這四種都可以,我估計(jì)還有更多分隔符。

應(yīng)用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文件內(nèi)容如下

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;
    }
}

總結(jié)

經(jīng)過(guò)上述騷操作,最終可以通過(guò)環(huán)境變量的方式更新nginx的docker容器內(nèi)部配置文件。大功告成!

以上就是nginx配置文件使用環(huán)境變量的詳細(xì)內(nèi)容,更多關(guān)于nginx環(huán)境變量的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Nginx解決vue項(xiàng)目服務(wù)器部署及跨域訪問(wèn)后端詳解

    Nginx解決vue項(xiàng)目服務(wù)器部署及跨域訪問(wèn)后端詳解

    跨域問(wèn)題在前后端分離項(xiàng)目很常見(jiàn),至于為什么會(huì)跨域,同源策略,百度各種博客都很詳細(xì),這里不再介紹,這篇文章主要給大家介紹了關(guān)于Nginx解決vue項(xiàng)目服務(wù)器部署及跨域訪問(wèn)后端的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • Linux下安裝配置nginx詳解

    Linux下安裝配置nginx詳解

    本篇文章主要介紹了Linux下安裝配置nginx,介紹了在Linux系統(tǒng)下安裝配置Nginx的詳細(xì)過(guò)程,具有一定的參考價(jià)值,有興趣的可以了解一下。
    2017-01-01
  • Nginx配置txt、pdf、doc、xls等文件直接下載的方法

    Nginx配置txt、pdf、doc、xls等文件直接下載的方法

    這篇文章主要介紹了Nginx配置txt、pdf、doc、xls等文件直接下載的方法,配置方法很簡(jiǎn)單,本文直接給出配置示例,需要的朋友可以參考下
    2015-04-04
  • 小白也可以完成的0基礎(chǔ)部署Nginx服務(wù)

    小白也可以完成的0基礎(chǔ)部署Nginx服務(wù)

    這篇文章主要為大家介紹了0基礎(chǔ)部署Nginx服務(wù)的實(shí)現(xiàn)方式,非常簡(jiǎn)單詳細(xì)零基礎(chǔ)小白跟著做也可以完成,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-03-03
  • Nginx 遇到502 Bad Gateway 自動(dòng)重啟的腳本代碼

    Nginx 遇到502 Bad Gateway 自動(dòng)重啟的腳本代碼

    放到crontab里一分鐘執(zhí)行一次。url和cmd根據(jù)自己的改。
    2010-12-12
  • Nginx流量同時(shí)轉(zhuǎn)發(fā)多后端(流量鏡像分發(fā))

    Nginx流量同時(shí)轉(zhuǎn)發(fā)多后端(流量鏡像分發(fā))

    在需要同時(shí)將請(qǐng)求轉(zhuǎn)發(fā)至多個(gè)后端服務(wù)的場(chǎng)景中,Nginx的mirror模塊提供了流量鏡像分發(fā)的功能,本文就來(lái)介紹一下Nginx流量同時(shí)轉(zhuǎn)發(fā)多后端(流量鏡像分發(fā)),感興趣的可以了解一下
    2024-10-10
  • nginx全局變量整理小結(jié)

    nginx全局變量整理小結(jié)

    nginx全局變量整理小結(jié),方便需要的朋友
    2012-11-11
  • nginx文件上傳下載控制的實(shí)現(xiàn)示例

    nginx文件上傳下載控制的實(shí)現(xiàn)示例

    本文主要介紹了nginx文件上傳下載控制的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12
  • Nginx 502 Bad Gateway錯(cuò)誤原因及解決方案

    Nginx 502 Bad Gateway錯(cuò)誤原因及解決方案

    這篇文章主要介紹了Nginx 502 Bad Gateway錯(cuò)誤原因及解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Nginx?生產(chǎn)環(huán)境安全配置加固的實(shí)現(xiàn)

    Nginx?生產(chǎn)環(huán)境安全配置加固的實(shí)現(xiàn)

    本文主要介紹了Nginx?生產(chǎn)環(huán)境安全配置加固的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-03-03

最新評(píng)論

旺苍县| 濮阳市| 读书| 华容县| 缙云县| 高青县| 理塘县| 韶关市| 武汉市| 浮梁县| 大庆市| 太仆寺旗| 顺昌县| 高邑县| 云南省| 仙桃市| 浮梁县| 盈江县| 成都市| 潜山县| 剑河县| 山西省| 江津市| 沙河市| 玉山县| 临漳县| 界首市| 石门县| 礼泉县| 上虞市| 连南| 武城县| 康乐县| 临安市| 崇信县| 岳西县| 濮阳县| 南澳县| 渭南市| 东乡族自治县| 穆棱市|