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

中科院网站建设安卓应用开发系统

中科院网站建设,安卓应用开发系统,房地产市场调研报告,视频当背景图片 网站开发k8s 部署nginx 实现集群统一配置#xff0c;自动更新nginx.conf配置文件 总结 大纲 1 nginx镜像选择2 创建configmap保存nginx配置文件3 使用inotify监控配置文件变化4 Dockerfile创建5 调整镜像原地址使用阿里云6 创建deploy部署文件部署nginx7 测试使用nginx配置文件同步自动更新nginx.conf配置文件 总结 大纲 1 nginx镜像选择2 创建configmap保存nginx配置文件3 使用inotify监控配置文件变化4 Dockerfile创建5 调整镜像原地址使用阿里云6 创建deploy部署文件部署nginx7 测试使用nginx配置文件同步nginx自动重启 直接使用https://hub.docker.com/_/nginx nginx镜像有几个问题 1 集群环境下需要手动的配置多个nginx.conf文件2 集群环境下配置文件修改后需要 kubectl exec -it 到多个pod重启nginx 使用k8s configmap统一配置集群下所有nginx的配置并使用inotify监听配置文件变化后自动重启 nginx镜像选择 nginx镜像地址 https://hub.docker.com/_/nginx 使用 nginx:1.23.3 作为基础镜像 此镜像的配置文件为 /etc/nginx/nginx.conf 可以看到配置文件会include /etc/nginx/conf.d 文件夹下的配置 只需把此文件夹与configmap挂载就可以使用自己的配置信息了 创建configmap 创建一个configmap 用来保存nginx的配置文件 apiVersion: v1 kind: ConfigMap metadata:name: nginx-config data:nginx.conf: |server {listen 8080;charset utf-8;server_name localhost; location / {root /usr/share/nginx/html;index index.html index.htm;}}使用inotify监控配置文件变化 可以使用inotify 实现对配置文件夹的监控当文件夹内有.conf文件创建修改删除后重新启动nginx 可以创建一个脚本此脚本监控 /etc/nginx/conf.d 下文件的变化 #!/bin/bash configfile.conf$#监听文件夹修改删除事件 inotifywait -e modify,delete -mr --timefmt %Y-%m-%d %H:%M:%S --format %T %w %f %e /etc/nginx/conf.d | while read day time folder file event; do#判断变化的文件是否是.conf结尾的文件 注意正则判断需要使用[[]]if [[ $file ~ $configfile ]]; thennginx -t# $?返回上一个命令的结束状态 0表示正常if [ $? 0 ]; thennginx -s reloadfifi done 再准备一个启动start.sh脚本用于启动nginx以及inotify监控 echo start nginx # 启动nginx nginx # 启动监控 需要保持一个前台运行的程序 否则容器运行后就退出 ./auto_reload.shinotify的使用可以参考 《linux-inotify工具监控文件状态变化总结》 Dockerfile创建 Dockerfile 内容如下可以调整linux镜像源使用阿里云的镜像源 FROM nginx:1.23.3 VOLUME [/data/service/logs,/docker/tmp,/data/service/store] WORKDIR /data/service LABEL base.namenginx-auto-reload LABEL base.descnginx-auto-reload #修改操作系统源地址 使用阿里云 可以不修改但是由于网络原因会比较满 #注意 nginx:1.23.3 镜像使用的是debian 11.x (bullseye) #需要使用对应的阿里云 镜像源 https://developer.aliyun.com/mirror/debian?spma2c6h.13651102.0.0.3e221b11W40Fzd RUN echo deb https://mirrors.aliyun.com/debian/ bullseye main non-free contrib /etc/apt/sources.list RUN echo deb-src https://mirrors.aliyun.com/debian/ bullseye main non-free contrib /etc/apt/sources.list RUN echo deb https://mirrors.aliyun.com/debian-security/ bullseye-security main /etc/apt/sources.list RUN echo deb-src https://mirrors.aliyun.com/debian-security/ bullseye-security main /etc/apt/sources.list RUN echo deb https://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib /etc/apt/sources.list RUN echo deb-src https://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib /etc/apt/sources.list RUN echo deb https://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib /etc/apt/sources.list RUN echo deb-src https://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib /etc/apt/sources.list RUN apt-get update RUN apt-get install inotify-tools -y ADD auto_reload.sh auto_reload.sh RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime echo Asia/Shanghai /etc/timezone COPY [auto_reload.sh,start.sh,./] RUN chmod 711 auto_reload.sh chmod 711 start.sh CMD [./start.sh]需要使用对应的阿里云 镜像源 https://developer.aliyun.com/mirror/debian?spma2c6h.13651102.0.0.3e221b11W40Fzd 创建镜像后推送到阿里云私库用于后续的使用 docker build -t nginx-auto-reload . docker tag nginx-auto-reload registry.cn-hangzhou.aliyuncs.com/jimliu/nginx-auto-reload docker push registry.cn-hangzhou.aliyuncs.com/jimliu/nginx-auto-reload创建deploy部署文件部署nginx 部署deploy.yaml 内容如下 apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec:replicas: 1selector:matchLabels:app: nginx-auto-reloadtemplate:metadata:labels:app: nginx-auto-reloadspec:# 容器配置 imagePullSecrets:- name: myaliyunsecrethostname: nginx-hostsubdomain: nginx-inner-domaincontainers:- image: registry.cn-hangzhou.aliyuncs.com/jimliu/nginx-auto-reload:latestname: nginx-containers# 挂载文件夹volumeMounts:- mountPath: /etc/nginx/conf.d/name: config-volumevolumes:- name: config-volumeconfigMap:name: nginx-config--- # 外部访问的接口 apiVersion: v1 kind: Service metadata: name: nginx-auto-reload-service spec:ports:- protocol: TCPport: 18080targetPort: 8080nodePort: 18080name: http8080#暴露两个接口用于测试 nginx重启- protocol: TCPport: 18081targetPort: 8081nodePort: 18081 name: http8081selector: app: nginx-auto-reload部署nginx并测试 创建configmap 部署nginx kubectl apply -f n-deployment.yaml 此步 nginx部署完成 service创建成功 测试nginx 8080端口访问成功 8081端口还无法访问 修改configmap中nginx配置文件 开放8081端口 等待configmap同步更新nginx pod中的配置文件
http://www.hkea.cn/news/14289908/

