当前位置: 首页 > news >正文

江阴招聘网站建设学徒网站seo排名优化

江阴招聘网站建设学徒,网站seo排名优化,重庆整站优化的电话销售,vps网站目录是灰色的本文介绍了使用Docker环境变量动态配置nginx。采用的是通过docker run -e xxxxxxx先往容器注入环境变量,然后进一步通过envsubst指令将环境变量写入到conf文件中,实现动态配置文件内容。 背景 前后端分离的架构下,经常会用到nginx反向代理来…

本文介绍了使用Docker环境变量动态配置nginx。采用的是通过docker run -e xxxx=xxx先往容器注入环境变量,然后进一步通过envsubst指令将环境变量写入到conf文件中,实现动态配置文件内容。

背景

前后端分离的架构下,经常会用到nginx反向代理来解决跨域问题。部署时,同一份前端代码有时候会根据开发环境不同,切换不同的后端接口地址进行代理,或者会部署到不同的环境中。这些都需要配置不同的后端地址,想法是打包好的镜像不需要改动,部署到不同的环境时,启动docker容器时,注入不同的后端地址。

实现

以前端打包好的dist文件夹开始,dist文件夹同级放Dockerfile和nginx.tmpl文件,

Dockerfile文件内容

FROM nginx:alpineCOPY dist/ /usr/share/nginx/htmlCOPY nginx.tmpl /etc/nginx/conf.dEXPOSE 80WORKDIR /etc/nginx/conf.dENTRYPOINT envsubst '$APP_ROOT' < nginx.tmpl > default.conf && cat default.conf && nginx -g 'daemon off;'

 nginx.tmpl文件内容

server {listen 80;location / {root /usr/share/nginx/html;try_files $uri $uri/ /index.html;index index.html;}location /api/ {proxy_read_timeout 200s;proxy_send_timeout 200s;proxy_pass  $APP_ROOT;proxy_set_header Host $host:$server_port;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;}
}

这里实现环境变量注入的核心原理是利用linux自带的envsubst指令。envsubst '$APP_ROOT' < nginx.tmpl作用是取环境的$APP_ROOT的值注入到nginx.tmpl模板里对应的位置,然后后半句> default.conf是将替换好变量后的模板内容写入到docker容器内/etc/nginx/conf.d文件夹下的default.conf文件里。cat default.conf这句话方便我们查看nginx的配置内容,也可以不加。

执行docker build -t xxxxx:vvv .打包镜像

执行docker run -e APP_ROOT=http://xxx.xxx.xxx.xxx:yyy/ xxxxx:vvv 运行容器,通过-e将后端服务地址通过APP_ROOT环境变量注入

通过docker logs xxxxxx 查看docker日志,可以看到通过cat default.conf输出的内容,可以看到nginx.tmpl里面的$APP_ROOT被注入的环境变量替换掉了。

说明

镜像的基础镜像nginx:alpine中,nginx的配置文件在/etc/nginx/nginx.conf文件,打开查看内容,

可以看到include这个,包含了所有conf.d目录下的所有conf文件,所以我们修改的文件放在了conf.d目录下。

另外还有一点很重要,docker启动时的命令行注入的环境变量-e APP_ROOT=http://xxx.xxx.xxx.xxx:yyy/,一定要以/结尾,否则,转发到后端时,不会把/api前缀去掉,我一开始没有注意这个细节问题,被困扰了很长时间才搞定。这儿也可以用更详细的rewrite实现。

http://www.hkea.cn/news/889399/

相关文章:

  • dz网站模板沧州网站优化公司
  • 桂林论坛天涯社区培训行业seo整站优化
  • 做伊瑞尔竞技场的网站搜索引擎简称seo
  • 46云虚拟主机股票发行ipo和seo是什么意思
  • 新泰做网站菏泽seo
  • 网站建设排名东莞seo收费
  • 做网站前后端的发布流程自己如何制作网站
  • 网站营销与推广策略百度一下官网首页百度
  • 网站建设张世勇100个免费推广b站
  • 网络营销的常用工具百度关键词优化点击 教程
  • 公司网站要怎么做少儿编程培训机构排名前十
  • 一个好的网站是什么样的商家联盟营销方案
  • 网站解除域名绑定网站广告收费标准
  • 郑州的建设网站有哪些手续免费发布推广信息的平台有哪些
  • 手机做网站软件优化服务平台
  • 网站图片装修的热切图怎么做营销技巧培训
  • 可以上传图片的网站怎么做百度关键词点击
  • 泉州网站制作广州seo网站开发
  • cuntlove wordpressseo外链发布工具
  • 购买一个网站空间如何可以多个域名使用吗长沙网站建设服务
  • 天津市建设委员会网站上海网站制作开发
  • 扬中网站建设墨子学院seo
  • 分析电子商务网站建设需求教案青岛今天发生的重大新闻
  • 汕头模板开发建站百度发布信息怎么弄
  • 健身网站开发项目总结关键词筛选工具
  • 重庆网站建设零臻靠谱国内永久免费的云服务器
  • 软件库合集软件资料2024郑州百度快照优化
  • 房地产开发公司网站建设方案seo去哪里学
  • 做网站可以赚钱吗百度小说搜索风云排行榜
  • 做网站交接需要哪些权限网站seo视频教程