基于函数计算实现快速建站

本教程介绍基于函数计算和WordPress实现快速建站。

场景体验目标

本场景将介绍使用函数计算产品 Function Compute 快速部署一个 wordpress 网站。

在这个场景中你将学到:serverless web 新的开发模式,包括 FUN 工具一键初始化 NAS、 同步网站到 NAS、一键部署等能力。体验函数计算的开发敏捷特性、自动弹性伸缩能力、免运维和完善的监控设施。

背景知识

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

云服务器ECS

云服务器(Elastic Compute Service,简称ECS)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS (Infrastructure as a Service)级别云计算服务。云服务器ECS免去了您采购IT硬件的前期准备,让您像使用水、电、天然气等公共资源一样便捷、高效地使用服务器,实现计算资源的即开即用和弹性伸缩。阿里云ECS持续提供创新型服务器,解决多种业务需求,助力您的业务发展。

Wordpress

WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把WordPress当作一个内容管理系统(CMS)来使用。

函数计算Function Compute

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

实验详情

连接ECS服务器

1.打开终端工具。

  • Windows:CMD或Powershell。
  • MAC:Terminal。

2.在终端中输入连接命令ssh [username]@[ipaddress]。您需要将其中的username和ipaddress替换为第1小节中创建的ECS服务器的登录名和公网地址。例如:

ssh root@123.123.123.123

TB1abSXHmf2gK0jSZFPXXXsopXa-316-366.jpg

命令显示结果如下:

ssh连接ECS

3.输入yes。

4.同意继续后将会提示输入登录密码。 密码为已创建的云服务的ECS的登录密码。

输入密码

登录成功后会显示如下信息。

登陆成功

开通函数计算服务和日志服务

在使用函数计算前,您需要在控制台开通服务,具体步骤如下。

1.在页面左侧资源栏点击 一键复制登录url

2.打开浏览器隐身窗口(无痕模式),粘贴已复制的 url地址 前往 RAM用户登录界面 。

3.在 RAM用户登录页面,输入云产品资源提供的 子用户名称 点击 【下一步】

跳转后输入 子用户密码 ,并点击 【登录】 。

4.在阿里云管理控制台,点击顶部【产品与服务】 ,然后点击【函数计算】 ,进入服务开通页面。

选择资源提供的地域 ,勾选函数计算服务协议,点击【立即开通】。

开通成功页面如下。

5.在阿里云管理控制台,点击顶部【产品与服务】 ,然后点击【日志服务】 ,进入服务开通页面。

点击【创建简单日志】。

点击【立即开通】。

开通成功页面如下。

安装 MySQL 数据库

由于使用wordpress搭建云上博客,需要使用MySQL数据库存储数据,所以这一步我们安装一下MySQL。

1.执行如下命令,下载并安装MySQL官方的Yum Repository

wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server 

2.执行以下命令,启动 MySQL 数据库。

systemctl start mysqld.service

3.执行如下命令,查看MySQL初始密码。

grep "password" /var/log/mysqld.log

4.执行以下命令,登录数据库。

mysql -uroot -p

输入密码

5.执行以下命令,修改MySQL默认密码。

set global validate_password_policy=0;  #修改密码安全策略为低(只校验密码长度,至少8位)。
ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678';

6.执行以下命令,授予root用户远程管理权限。

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '12345678';

7.执行如下命令,创建wordpress库。

create database wordpress; 

8.执行以下命令,查看是否创建成功。

show databases;

9.输入exit退出数据库。

安装Fun工具

Fun 是一个用于支持Serverless应用部署的工具,能帮助您便捷地管理函数计算、API 网关和日志服务等资源。它通过一个资源配置文件(template.yml),协助您进行开发、构建和部署操作。

1.将Fun的安装包下载到本地。请将下面的 FUN_VERSION变量的值设置为最新版本号,最新版本号请参见Releases。以下操作将在ECS服务器上安装和配置Fun。

cd /
FUN_VERSION="v3.6.1" 
curl -o fun-linux.zip https://gosspublic.alicdn.com/fun/fun-$FUN_VERSION-linux.zip

2.安装解压工具unzip,并使用unzip将下载的Fun安装包解压到当前目录。

yum -y install unzip 
unzip fun-linux.zip

3.将解压出来的可执行文件移动到系统路径。

mv fun-*-linux /usr/local/bin/fun

4.配置Fun关联的阿里云账号和调用SDK的超时时间等信息。

fun config

请参考以下信息输入您的阿里云账号ID、AccessKeyID和AccessKey密钥等信息。

  • Aliyun Account ID:子用户名称中@符号后面部分就是给您分配的主账号ID,例如u-zftb79nc@105997185439****中包含的账号ID为105997185439****
  • Aliyun Access Key ID和Aliyun Access Key Secret:请使用平台提供给您的子账号AK ID和AK Secret。

AK

  • Default region name:使用云平台给您提供的地域ID,例如:ECS实例的地域为华东2(上海),那么这里就选择cn-shanghai

