将 WordPress 部署为 AWS lambda 函数?

问题描述 投票:0回答:3

我想知道在AWS API网关上将wordpress部署为一系列lambda函数是否可行。任何有关可行性/陷阱的指示将不胜感激!

提前致谢,

库尔德工人党

wordpress aws-lambda
3个回答
9
投票

您将需要考虑很多关于持久性的事情,甚至在此之前,Lambda 也不支持 PHP。我可能会考虑 Microsoft Azure Functions,它支持 PHP 并且具有持久存储。

虽然其他语言(例如 Go、Rust、Swift 等)可以相对轻松地“包装”在 AWS Lambda 中运行,但针对同一平台编译 PHP 并运行它却有点不同(而且肯定更费力)。考虑一下初学者所需的所有各种 PHP 模块。此外,我无法想象性能会像 Go 二进制文件一样好。

如果您可以使用 Phalcon 框架做一些巧妙的事情并提出一个简单的构建和部署过程,那么 maayyyybee。

不过,您可能需要真正彻底改造 WordPress 之类的东西,因为它根本不是为此设计的。由于项目的年龄,它仍然使用一些相当旧的约定,虽然这对于典型的 PHP 服务器来说一切都很好,但从“便携式”PHP 安装的意义上来说,这是一个不同的游戏。

请记住,PHP 会话也受到依赖,因此由于 AWS Lambda 缺乏持久性,您需要将这些会话移至其他地方。您可能可以找到某种与 Redis 配合使用的 WordPress 插件?我必须想象现在已经建成了这样的东西......但是会有很多复杂性。

我会认真考虑首先使用 Azure Functions,或者使用 Docker 并放弃云函数提供的定价模型。您仍然可以在那里找到一些相当便宜且可扩展的托管服务。

我之前所做的是使用AWS ECS(Docker)和EFS(网络存储)进行持久化,使用RDS进行数据库。虽然它的定价模型与 Lambda 不同,但它仍然具有成本效益。您可以将 ECS 服务设置为自动扩展和缩减。这样,您就可以运行最低限度的运行,直到您需要更多。

我在这里写了一篇更深入的文章:https://serifandsemaphore.io/how-to-host-wordpress-like-a-boss-b5993fcfbd8e#.n6fbnf8ii...但它基本上只是在 Docker 中运行 WordPress 并使用 EFS 来解决持久存储问题的想法。如果您愿意,您可以交换拼图的许多部分。使用托管在其他 Docker 服务或 Compose 或其他位置的数据库。例如,该部分不一定是 RDS。尽管 EFS 工作得很好,但甚至您的存储也可以以不同的方式处理!关于 EFS 唯一需要注意的是写入速度。大多数 WordPress 网站的阅读量都很大。您的里程将根据您的需求而有所不同。


1
投票

可能吗?是的,只要有足够的时间和努力,一切皆有可能。这值得么?这个问题最好问自己。

PHP 可以按照此处的文档在 Lambda 上运行:https://aws.amazon.com/blogs/compute/scripting-languages-for-aws-lambda-running-php-ruby-and-go/

其他评论中提到的更大的初始问题是持久文件系统。用于媒体存储的 S3 可以通过 Wordpress 插件实现(再次来自评论),但用于请求/脚本执行的任何其他持久存储是最初的最大障碍。一次解决一个问题,直到最后!


0
投票

在无服务器功能上部署 WordPress 是可行的,但在 AWS Lambda 上则不行。如果您对此感兴趣,可以看看这篇文章:为什么不应该使用 AWS Lambda 作为 Serverless WordPress 的函数?

© www.soinside.com 2019 - 2024. All rights reserved.