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

本文涉及的产品
云原生网关 MSE Higress,422元/月
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 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 杭州站火热报名中!


点击此处,立即报名!

相关实践学习
【AI破次元壁合照】少年白马醉春风,函数计算一键部署AI绘画平台
本次实验基于阿里云函数计算产品能力开发AI绘画平台,可让您实现“破次元壁”与角色合照,为角色换背景效果,用AI绘图技术绘出属于自己的少年江湖。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
|
6月前
|
人工智能 开发框架 安全
Serverless MCP 运行时业界首发,函数计算让 AI 应用最后一公里提速
作为云上托管 MCP 服务的最佳运行时,函数计算 FC 为阿里云百炼 MCP 提供弹性调用能力,用户只需提交 npx 命令即可“零改造”将开源 MCP Server 部署到云上,函数计算 FC 会准备好计算资源,并以弹性、可靠的方式运行 MCP 服务,按实际调用时长和次数计费,欢迎你在阿里云百炼和函数计算 FC 上体验 MCP 服务。
522 30
|
6月前
|
人工智能 开发框架 运维
Serverless MCP 运行时业界首发,函数计算让 AI 应用最后一公里提速
Serverless MCP 运行时业界首发,函数计算支持阿里云百炼 MCP 服务!阿里云百炼发布业界首个全生命周期 MCP 服务,无需用户管理资源、开发部署、工程运维等工作,5 分钟即可快速搭建一个连接 MCP 服务的 Agent(智能体)。作为云上托管 MCP 服务的最佳运行时,函数计算 FC 为阿里云百炼 MCP 提供弹性调用能力。
 Serverless MCP 运行时业界首发,函数计算让 AI 应用最后一公里提速
|
消息中间件 运维 Serverless
函数计算产品使用问题之如何部署Stable Diffusion Serverless API
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
运维 前端开发 Serverless
Serverless痛点解决问题之将 WordPress 工程部署到函数计算中如何解决
Serverless痛点解决问题之将 WordPress 工程部署到函数计算中如何解决
112 1
|
存储 运维 Serverless
Serverless 支撑赛事转播问题之利用函数计算实现图片处理的实时性和成本节约如何解决
Serverless 支撑赛事转播问题之利用函数计算实现图片处理的实时性和成本节约如何解决
|
数据采集 JSON Serverless
通过百炼大模型+FC函数计算构建小红书图文工作流
使用阿里云函数服务和百炼平台,快速构建小红书图文创作工作流。通过两步轻松创建: 1) 在函数计算中利用Puppeteer构建卡片生成服务; 2) 在百炼平台上创建工作流,整合大模型、脚本和函数计算节点,实现图文内容的自动化处理和生成。此方案适合高效创作小红书内容。
2021 7
|
JSON JavaScript Serverless
函数计算操作报错合集之流水线部署 serverless 全部失败,该如何解决
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
192 2
|
存储 Serverless 文件存储
函数计算产品使用问题之如何让SDXL模型在函数计算FC中运行并生成图像
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
123 2
|
运维 监控 Serverless
Serverless架构下的函数计算:重塑云计算的未来
【7月更文挑战第16天】Serverless架构下的函数计算作为云计算领域的一项重大创新,正以其独特的优势改变着应用开发和运维的方式。随着技术的不断成熟和完善,函数计算将在更多领域发挥重要作用,推动云计算技术向更加高效、灵活和智能的方向发展。对于开发者和企业来说,掌握函数计算技术将是把握未来云计算机遇的关键所在。
|
消息中间件 运维 Serverless
Serverless 支撑赛事转播问题之利用函数计算处理视频直播截帧服务如何解决
Serverless 支撑赛事转播问题之利用函数计算处理视频直播截帧服务如何解决

相关产品

  • 函数计算