选上海

  • The timeout in seconds for each SDK client invoking:建议将超时时间设置长一点(例如1000),防止在上传部署包时发生超时中断。

下载项目工程

1.执行以下命令,安装Git。

yum -y install git

2.执行以下命令,使用Git下载项目代码。

git clone https://github.com/awesome-fc/fc-wordpress.git

创建NAS文件系统挂载点

1.返回管理控制台,搜索NAS,然后单击【文件存储NAS】,登录NAS控制台。

nas

2.选择【文件系统】 > 【文件系统列表】。

3.选择资源所在地域,找到资源信息栏中的NAS文件系统ID对应的文件系统,单击【更多】 > 【添加挂载点】。

4.在【添加挂载点】页面,配置如下参数。

添加挂载点

5.查看挂载点地址,如下图。

 

使用MySQl数据库初始化

1.执行以下命令,进入 fc-web-mysql目录。

cd fc-wordpress/fc-web-mysql/

2.编辑template.yml文件。

a.  执行以下命令进入编辑页面。

vim template.yml

b.  输入i进入编辑模式。

c.  修改NAS挂载配置。默认auto方式将会自动创建NAS文件系统,这里我们修改填写为平台预创建好的NAS文件系统的信息。

      Description: 'run wordpress on FC'
      Policies:
        - AliyunECSNetworkInterfaceManagementAccess
      VpcConfig:
        VpcId: 'vpc-uf6a****baqyep5k'
        VSwitchIds: [ 'vsw-uf6t****l2lvdc6j7u' ]
        SecurityGroupId: 'sg-uf6****q4p2mhi30'
      NasConfig:
        UserId: 10003
        GroupId: 10003
        MountPoints:
          - ServerAddr: '35****4a-mcr95.cn-shanghai.nas.aliyuncs.com:/'
            MountDir: '/mnt/auto'

修改的参数说明如下:

  • VpcConfig中的VpcId、VSwitchId和SecurityGroupId信息请到ECS控制台的实例详情页查看。
  • ServerAddr的值修改为步骤三中的挂载点地址。

修改后如下图所示:

d.  修改LogConfig中的Project,任意取一个不会重复的名字即可,如下图。

说明 图种两个标记处的项目名称须保持一致。

e.  按Esc键退出编辑模式,输入:wq保存退出。

3.执行以下命令,初始化NAS。

fun nas init

4.由于教程中使用的是自定义NAS服务,所以需要修改项目默认位置。

a.  执行以下命令,查询MAS对应项目位置。

fun nas info

执行结果如下。

NAS映射位置

b.  复制项目到自定义NAS对应位置。

mv /root/fc-wordpress/fc-web-mysql/.fun/nas/auto-default/fc-wp-mysql/wordpress /root/fc-wordpress/fc-web-mysql/.fun/nas/3c2264900a-pel65.cn-shanghai.nas.aliyuncs.com/

命令解析。

  • 命令前半部分/root/fc-wordpress/fc-web-mysql/.fun/nas/auto-default/fc-wp-mysql/wordpress为默认项目位置。
  • 命令后半部分/root/fc-wordpress/fc-web-mysql/.fun/nas/3c2264900a-pel65.cn-shanghai.nas.aliyuncs.com/为自定义NAS项目位置,即命令fun nas info的查询结果。

5.执行以下命令,用于初始化临时域名。

fun deploy -y

执行deploy

输入Y继续。

在命令行结果输出中会有一个可用的临时域名, 如上图中的19022215-1857668598503489.test.functioncompute.com,记录这个域名。

6.编辑index.php文件。

a.  执行以下命令进入编辑页面。

vim index.php

b.  输入i进入编辑模式。

c.  修改 $host属性的值为步骤4中记录的域名。

修改域名

d.  按 Esc键退出编辑模式,输入 :wq保存退出。

7.执行以下命令,上传wordpress网站到 NAS

fun nas sync
fun nas ls nas://fc-wp-mysql/mnt/auto/

8.再次执行fun deploy命令,完成最终部署。

fun deploy

执行结果如下。

配置MySQL数据库

打开浏览器,在浏览器中输入Fun生成的临时域名进行最后配置,例如:19022215-1857668598503489.test.functioncompute.com。

1.在浏览器的 WordPress 初始化窗口,选择 简体中文 ,点击Continue。

选择语言

2.单击 现在就开始!,进入下一步。

3.使用步骤三的MySQL数据库配置如下信息。

配置Mysql数据库

说明 此处可能会有下载弹窗,请不必理会,点击取消重新提交。

4.在新跳转的页面中,单击现在安装进入下一步。

单击现在安装

完成安装

1.在浏览器的WordPress初始化窗口,选择 简体中文 ,点击 Continue 。

选择语言

2.根据实际需求配置以下信息,单击 安装WordPress 完成Wordpress初始化。

初始化wordprdss

初始化wordprdss

3.单击登录进行登录。
去登陆

4.使用上一步配置的用户名和密码登录WordPress。

登录

5.登录后,您就可以添加博客进行发布了。

原文地址:https://www.cnblogs.com/tu240302975/p/13408785.html