基于阿里云 Serverless 函数计算搭建按量付费的 WordPress 网站

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
容器镜像服务 ACR,镜像仓库100个 不限时长
云原生网关 MSE Higress,422元/月
简介: Serverless 经过几年的发展,已经和传统服务器一样好用了。我最初接触 Serverless 是在 2020 年的云开发校园合伙人创造营上,当时我基于阿里云云开发平台部署了一个在线工具箱。

作者:刘天棋


本文选自 Serverless 函数计算征集令 活动


序言


Serverless 过几年的发展,已经和传统服务器一样好用了。我最初接触 Serverless 是在 2020 年的云开发校园合伙人创造营上,当时我基于阿里云云开发平台部署了一个在线工具箱。


1.png

Serverless 发展简史


网站背后的运行技术服务的发展就像人类的进化:物理服务器时代——云计算时代——无服务器化时代,但是有些老系统不能直接部署到 Serverless,必须进行一定的拆解,这无形之中增加了一道门槛。


本文我将介绍如何基于阿里云 Severless 函数计算 FC 搭建按量付费的 WordPress 网站。


简介

通过阿里云函数计算FC,您无需管理服务器等基础设施,只需编写代码并上传。函数计算会为您准备好计算资源,以弹性、可靠的方式运行您的代码。更棒的是,您只需要为代码实际运行消耗的资源付费 - 代码未运行则不产生费用。


下表是传统方式搭建服务和 Serverless 的对比:


2.png


准备事项


1. 阿里云函数计算 FC,可按量付费,有免费额度


2. 文件储存 NAS,可按量付费


3. 云数据库 RDS 版


4. 日志服务 SLS


在进行本文的操作前,需要先开通上述四项服务,并开通在同一地域的同一 VPC 下。


流程操作


NAS


1. 访问阿里云 NAS 控制台


2. 创建通用型 NAS 文件系统。在这里我选择华东 1(杭州)地域。


3.png


3. 系统已经自动创建了挂载点,所以我们无需再进行创建挂载点的操作。


4.png


阿里云函数计算 FC


1. 访问阿里云函数计算控制台


2. 在“概览”中进入刚才创建 NAS 服务时选择的地域。


5.png


3. 创建服务。需要选择允许访问 VPC 并且允许访问公网,选择好刚才创建 NAS 服务时使用的 VPC 和交换机,如果没有安全组,则需要新建安全组。


6.png


7.png


服务角色按默认选择。


8.png


4. 在函数的“服务详情”页面,找到“储存配置”选项,点击编辑。


9.png


5. 启用 NAS,并选择自动配置。


10.png


6. 回到函数管理界面,创建新函数,选择创建一个空白函数。


11.png


运行环境选择 php7.2,并勾选“处理 http 请求”。


12.png


配置触发器,请求方式全部勾选,最后点击创建。


13.png


7. 进入函数详情页面,编辑默认提供的代码为下面的这段代码。


14.png


getAttribute("requestURI");
$uriArr = explode("?", $uri); // default php / or /wp-admin/     
if (preg_match('#/$#', $uriArr[0]) && !(strpos($uri, '.php'))) 
{
$uriArr[0] .= "index.php";         
$uri = implode($uriArr);
     }     
$proxy    = $GLOBALS['fcPhpCgiProxy'];     
$root_dir = '/mnt/www';     //php script     
if (preg_match('#\.php.*#', $uri)) 
{         
$host   = "www.stgit.cn"; // 此处填写你的域名         
$resp   = $proxy->requestPhpCgi($request, $root_dir, "index.php", 
['HTTP_HOST' => $host, 'SERVER_NAME' => $host, 'SERVER_PORT' => '80'],             
['debug_show_cgi_params' => false, 'readWriteTimeout' => 60000]
);         
return $resp;
     } 
else {         // static files, js, css, jpg ...         
$filename = $root_dir . explode("?", $uri)[0];         
$filename = rawurldecode($filename);         
$handle   = fopen($filename, "r");         
$contents = fread($handle, filesize($filename));         fclose($handle);         
$headers = [
'Content-Type'  => $proxy->getMimeType($filename),   
'Cache-Control' => "max-age=8640000",             
'Accept-Ranges' => 'bytes',         
];         
return new Response(200, $headers, $contents);
     } 
}

