• 干货 | 玩转云文件存储——利用CFS实现web应用的共享访问


    Alt
    京东云文件服务(Cloud File Service,以下简称:CFS)是一种高可靠、可扩展、可共享访问的全托管分布式文件系统。它可在不中断应用服务的情况下,根据您对文件系统的使用,按需扩展或缩减,并按照实际用量计费。采用NFS协议,支持POSIX文件接口,可为Linux系统下的云主机提供共享访问服务。

    演示示意图:

    Alt

    一、创建云主机

    打开京东云控制台,依次点击左侧导航弹性计算-云主机,在与云文件服务相同的地域华北-北京创建2台云主机,配置如下:

    • 付费类型:按配置
    • 地域与可用区:华北-北京/可用区C
    • 镜像:官方镜像-CentOS 7.6 64位
    • 规格:1核4G(仅作测试)
    • 存储:默认
    • 网络:选择一个创建好的VPC和子网,如果没有就新建一个
    • 带宽:1Mbps
    • 名称:web
    • 自定义数据:如下
    1#!/bin/bash
    2yum install nginx -y && rm -rf /usr/share/nginx/html/index.html && wget -P /usr/share/nginx/html/ https://pocenv-hcc.s3.cn-north-1.jdcloud-oss.com/cfs/index.html && cd /etc/nginx/ && mv nginx.conf nginx.conf.bak && wget https://pocenv-hcc.s3.cn-north-1.jdcloud-oss.com/cfs/nginx.conf && systemctl enable nginx && systemctl start nginx && systemctl stop firewalld && systemctl disable firewalld
    
    • 购买量:2

    Alt

    Alt

    自定义数据说明:

    1#!/bin/bash  #Linux脚本首行固定内容
     2yum install nginx -y  #yum安装ningx服务
     3rm -rf /usr/share/nginx/html/index.html  #删除nginx默认首页
     4wget -P /usr/share/nginx/html/ https://pocenv-hcc.s3.cn-north-1.jdcloud-oss.com/cfs/index.html  #下载自定义首页
     5cd /etc/nginx/  #进入到nginx配置文件所在目录
     6mv nginx.conf nginx.conf.bak  #备份nginx原配置文件
     7wget https://pocenv-hcc.s3.cn-north-1.jdcloud-oss.com/cfs/nginx.conf  #下载自定义配置文件
     8systemctl enable nginx  #设置nginx开机自启
     9systemctl start nginx  #启动nginx
    10systemctl stop firewalld  #关闭防火墙
    11systemctl disable firewalld  #永久关闭防火墙
    12&&  #这个符号表示前面命令执行成功后才会执行后面的操作
    

    自定义数据内的index.html文件内容如下:

    1<!DOCTYPE html>
     2<html>
     3<head>
     4<title>这是一个Nginx调用cfs文件的展示页面</title>
     5<style>
     6.ss {
     7 800px;
     8height: 280px;
     9display: flex;
    10align-items: center;
    11justify-content: center;
    12}
    13.ssimg {
    14 100%;
    15height: 100%;
    16}
    17h2 {
    18color: red;
    19}
    20</style>
    21</head>
    22<body>
    23<h1>下面调用的是cfs内的文件【1.png】</h1>
    24<h2>图片路径为/data/img/1.png</h2>
    25<divclass="ss">
    26<imgsrc="/img/1.png">
    27</div>
    28</body>
    29</html>
    

    云主机新建完成后结果如下:

    Alt
    现在我们分别复制云主机的公网IP到浏览器查看效果如下:

    Alt

    二、创建应用型负载均衡(ALB)

    1.创建负载均衡

    打开京东云控制台,依次点击左侧导航网络-负载均衡,在应用型中选择华北-北京点击创建按钮

    Alt
    选择应用负载均衡,点击确定

    Alt
    配置如下:

    • 地域与可用区:华北-北京-可用区选择可用区A、可用区B、可用区C
    • 网络:选择和云主机相同的私有网络(子网随意,也可选择与云主机相同的子网,也可创建一个新的子网,因为同一VPC下的子网默认是互通的),安全组选择默认安全组开放全部端口
    • 带宽:1Mbps
      名称:cfs_alb

    Alt
    创建完成后如下图:

    Alt

    2.配置负载均衡

    2.1 新建虚拟服务器组

    点击创建好的负载均衡实例名称,如下图,找到虚拟服务器组后点击新建虚拟服务器组

    Alt
    分组名称填写tg,将我们创建好的两台云主机添加到这个服务器组里,点击确定

    Alt

    2.2 新建后端服务

    如图,找到后端服务后点击新建后端服务

    Alt
    配置如下:

    • 基本信息:
    • 名称:backend
    • 后端协议:默认Http
    • 端口:80
    • 调度算法:默认加权轮询
    • 其他保持默认
    • 健康检查:
    • 健康检查方式:HTTP
    • 检查端口:80
    • 其他保持默认
    • 添加服务器组:
    • 选择服务器组:选择我们上面创建好的虚拟服务器组tg

    Alt
    Alt
    Alt

    2.3 新建监听器

    如图,找到监听器后点击新建监听器

    Alt
    配置如下:

    • 前端监听配置:
    • 监听协议[端口]:Http 80
    • 其他保持默认
    • 后端转发配置:
    • 默认后端服务:选择后端服务
    • 后端服务名称:选择前面创建好的后端服务backend
    • 其他保持默认
    • 健康检查:
    • 保持默认
    • 添加服务器组:
    • 保持默认

    Alt

    2.4 查看效果

    复制负载均衡的公网IP到浏览器查看效果

    Alt

    三、创建云文件服务

    首先我们需要打开京东云官网:http://www.jdcloud.com,点击右上角控制台登陆后点击左侧导航存储-云文件服务,在华北-北京点击创建文件存储,配置如下:

    • 地域:华北-北京
    • 名称:cfs_test
    • 虚拟私有云:选择和云主机相同的私有网络
    • 创建挂载目标:选择和云主机相同的子网

    Alt
    创建结果如下:

    Alt

    四、挂载文件存储

    如下操作需要登陆两台云主机分别操作!

    3.1 登陆我们创建好的云主机,安装nfs

    1yum install –y nfs-utils -y
    

    在Ubuntu系统的终端下,运行如下命令:
    sudo apt-get install nfs-common

    3.2 创建data目录用于挂载文件存储

    1mkdir -p /data/img
    

    3.3 通过挂载目标的IP地址挂载文件存储,挂载目标的IP地址可在“控制台-存储-云文件服务-文件存储”页面,点击该文件存储的ID后查看。
    Alt
    如,挂载目标的目录为10.0.0.19:/cfs,挂载到上一步创建的nfs目录。

    注意,因挂载工具默认NFS协议为4.0版本,所以CentOS 7.2及以下版本的挂载命令略有不同: CentOS 6.9至CentOS
    7.2版本运行以下命令: mount -t nfs,nfsvers=4.0, -o lookupcache=none 10.0.0.19:/cfs /data CentOS 7.3及以上版本运行以下命令: mount -t nfs -o lookupcache=none 10.0.0.19:/cfs /data Ubuntu系统的终端下,运行如下命令: mount -t
    nfs 10.0.0.19:/cfs /data

    5.通过运行以下命令,验证是否挂载成功:

    1df -h
    

    挂载成功后会出现“Filesystem”为挂载目标IP,“Mounted on”为上一步指定目录的记录。
    Alt

    五、上传测试文件

    首先准备一张png格式的图片,重命名为1.png,保存到桌面;
    Alt
    利用类似WinSCP或者FTP等工具将准备好的测试图片上传到云主机web01的/data/img目录下

    Alt
    上传完成后,复制负载均衡公网IP到浏览器查看效果如下:

    Alt
    现在我们将云主机web1在控制台停止并删除,然后再刷新浏览器,发现测试图片仍能够正常显示,原因在于测试图片是直接上传到了京东云云文件服务CFS中,云主机web1、web2共享CFS内的数据,所以删除云主机对上传的图片不会产生影响。

    Alt
    点击“京东云”了解京东云云文件服务产品

    Alt
    Alt

  • 相关阅读:
    flask多线程多协程操作
    flask介绍
    centos django+Nginx+uwsgi部署
    centos下运行python3.6+Django+mysql项目
    centos虚拟机下安装nginx
    redis安装
    路飞学城课程_课程详细_作业点评
    redis使用方式
    git命令学习
    组合&多态&封装
  • 原文地址:https://www.cnblogs.com/jdclouddeveloper/p/11670539.html
Copyright © 2020-2023  润新知