目录
前言
正文
一、登陆并开通服务
二、创建应用
三、遭遇报错并解决
四、访问应用服务
五、发布第一篇文章
六、浏览站点及主题修改
结尾
前言
Serverless,即无服务器架构,是一种新的服务器架构形式。无服务器架构是一种按需提供后端服务的方式。无服务器提供程序允许用户编写和部署代码,而不必担心底层基础结构。无服务器供应商会根据提供的后端服务计算对应的费用,而不必保留和支付固定数量的带宽或服务器数量,因为该服务是自动扩展的。值得注意的是,尽管被称为无服务器,但仍然需要使用物理服务器,但开发人员不需要了解它们,甚至不用关心它们的存在。目前,很多公司都在往 Serverless 这个方向上发力,Serverless 已经成为一种非常热门的技术。
正文
云计算的出现改变了很多传统的服务器架构形式,衍生出了很多改变传统 IT 架构和运维方式的新技术,比如虚拟机、容器、微服务。但是,无论这些技术应用在哪些场景中,降低成本、提升效率是云服务永恒的主题。特别是 Serverless 技术的出现,在降低成本方面,服务器架构形式向前迈出了重大的一步。
像其他技术一样,在 Serverless 技术普及的过程中,也会遇到各种各样的问题,踩坑和试错是不能避免的。
今天,我就结合自己在腾讯云上使用 Serverless 服务的经历,来说说过程中遇到的各种问题以及如何使用 Wordpress 搭建自己的第一个内容管理系统网站。
一、登陆并开通服务
首先,注册腾讯云账户,登陆后选择 Serverless WordPress 建站。
注册地址:https://cloud.tencent.com/
腾讯云的 Wordpress 就是一个基于 Serverless 架构的建站工具服务。
它具备四个非常明显的优势:
1. 快速创建服务;
2. 按量计费,节约成本;
3. 支持 WordPress 原生框架;
4. 能够动态弹性伸缩。
二、创建应用
进入页面后,选择开通 Serverless 服务,我们就可以进行应用的创建了。
创建新应用的方式有两种,一种是应用模板创建,一种是导入已有的项目。因为第一次使用 Serverless 服务,所以,我们选择第一种方式创建应用服务。
接下来就是选择模板,模板支持很多种,比如 Next.js 框架、Wordpress 框架、Express 框架、Flask 框架、SpringBoot 框架、Laravel 框架等。我们直接选择 Wordpress 框架,然后点击“下一步”。
相应的界面如下图所示:
进入下一个页面,这个时候需要填写应用的名称,注意应用名只能由小写字母、数字和分隔符组成。我这里填写的是自己的微信号 lzandlly(😝),开发环境有开发模式(dev)、测试模式(test)、beta 模式,我们选择开发模式。然后,点击“完成”按钮。
相应的界面如下图所示:
这个时候,应用服务开始创建,并且在部署日志中可以看到,显示“加载中...”的信息。
相应的界面如下图所示:
三、遭遇报错并解决
应用服务在加载过程中,会输出如下信息,表示服务正在创建:
Downloading code
Initializing node.js environment
Installing plugins
Processing serverless config files
... ...
但是,服务创建的过程并不顺利,接下来遇到报错,具体日志信息如下:
Downloading code
Initializing node.js environment
Installing plugins
Processing serverless config files
Deploying serverless project
[2021-04-26 22:24:46] + serverless deploy --debug --force
[2021-04-26 22:24:48] 正在初始化...
[2021-04-26 22:24:48] Action: "deploy" - Stage: "dev" - App: "lzandlly" - Instance: "wordpress-Rrj6p3a92"
[2021-04-26 22:24:48] 准备中...
[2021-04-26 22:24:58] 上传中...
[2021-04-26 22:25:00] 部署中...
[2021-04-26 22:25:02] Deploying wordpress Application (eoucfit)
[2021-04-26 22:25:03] Creating default vpc
[2021-04-26 22:25:04] Use default VPC, vpcId: vpc-ch3csih5, subnetId: subnet-jlhh488q
[2021-04-26 22:25:04] Creating CFS wp-cfs-eoucfit
[2021-04-26 22:25:04] Start create CynosDB cluster
[2021-04-26 22:25:04]
[2021-04-26 22:25:04] Error: The provided credentials could not be validated. Please check your signature is correct. (reqId: 79584f1f-f96c-4839-89d1-ffd133d69a30)
[2021-04-26 22:25:04] at Object.<anonymous> (/var/user/node_modules/tencent-component-toolkit/lib/utils/api.js:52:27)
[2021-04-26 22:25:04] at Generator.next (<anonymous>)
[2021-04-26 22:25:04] at fulfilled (/var/user/node_modules/tencent-component-toolkit/lib/utils/api.js:5:58)
[2021-04-26 22:25:04] at process._tickCallback (internal/process/next_tick.js:68:7)
[2021-04-26 22:25:04]
[2021-04-26 22:25:04] 17s › wordpress-Rrj6p3a92 › The provided credentials could not be validated. Please check your signature is correct. (reqId: 79584f1f-f96c-4839-89d1-ffd133d69a30)
[2021-04-26 22:25:04]
[2021-04-26 22:25:04] 帮助文档: https://cloud.tencent.com/document/product/1154/39270
[2021-04-26 22:25:04] BUG提交: https://github.com/serverless/serverless-tencent/issues
[2021-04-26 22:25:04] 问答社区: https://github.com/serverless/serverless-tencent/discussions
[2021-04-26 22:25:04]
[2021-04-26 22:25:04]
[2021-04-26 22:25:19]
script returned exit code 1
复制代码
通过日志,我们可以看出,错误发生在创建 CynosDB 数据库集群之后,错误的原因大致是因为无法验证提供的凭据的有效性,要求检查提供的签名是否正确。
于是,自己去官方的帮助文档(https://cloud.tencent.com/document/product/1154/39270)和问答社区(https://github.com/serverless/serverless-tencent/discussions)寻找答案,然而,也一无所获。
报错截图:
并且在应用服务的预览页显示的应用状态也是“异常”,具体如下图所示:
就在自己一筹莫展之际,灵光乍现,感觉灯泡都亮了,先注销应用,然后重新创建,这个时候,奇迹发生了。。。
此时,部署日志窗口输出如下信息,预示着应用服务创建成功了:
Downloading code
Initializing node.js environment
Installing plugins
Processing serverless config files
Deploying serverless project
Warming up serverless project
[2021-04-26 22:40:22] + serverless deploy --debug --force
[2021-04-26 22:40:23] 正在初始化...
[2021-04-26 22:40:23] Action: "deploy" - Stage: "dev" - App: "lzandlly" - Instance: "wordpress-Qm_Oy9JNo"
[2021-04-26 22:40:24] 准备中...
[2021-04-26 22:40:33] 上传中...
[2021-04-26 22:40:35] 部署中...
[2021-04-26 22:40:37] Deploying wordpress Application (csqy88o)
[2021-04-26 22:40:38] Use default VPC, vpcId: vpc-ch3csih5, subnetId: subnet-jlhh488q
[2021-04-26 22:40:38] Creating CFS wp-cfs-csqy88o
[2021-04-26 22:40:38] Start create CynosDB cluster
[2021-04-26 22:40:38] Creating CynosDB cluster id: cynosdbmysql-mj360541
[2021-04-26 22:42:14] region: ap-guangzhou
[2021-04-26 22:42:14] zone: ap-guangzhou-4
[2021-04-26 22:42:14] vpc:
[2021-04-26 22:42:14] region: ap-guangzhou
[2021-04-26 22:42:14] zone: ap-guangzhou-4
[2021-04-26 22:42:14] vpcId: vpc-ch3csih5
[2021-04-26 22:42:14] vpcName: Default-VPC
[2021-04-26 22:42:14] subnetId: subnet-jlhh488q
[2021-04-26 22:42:14] subnetName: Default-Subnet
[2021-04-26 22:42:14] isDefault: true
[2021-04-26 22:42:14] cfs:
[2021-04-26 22:42:14] region: ap-guangzhou
[2021-04-26 22:42:14] pGroupId: pgroupbasic
[2021-04-26 22:42:14] netInterface: VPC
[2021-04-26 22:42:14] protocol: NFS
[2021-04-26 22:42:14] storageType: SD
[2021-04-26 22:42:14] name: wp-cfs-csqy88o
[2021-04-26 22:42:14] cfsId: cfs-o8le06an
[2021-04-26 22:42:14] vpc:
[2021-04-26 22:42:14] vpcId: vpc-ch3csih5
[2021-04-26 22:42:14] subnetId: subnet-jlhh488q
[2021-04-26 22:42:14] db:
[2021-04-26 22:42:14] dbMode: SERVERLESS
[2021-04-26 22:42:14] region: ap-guangzhou
[2021-04-26 22:42:14] zone: ap-guangzhou-4
[2021-04-26 22:42:14] vpcConfig:
[2021-04-26 22:42:14] vpcId: vpc-ch3csih5
[2021-04-26 22:42:14] subnetId: subnet-jlhh488q
[2021-04-26 22:42:14] instanceCount: 1
[2021-04-26 22:42:14] minCpu: 0.25
[2021-04-26 22:42:14] maxCpu: 0.5
[2021-04-26 22:42:14] clusterId: cynosdbmysql-mj360541
[2021-04-26 22:42:14] adminPassword: B!!Bd31%
[2021-04-26 22:42:14] connection:
[2021-04-26 22:42:14] ip: 172.16.0.16
[2021-04-26 22:42:14] port: 3306
[2021-04-26 22:42:14] instances:
[2021-04-26 22:42:14] -
[2021-04-26 22:42:14] id: cynosdbmysql-ins-6mlh82z8
[2021-04-26 22:42:14] name: cynosdbmysql-ins-6mlh82z8
[2021-04-26 22:42:14] role: master
[2021-04-26 22:42:14] type: rw
[2021-04-26 22:42:14] status: running
[2021-04-26 22:42:14] apigw:
[2021-04-26 22:42:14] created: true
[2021-04-26 22:42:14] url: https://service-k39z6970-1256520856.gz.apigw.tencentcs.com/release/
[2021-04-26 22:42:14] id: service-k39z6970
[2021-04-26 22:42:14] domain: service-k39z6970-1256520856.gz.apigw.tencentcs.com
[2021-04-26 22:42:14] environment: release
[2021-04-26 22:42:14] apis:
[2021-04-26 22:42:14] -
[2021-04-26 22:42:14] path: /
[2021-04-26 22:42:14] method: ANY
[2021-04-26 22:42:14] apiName: wp_api
[2021-04-26 22:42:14] created: true
[2021-04-26 22:42:14] authType: NONE
[2021-04-26 22:42:14] businessType: NORMAL
[2021-04-26 22:42:14] isBase64Encoded: true
[2021-04-26 22:42:14] apiId: api-4mt4s31q
[2021-04-26 22:42:14] internalDomain:
[2021-04-26 22:42:14] layer:
[2021-04-26 22:42:14] region: ap-guangzhou
[2021-04-26 22:42:14] name: wp-layer-csqy88o
[2021-04-26 22:42:14] bucket: wordpress-serverless-code-ap-guangzhou
[2021-04-26 22:42:14] object: wp-layer-csqy88o.zip
[2021-04-26 22:42:14] description: Created by Serverless Component
[2021-04-26 22:42:14] runtimes:
[2021-04-26 22:42:14] - CustomRuntime
[2021-04-26 22:42:14] version: 1
[2021-04-26 22:42:14] wpInitFaas:
[2021-04-26 22:42:14] name: wp-init-csqy88o
[2021-04-26 22:42:14] runtime: Nodejs12.16
[2021-04-26 22:42:14] namespace: default
[2021-04-26 22:42:14] memorySize: 128
[2021-04-26 22:42:14] wpServerFaas:
[2021-04-26 22:42:14] name: wp-server-csqy88o
[2021-04-26 22:42:14] runtime: CustomRuntime
[2021-04-26 22:42:14] namespace: default
[2021-04-26 22:42:14] memorySize: 1024
[2021-04-26 22:42:14] layers:
[2021-04-26 22:42:14] -
[2021-04-26 22:42:14] name: wp-layer-csqy88o
[2021-04-26 22:42:14] version: 1
[2021-04-26 22:42:14] 应用控制台: https://serverless.cloud.tencent.com/apps/lzandlly/wordpress-Qm_Oy9JNo/dev
[2021-04-26 22:42:14] 111s › wordpress-Qm_Oy9JNo › 执行成功
[2021-04-26 22:42:14]
[2021-04-26 22:42:14]
复制代码
四、访问应用服务
应用创建成功后,对应的服务状态会显示“正常”,这个时候操作选项中,可以选择“访问应用”。
点击对应的按钮后,我们来到如下界面:
此时,需要填写对应的站点标题,后台管理账户的用户名和密码,最后还要输入电子邮箱。注意:上述信息可以临时简单的填写一些内容,后期我们还可以修改,所以,不用担心后续修改的问题,不用在此时冥思苦想太久。所填信息简单就好,但是注意密码还是复杂一些比较好。
填写完信息,核对无误后,点击左下角的“安装”按钮,会跳到如下界面,表示 WordPress 安装成功。
点击“登录”按钮,跳转到登录界面。
输入之前填写的用户名和密码后,我们进入系统管理后台,其主界面如下图所示。
其中,仪表盘包含了站点的整体状态展示,系统左侧的导航栏也提供了非常基础的站点功能,包括了文章、媒体、页面、评论、外观、插件、用户、工具、设置等内容选项。
五、发布第一篇文章
接下来,我们体验一下 Wordpress 的文档编辑器,怎么说呢?预览页字体大得有些雷人,感觉非常的山寨(原谅我的直白,有啥说啥哈)。
编辑器功能还算说得过去,基本上能够满足日常写文章的要求。
下图是我编辑的一篇测试文档:
文章的内容非常简单,主要是为了测试一些基础的编辑功能,比如字体加粗、超链接、代码块等。完成后,点击右上角的“发布”按钮,我们再回到站点首页,就可以看到自己新发布的那篇文章了。
六、浏览站点及主题修改
发布的文章的整体展示效果,如下图所示:
当然,感觉页面大得突兀感觉界面丑也没有关系,我们可以切换主题,比如:
说真的,感觉上述主题字体都大得非常有共性,晕~~~
结尾
从整体感觉上来说,腾讯云的 Wordpress 服务在易用性方面还是拿得出手的,即使是没有开发经验的小白也可以非常轻松的掌握其开通、使用、配置等操作。另外,很多 CDN 方案也已经采取了 Serverless 服务架构,在流媒体服务器的调度过程中实现了自动伸缩。个人认为,Serverless 技术将会是服务器架构未来发展的一个趋势,让我们拭目以待吧。
评论