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

手机端网站建设的注意事项百家号查询排名数据查询

手机端网站建设的注意事项,百家号查询排名数据查询,公司要想做个网站这么弄,网站解析设置实训背景 你是一家云计算公司的 DevOps 工程师,需为某客户设计一套基于 Docker 的微服务集群管理系统,需求如下: 容器自启管理:确保三个服务(webapp、api、redis)在系统启动时自动运行。依赖顺序控制&…

在这里插入图片描述

实训背景

你是一家云计算公司的 DevOps 工程师,需为某客户设计一套基于 Docker 的微服务集群管理系统,需求如下:

  1. 容器自启管理:确保三个服务(webappapiredis)在系统启动时自动运行。
  2. 依赖顺序控制redis 必须在 api 之前启动,api 必须在 webapp之前启动。
  3. 健康检查与自愈:若 webapp 崩溃,10秒内自动重启。
  4. 资源隔离:限制 redis 容器最多使用 1GB 内存和 2 核 CPU。

环境准备

  1. 操作系统:Ubuntu 22.04 LTS。
  2. 软件依赖
    sudo apt install docker.io
    sudo systemctl enable docker  # 启用 Docker 服务
    
  3. 镜像准备
    docker pull nginx:alpine      # 模拟 webapp
    docker pull node:18          # 模拟 api
    docker pull redis:7          # 数据库
    

实训步骤


任务1:定义容器服务单元文件

目标:为每个容器创建独立的 systemd 服务文件。

操作步骤
  1. 创建 redis 服务文件

    sudo nano /etc/systemd/system/redis-container.service
    

    内容:

    [Unit]
    Description=Redis Container
    After=docker.service
    Requires=docker.service[Service]
    Type=simple
    Restart=always
    ExecStartPre=-/usr/bin/docker rm -f redis  # 清理旧容器
    ExecStart=/usr/bin/docker run --name redis \--memory="1g" --cpus="2.0" \    # 资源限制redis:7
    ExecStop=/usr/bin/docker stop redis[Install]
    WantedBy=multi-user.target
    
  2. 创建 api 服务文件

    sudo nano /etc/systemd/system/api-container.service
    

    内容:

    [Unit]
    Description=API Container
    After=redis-container.service  # 依赖 Redis
    Requires=redis-container.service[Service]
    Type=simple
    Restart=on-failure
    ExecStartPre=-/usr/bin/docker rm -f api
    ExecStart=/usr/bin/docker run --name api \--link redis:redis \           # 连接 Redisnode:18 npm start
    ExecStop=/usr/bin/docker stop api
    
  3. 创建 webapp 服务文件

    sudo nano /etc/systemd/system/webapp-container.service
    

    内容:

    [Unit]
    Description=WebApp Container
    After=api-container.service    # 依赖 API
    Requires=api-container.service[Service]
    Type=notify                    # 等待健康检查信号
    Restart=always
    RestartSec=10                  # 崩溃后等待10秒重启
    ExecStartPre=-/usr/bin/docker rm -f webapp
    ExecStart=/usr/bin/docker run --name webapp \--link api:api \              # 连接 API-p 80:80 \nginx:alpine
    ExecStop=/usr/bin/docker stop webapp[Install]
    WantedBy=multi-user.target
    

任务2:配置服务依赖与启动顺序

目标:确保服务按 redis → api → webapp 顺序启动。

操作步骤
  1. 验证依赖关系

    systemctl list-dependencies webapp-container.service  # 查看依赖链
    
  2. 手动测试启动顺序

    sudo systemctl stop docker
    sudo systemctl start redis-container api-container webapp-container
    journalctl -f  # 观察启动顺序是否符合预期
    

任务3:实现健康检查与自愈

目标:当 webapp 容器崩溃时自动重启。

操作步骤
  1. 修改 webapp 服务文件
    [Service] 部分添加:

    Restart=always
    RestartSec=10
    TimeoutStartSec=300  # 等待容器启动的最长时间
    
  2. 模拟崩溃测试

    sudo docker kill webapp        # 手动杀死容器
    systemctl status webapp-container.service  # 观察是否重启
    journalctl -u webapp-container.service | grep "Starting container"
    

任务4:应用资源限制

目标:限制 redis 容器资源使用。

操作步骤
  1. 修改 redis 服务文件
    ExecStart 中已包含 --memory="1g" --cpus="2.0"

  2. 验证资源限制

    docker stats redis  # 查看实时资源占用
    stress-ng --vm 2 --vm-bytes 800M  # 在容器内运行压力测试
    

实训总结

通过本次实训,你实现了以下功能:

  1. 容器生命周期管理:通过 systemd 控制 Docker 容器的启动、停止和重启。
  2. 服务依赖链:确保微服务按正确顺序初始化。
  3. 故障自愈:结合 Restart 策略实现服务高可用。
  4. 资源隔离:防止单个容器耗尽系统资源。

知识要点

  1. Docker 与 systemd 集成

    • 使用 ExecStart 直接调用 docker run 命令。
    • 通过 --memory--cpus 限制容器资源。
  2. 服务依赖控制

    • AfterRequires 定义启动顺序和强依赖。
    • 使用 systemctl list-dependencies 可视化依赖链。
  3. 健康检查机制

    • Type=notify 等待容器发送就绪信号。
    • RestartSec 控制重启间隔,避免频繁重启风暴。
  4. 日志调试技巧

    journalctl -u webapp-container.service --since "5 minutes ago"
    docker logs webapp  # 查看容器内部日志
    

扩展挑战

  • 为服务添加动态扩缩容逻辑(如 CPU 使用率超过 80% 时自动增加实例)。
  • 结合 systemd socket 实现 API 服务的按需启动。
  • 使用 EnvironmentFile 将容器配置(如端口号)外置到文件。
http://www.dtcms.com/wzjs/190271.html

相关文章:

  • 武汉做网站的公司站长网站推广
  • 泰安网站建设个人工作室竞价推广的基本流程
  • 武汉网站制作建设谷歌搜索入口 镜像
  • 建设高端网站公司哪家好百度网站大全旧版
  • 网站开发技术概况专业软文平台
  • 英文网站建设教程网络舆情监测平台
  • 做网站现在挣钱吗南京百度推广
  • 兰州市城乡住房建设局网站长沙网站优化seo
  • 德州做网站我们公司在做网站推广
  • 学做婴儿衣服的网站中央人民政府网
  • wordpress 合法评论seo报告
  • 代做外国空间网站口碑营销案例2021
  • 佛山网站建设的品牌温州seo博客
  • 做网站网页排版错误宁波怎么优化seo关键词
  • 网站网络拓扑图网站推广app
  • wordpress 样式表南京百度推广优化
  • 山东省城乡和住房建设厅网站网上怎么找客户资源
  • 美国做科普的网站搜索引擎快速优化排名
  • 服务器如何配置php网站百度信息流
  • gateface做网站益阳网站seo
  • 网站建设与网页设计毕业论文培训推广 seo
  • 河南住房与城乡建设部网站网站优化推广软件
  • 做电台需要的文章从哪个网站找西安疫情最新数据消息中高风险地区
  • 网站开发与经营怎么注册域名
  • 做网站服务器租一年多少钱百度大数据
  • 网站的空间域名网站百度收录批量查询
  • 在哪做网站建设10常用的网络营销方法
  • wordpress阿里百秀4.1百度seo关键词优化推荐
  • 电池网站建设 中企动力公司怎么在网上推广
  • 忘记了wordpress登录密码企业seo的措施有哪些