• 场景实践:基于函数计算快速搭建Wordpress博客系统


    函数计算教程

    阿里云的函数计算——FC ,是一个事件驱动的全托管 Serverless 计算服务,开发者无需管理服务器等基础设施,只需编写代码并上传。函数计算FC 会为您准备好计算资源,并以弹性、可靠的方式运行您的代码。

    领取评测产品

    image-20220702062433176

    开通服务

    前提条件

    您已成功注册阿里云账号,并完成实名认证。具体信息,请参见阿里云账号注册流程

    操作步骤

    1. 进入函数计算首页。

    2. 单击管理控制台fcchanpinshouye-china

    3. 概览页面,单击免费开通

    4. 在开通说明面板,认真阅读并选中函数计算服务协议复选框,单击立即开通,然后单击关闭,进入函数计算控制台。

      image-20220702071126023

    5. 可选:

      在左侧导航栏,单击概览,在云资源访问授权对话框,单击同意授权给您的账号授予AliyunFCDefaultRole角色。hanshujisuanimage10shoquuancelue

      • 授权成功

        授权成功即函数计算具有访问云资源的权限。

      • 授权失败

        • 阿里云账号

          可能由于一些功能无法授权造成的。但函数计算仍可以正常使用。如果您仍需授予系统默认角色,请提交工单咨询。

        • RAM用户

          当您授权失败后您需要判断您的账号是否有授权能力。

          • 如果没有RAM权限,您需要通过阿里云账号登录函数计算控制台,然后进行授权操作。授权成功后,您通过RAM用户再次登录函数计算控制台时将不再提示您进行授权。
          • 如果已有RAM权限依旧授权失败,可能由于一些功能无法授权造成的。但函数计算仍可以正常使用。如果您仍需授予系统默认角色,请提交工单咨询。

      关于权限管理的详细信息,请参见权限管理

    使用控制台创建函数

    本文介绍如何在函数计算控制台快速开发一个简单的Serverless Hello World应用。

    前提条件

    开通函数计算

    背景信息

    函数计算为您提供了简单的Hello World示例,您可以直接在函数计算控制台创建服务和函数,成功创建后可以立马测试该函数查看函数执行的详细信息,例如返回结果、执行摘要和日志输出。

    本文以从零开始创建的方式为例,介绍如何创建函数。

    使用流程

    workflow

    流程说明如下:

    1. 创建服务。
    2. 创建函数,编写代码,将应用部署到函数中。
    3. 触发函数。
    4. 查看执行日志。
    5. 查看服务监控。

    操作步骤

    1. 创建服务。

      1. 登录函数计算控制台

      2. 在左侧导航栏,单击服务及函数

      3. 在顶部菜单栏,选择地域。

      4. 服务列表页面,单击创建服务

        image-20220702064541302

      5. 创建服务面板,填写服务名称和描述,然后单击确定

        image-20220702065021350

        您也可以在创建服务面板,设置是否启用阿里云日志服务和是否启用阿里云链路追踪功能。详细信息,请参见管理服务

      当您成功创建服务后,页面会跳转至该服务页面的函数管理页面。

    2. 创建函数。

      1. 管理函数页面,单击创建函数

        image-20220702065304491

      2. 创建函数页面,选择使用标准 Runtime 从零创建

        image-20220702070009968

        基本设置如下:

        参数是否必填操作示例值
        函数名称填写自定义的函数名称。必须以字母开头,可包含数字、字母(区分大小写)、下划线(_)和短划线(-),不超过64个字符。说明 如果不填写名称,函数计算会自动为您创建。Function
        容器镜像单击选择 ACR 中的容器镜像,在弹出的选择容器镜像对话框,选择已创建的容器镜像实例ACR 镜像仓库,然后在下方选择镜像区域找到目标镜像并在其右侧操作列单击选择test-registry-vpc.cn-chengdu.cr.aliyuncs.com/test/registry:latest
        监听端口容器镜像中的HTTP Server所监听的端口。默认端口为9000。9000
        Command容器的启动命令,格式为[“python”,“server.py”]。如果不填写,则默认使用镜像中的Entrypoint/CMD。[“/code/myserver”]
        Args容器的启动参数,格式为[“–port”,“9000”]。如果不填写,则默认使用镜像中的CMD。[“-arg1”, “value1”]
        函数触发方式选择函数触发方式。通过事件触发:通过定时器和其他阿里云服务的触发器来触发函数执行。通过 HTTP 请求触发:通过发送HTTP请求触发函数执行,适用于快速构建Web服务等场景。通过事件触发
        实例类型选择适合您的实例类型。弹性实例性能实例GPU实例(公测中)更多信息,请参见实例类型及使用模式。关于各种实例类型的计费详情,请参见计费概述说明 如需使用GPU实例,请提交工单申请。具体操作,请参见实例类型弹性实例
        内存规格设置函数执行内存。选择输入:在下拉列表中选择所需内存。手动输入:单击手动输入内存大小,可自定义函数执行内存。内存规格说明如下:弹性实例:取值范围[128, 3072],单位为MB。性能实例:取值范围[4, 32],单位为GB。GPU实例:取值范围[16, 32],单位为GB。说明 输入的内存必须为64 MB的倍数。512 MB
        GPU显存规格实例类型选择GPU实例时必填。8 G
      3. 基本设置区域,设置相关参数,然后单击创建

        参数配置如下:

        • **可选:**函数名称:自定义函数的名称为Function。

        • 运行环境:选择Node.js 12

        • 请求处理程序类型:选择处理事件请求

        • 实例类型:选择弹性实例

        • 内存规格:设置函数执行内存为512 MB

        • 实例并发度:设置为1

        • 请求处理程序:设置为index.handler

          image-20220702070237759

      当您成功创建函数后,页面会跳转至该函数详情页面的函数代码页签。

      image-20220702070423417

    3. 执行函数。

      在目标函数详情页面的函数代码页签,单击测试函数

      image-20220702070611372

      image-20220702070647145

      说明 您也可以在代码编辑器内编辑您的代码,实现二次开发。

      image-20220702070742179

      执行完毕后,您可以在函数代码页签查看执行结果和详细的日志信息。

      image-20220702070721038

    在控制台创建函数

    本文以在/tmp目录中执行为例,介绍如何创建函数,假设函数计算的地域为华南1(深圳),镜像仓库名称nodejs-express。

    1. 将您的函数镜像推送至默认实例镜像仓库。

      1. 执行以下命令进入/tmp目录。

        cd /tmp
        
        • 1
      2. 在/tmp目录中执行以下命令克隆示例工程。

        git clone https://github.com/awesome-fc/custom-container-docs.git
        
        • 1
      3. 执行以下命令,进入项目目录。

        cd custom-container-docs/nodejs-express
        
        • 1
      4. 执行以下命令指定镜像仓库。

        export IMAGE_NAME="registry.cn-shenzhen.aliyuncs.com/fc-demo/nodejs-express:v0.2" 
        
        • 1
      5. 执行以下命令打包镜像。

        docker build -t $IMAGE_NAME .
        
        • 1

        说明 针对搭载Apple芯片的Mac电脑(或其他ARM架构的机器),构建镜像时需要指定镜像的编译平台为Linux/Amd64。实现跨平台编译,示例代码如docker build --platform linux/amd64 -t $IMAGE_NAME .

      6. 执行以下命令推送镜像。

        docker push $IMAGE_NAME
        
        • 1

    体验简介

    本场景介绍使用函数计算服务搭建一个Wordpress博客。使用Serverless Devs命令行工具可以将很多框架、应用、案例一键部署到函数计算平台中。
    点击获取所需云产品资源

    背景知识

    本场景介绍使用函数计算服务搭建一个Wordpress博客。使用Serverless Devs命令行工具可以将很多框架、应用、案例一键部署到函数计算平台中。

    本场景主要涉及以下云产品和服务:

    函数计算(FunctionCompute)

    函数计算是事件驱动的全托管计算服务。使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码。函数计算为您准备好计算资源,弹性地可靠地运行任务,并提供日志查询、性能监控和报警等功能。函数计算帮助您无需管理服务器(Serverless),仅专注于函数代码就能快速搭建应用。函数计算能够弹性地伸缩,您只需要按使用量付费。

    函数计算Serverless服务和自建服务相比有以下优点:

    上手简单,只专注业务逻辑开发,极大提高工程开发效率。

    自建方案有太多学习和配置成本,例如针对不同场景,ESS需要做各种不同的参数配置系统环境的维护升级麻烦等。

    免运维,函数执行级别粒度的监控和告警。

    毫秒级弹性扩容,保证弹性高可用,同时能覆盖延迟敏感和成本敏感类型。

    Serverless Devs开发者工具

    Serverless Devs是一个组件化与插件化的Serverless开发者平台,开发者可以在平台中可插拔式的使用不同Serverless的服务和框架,同时可参与组件和插件的开发。无论是工业级的Serverless服务,还是各类开源的Serverless框架,Serverless Devs都可友好支持。开发者无需对市面上每一款Serverless工具进行研究和学习,只需通过Serverless Devs,就可以简单、快捷的“上手”主流Serverless服务和框架。

    安装Serverless Devs命令行工具

    安装Node.js环境。

    执行如下命令,下载Node.js安装包。

    wget https://npm.taobao.org/mirrors/node/v12.4.0/node-v12.4.0-linux-x64.tar.xz
    
    • 1

    执行如下命令,解压安装包并重命名。

    tar -xvf node-v12.4.0-linux-x64.tar.xz && mv node-v12.4.0-linux-x64/ /usr/local/node
    
    • 1

    执行如下命令,配置环境变量。

    echo "export PATH=$PATH:/usr/local/node/bin" >> /etc/profile
    source /etc/profile
    
    • 1
    • 2

    执行如下命令,安装Serverless-Devs工具。

    npm install @serverless-devs/s -g
    
    • 1

    返回结果如下,表示安装完成。

    img

    **说明:**如果安装过程较慢,可以使用淘宝npm源,安装命令为

    npm --registry=https://registry.npm.taobao.org install @serverless-devs/s -g。
    
    • 1

    执行如下命令,查看版本并检查安装是否正确。

    s -v
    
    • 1

    返回结果如下,您可以看到Serverless-Devs工具的版本。

    img

    配置阿里云账号信息
    本场景提供免费的ECS服务器,但是使用的函数计算服务是开通在您账号下,以下配置信息也是需要配置AK ID和AK Secret信息。

    执行如下命令,配置账号信息。

    s config add
    
    • 1

    然后根据提示填写以下信息。

    • 云厂商:选择阿里云(alibaba)。

    img

    • AccessKeyID和AccessKeySecret:请在安全信息管理页面查看您账号的AccessKey ID和AccessKey Secret。
    • img
    • 如果您使用的是阿里云RAM子用户,需要确保您的子用户拥有函数计算管理权限AliyunFCFullAccess,请参见为RAM用户授权。

    如下图所示为您的AccessKey ID和AccessKey Secret。如果您的账号未使用过AccessKey,请单击右上角创建AccessKey。

    img

    配置成功后显示类似如下。

    img

    搭建Wordpress博客项目

    1. 执行如下命令,在当前路径初始化一个wordpress项目。
    s init devsapp/start-wordpress
    
    • 1
    1. 执行如下命令,执行输入项目名start-zblog。
    start-wordpress
    
    • 1

    img

    1. 选择创建应用所在的地区后按回车。

      说明 :

    建议您选择创建应用所在的地区为云服务器ECS实例所在地域,您可在云产品资源列表查看云服务器ECS实例所在地域。

    img

    1. 执行如下命令,执行输入服务名称web-framework。
    web-framework
    
    • 1

    img

    1. 执行如下命令,执行输入函数名称wordpress。
    wordpress
    
    • 1

    img

    1. 选择默认凭据后按回车。

      img

    返回结果如下,表示初始化完成。

    img

    1. 执行如下命令,进入start-wordpress目录。
    cd start-wordpress
    
    • 1
    1. 执行如下命令,部署wordpress项目。

      s deploy
      
      • 1

      输入Y后按回车,选择自动创建NAS。

      img

    返回结果如下,表示安装wordpress项目部署完成,并复制domain。

    img

    1. 打开虚拟桌面的FireFox ESR浏览器,粘贴并访问domain。依次输入站点标题、用户名、密码和邮箱,单击安装WordPress。

      参数说明:

    • 站点标题:自定义标题。

    • 用户名:自定义用户名。

    • 密码:输入密码。

    • 邮箱:输入邮箱。

      img

    1. 在成功页面,单击登录。

    img

    1. 在WordPress登录页面,输入用户名和密码,单击登录。

      img

    2. 出现如下界面,表示您已成功登录wordpress博客后台管理。

    G83NdU58-1656800953775)]

    1. 在成功页面,单击登录。

    [外链图片转存中…(img-SOIt023W-1656800953776)]

    1. 在WordPress登录页面,输入用户名和密码,单击登录。

      [外链图片转存中…(img-kjbCyw72-1656800953777)]

    2. 出现如下界面,表示您已成功登录wordpress博客后台管理。

    img

  • 相关阅读:
    Java的密码生成和验证库Passay − 快速指南
    Linux Centos7安装后,无法查询到IP地址,无ens0,只有lo和ens33的解决方案
    Vue路由--无痕浏览 & NodeJs环境搭建
    数据库去除重复数据(id除外)
    性能测试 —— Jmeter定时器
    动力电池:车企们的新角斗场
    省重点实验室成果转化:24h在线的专业数字朋友,不用欠人情的网上解答神器~
    Science子刊 | 将CAR-T细胞疗法与造血干细胞移植相结合 或许 能治疗所有血液癌症...
    Python标准库中的编码风格整理
    ms-sql server sql 把逗号分隔的字符串分开
  • 原文地址:https://blog.csdn.net/weixin_51568389/article/details/125580549