8. 之后回到函数计算控制台,在高级功能—域名管理中配置自定义域名。


15.png


域名填写已经接入阿里云备案的域名,路由配置选择刚才的服务名称和函数名称,点击创建。注意:这里需要把域名解析到提供的内网 chame。


9. 上传 wordpress 程序


为了简便操作,本文通过开一台按量付费的 ECS 挂载 NAS 然后通过 SFTP 进行可视化操作来上传程序。


可通过类似下面的命令将 NAS 通过 NFS 的方式挂载至目录下。


mount -t nfs -o vers=4.0 16d3e4b609-cub21.cn-hangzhou.nas.aliyuncs.com:/ /mnt

17.png


10. 访问我们绑定的域名。


18.png


至此部署完成。


参考链接:


[1] 阿里云函数计算 FC:

https://www.aliyun.com/product/fc


[2] 阿里云 NAS 控制台

https://nasnext.console.aliyun.com/overview


[3] 阿里云函数计算控制

https://fcnext.console.aliyun.com/overview



阿里云 Serverless 近期热门活动


19.jpeg


2022 阿里云 Serverless Developer Meetup 杭州站火热报名中!


点击此处,立即报名!

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
22天前
|
人工智能 自然语言处理 Serverless
阿里云函数计算 x NVIDIA 加速企业 AI 应用落地
阿里云函数计算与 NVIDIA TensorRT/TensorRT-LLM 展开合作,通过结合阿里云的无缝计算体验和 NVIDIA 的高性能推理库,开发者能够以更低的成本、更高的效率完成复杂的 AI 任务,加速技术落地和应用创新。
|
12天前
|
SQL 分布式计算 Serverless
阿里云 EMR Serverless Spark 版正式开启商业化
阿里云 EMR Serverless Spark 版正式开启商业化,内置 Fusion Engine,100% 兼容开源 Spark 编程接口,相比于开源 Spark 性能提升300%;提供 Notebook 及 SQL 开发、调试、发布、调度、监控诊断等一站式数据开发体验!
56 3
阿里云 EMR Serverless Spark 版正式开启商业化
|
8天前
|
人工智能 运维 大数据
阿里云“触手可及,函数计算玩转 AI 大模型”解决方案评测报告
阿里云“触手可及,函数计算玩转 AI 大模型”解决方案评测报告
21 1
|
运维 Cloud Native 关系型数据库
活动回顾|阿里云 Serverless 技术实战与创新成都站回放&PPT下载
7月29日“阿里云 Serverless 技术实战与创新”成都站圆满落幕。可免费下载成都站|阿里云 Serverless 沙龙演讲 PPT。
|
人工智能 弹性计算 运维
阿里云宣布 Serverless 应用引擎 SAE2.0 将公测上线,多款产品全新升级
阿里云宣布 Serverless 应用引擎 SAE2.0 将公测上线,多款产品全新升级
70393 53
|
人工智能 弹性计算 运维
阿里云容器服务 Serverless 版(ACK Serverless)全新升级
阿里云容器服务 Serverless 版(ACK Serverless)全新升级
1599 10
|
弹性计算 人工智能 运维
阿里云宣布 Serverless 应用引擎SAE2.0 将公测上线
7月31日,阿里云智能云原生应用平台负责人丁宇宣布,Serverless 应用引擎 SAE2.0 将于8月7日公测上线,开源版将于9月30日发布。本次升级围绕极简体验、标准开放、极致弹性三大优势展开,应用冷启动全面提效,支持缩容到 0,应用成本下降 40% 以上。
阿里云宣布 Serverless 应用引擎SAE2.0 将公测上线
|
人工智能 Serverless 开发者
阿里云丁宇:云上开发成为主流,Serverless 定义新范式
阿里巴巴研究员、阿里云智能云原生应用平台总经理丁宇,在阿里云峰会·粤港澳论坛上的发言。
阿里云丁宇:云上开发成为主流,Serverless 定义新范式
|
人工智能 运维 Cloud Native
|
人工智能 运维 Cloud Native
活动回顾丨阿里云 Serverless 技术实战与创新广州站回放& PPT 下载
活动回顾丨阿里云 Serverless 技术实战与创新广州站回放& PPT 下载

相关产品

  • 函数计算
  • 下一篇
    无影云桌面