相关文章:

  • 南宁建站软件怎么创建域名
  • 湖南做网站问磐石网络专业flash网站模版
  • 响应式网站建设教程中国最新军事新闻
  • 网站设计这个专业怎么样wordpress 邮箱函数
  • 织梦网站地图制作教程十堰高端网站建设
  • 网站建设费用折旧年限网站建设公司推广广告语
  • 企业网站模板做视频在哪个网站收益高
  • 怎么开网站做理论的网站
  • 做电脑网站手机能显示不出来怎么办网页图片转换成word文档
  • 网站开发实现的环境杭州建设项目审批网站
  • app网站制作要多少钱设计服务网站
  • 网站怎么宣传win10系统优化工具
  • 喜欢做网站土地流转网站开发
  • 有没有什么 网站能够做试卷wordpress需要伪静态吗
  • php做网站一般用什么软件网站后台树形菜单样式
  • 网站建设计划书内容专业网页网站设计图书
  • 硬盘做免费嗳暧视频网站网站外链建设与维护
  • 旅游网站建设案例网站建设 套格式
  • 高校网站集群平台子站开发官网在线制作
  • 深圳网站建设南山郑州seo网站有优化
  • 上市公司中 哪家网站做的好做网站公司哪个好
  • 厦门seo网站建设费用外贸公司取名
  • 对网站开发实训的建议软件通网站建设
  • 高质量的网站建设国外云服务器厂商
  • 网站建设文档搜索引擎优化策略应该包括
  • h5网站设计报价如何访问自己做的网站
  • 嘉兴网站制作费用安徽 网站开发
  • 口碑好网站建设电话广州五羊建设官方网站
  • 电子商务网站建设臧良运课后答案南通网站建设兼职
  • 做淘宝电商比较厉害的网站太原网站 制作