首页 > 技术文章 > 基于函数计算快速搭建Django Blog博客

bainana 2021-08-20 10:27 原文

体验简介

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

本实验提供了一台时长2小时的ECS

背景知识

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

1、函数计算(FunctionCompute)

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

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

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

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

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

  4. 毫秒级弹性扩容,保证弹性高可用。

2、容器镜像服务ACR

容器镜像服务是面向容器镜像、Helm Chart等的符合OCI标准的云原生制品安全托管及高效分发平台。ACR支持全球同步加速、大规模/大镜像分发加速、多代码源构建加速等全链路提效,与容器服务ACK无缝集成,帮助企业降低交付复杂度,打造云原生应用一站式解决方案。

3、文件存储NAS

文件存储NAS是一个可大规模共享访问,弹性扩展的高性能云原生分布式文件系统。支持智能冷热数据分层,有效降低数据存储成本。广泛应用于企业级应用数据共享、容器、AI机器学习、Web服务和内容管理、应用程序开发和测试、媒体和娱乐工作流、数据库备份等场景。

4、Serverless Devs开发者工具

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

1. 开通函数计算服务

在使用函数计算前,您需要开通函数计算服务。
说明 :

本场景中提供的阿里云子账号无函数计算服务操作权限,所以请使用您自己的阿里云账号操作。您无需担心扣费问题,因为函数计算服务有一定的免费额度,请参见计费方式。

  1. 使用您自己的阿里云账号登录阿里云控制台,然后进入函数计算详情页。

  2. 单击免费开通。
    在这里插入图片描述
    3. 选中函数计算服务协议,单击立即开通。

在这里插入图片描述
成功开通后,您将会收到以下提示。
在这里插入图片描述

2. 安装Serverless Devs命令行工具

安装Node.js环境。

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

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

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

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

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

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

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

npm install @serverless-devs/s -g

返回结果如下,表示安装完成。
在这里插入图片描述
说明 :
如果安装过程较慢,可以使用淘宝npm源,安装命令为npm --registry=https://registry.npm.taobao.org install @serverless-devs/s -g。

执行如下命令,查看版本并检查安装是否正确。
返回结果如下,您可以看到Serverless-Devs工具的版本。
在这里插入图片描述

3. 配置阿里云账号信息

说明:

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

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

s config add

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

云厂商:选择Alibaba Cloud(alibaba)。
在这里插入图片描述

AccountID:请在账号安全设置页面查看您的阿里云主账号ID。

在这里插入图片描述
AccessKeyID和AccessKeySecret:请在安全信息管理页面查看您账号的AccessKey ID和AccessKey Secret。
· 如果您使用的是阿里云主账号,请在安全信息管理页面的安全提示弹框中,单击继续使用AccessKey。
在这里插入图片描述
· 如果您使用的是阿里云RAM子用户,需要确保您的子用户拥有函数计算管理权限AliyunFCFullAccess,请参见为RAM用户授权。
如下图所示,您可以在用户AccessKey区域查看您的AccessKey ID和AccessKey Secret。如果您的账号未使用过AccessKey,请单击右上角的创建AccessKey。
在这里插入图片描述
配置成功后,您将会收到Configuration successful的提示信息,如下图所示。
在这里插入图片描述

4. 搭建Django Blog博客项目

1、执行以下命令,在当前路径初始化一个Django Blog项目。

s init devsapp/django-blog

1) 输入项目文件名django-blog后按回车。

在这里插入图片描述
2) 选择默认凭据后按回车。
在这里插入图片描述
返回结果如下。
在这里插入图片描述

2、将Typecho项目部署到函数计算服务上。

1) 执行以下命令,进入项目所在目录。
cd django-blog

2) 执行以下命令,部署项目。
s deploy

返回结果如下。

在这里插入图片描述
3、打开虚拟桌面浏览器,访问测试域名,查看部署好的Django Blog博客系统。

在这里插入图片描述
接下来您可以添加一些主题和插件以丰富您的博客系统。

推荐阅读