体验简介
本场景介绍使用函数计算服务搭建一个Django Blog博客。使用Serverless Devs命令行工具可以将很多框架、应用、案例一键部署到函数计算平台中。
背景知识
本场景主要涉及以下云产品和服务:
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. 开通函数计算服务
在使用函数计算前,您需要开通函数计算服务。
说明 :
本场景中提供的阿里云子账号无函数计算服务操作权限,所以请使用您自己的阿里云账号操作。您无需担心扣费问题,因为函数计算服务有一定的免费额度,请参见计费方式。
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
然后根据提示填写以下信息。
AccountID:请在账号安全设置页面查看您的阿里云主账号ID。
AccessKeyID和AccessKeySecret:请在安全信息管理页面查看您账号的AccessKey ID和AccessKey Secret。
· 如果您使用的是阿里云主账号,请在安全信息管理页面的安全提示弹框中,单击继续使用AccessKey。
![在这里插入图片描述](https://img-blog.csdnimg.cn/0e907f0274584206ab8cbea2cda154cf.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dhbmd5aWtlamk=,size_16,color_FFFFFF,t_70)
· 如果您使用的是阿里云RAM子用户,需要确保您的子用户拥有函数计算管理权限AliyunFCFullAccess,请参见为RAM用户授权。
如下图所示,您可以在用户AccessKey区域查看您的AccessKey ID和AccessKey Secret。如果您的账号未使用过AccessKey,请单击右上角的创建AccessKey。
![在这里插入图片描述](https://img-blog.csdnimg.cn/c697c9b45c22470b98a0e79e7a93945d.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dhbmd5aWtlamk=,size_16,color_FFFFFF,t_70)
配置成功后,您将会收到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
返回结果如下。