【问题标题】:How to run WordPress on Google Cloud Run?如何在 Google Cloud Run 上运行 WordPress?
【发布时间】:2019-09-11 19:01:15
【问题描述】:

Google Cloud Run 是新的。是否可以在其上运行 WordPress docker?也许使用 gce 作为 mysql/mariadb 的数据库。找不到任何关于此的讨论

【问题讨论】:

    标签: google-cloud-run


    【解决方案1】:

    虽然我认为这是可能的,但完成此练习并不能很好地利用您的时间。 Cloud Run 可能不是适合这项工作的工具。

    更新有人在博客上写了一篇关于此的教程(使用风险自负):https://medium.com/acadevmy/how-to-install-a-wordpress-site-on-google-cloud-run-828bdc0d0e96

    这里有几点需要考虑;

    1. (更新:这不再是真的)目前 Cloud Run 不支持原生连接到 Cloud SQL (mysql)。有一些技巧,例如在容器内启动 cloudsql_proxy:How to securely connect to Cloud SQL from Cloud Run? 可以正常工作。

    2. 您需要事先准备好您的wp-config.php 并将其烘焙到您的容器映像中。由于您的容器会不时被清除,您应该安装您的博客(创建一个wp-config.php)并将生成的文件烘焙到容器映像中,这样当容器重新启动时,它不会丢失您的 wp-config .php。

    3. 持久存储可能是个问题:与第 2 点类似,重新启动容器将删除启动后保存到容器中的文件。您需要确保安装的插件、图像上传等内容不应该写入容器的本地文件系统。 (我不确定 wordpress 是否允许您将此类文件写入其他地方,例如 GCS/S3 存储桶。)要实现这一点,您最终可能会使用 https://wordpress.org/plugins/wp-stateless/ 插件或 gcs-media-plugin 之类的东西。

      写入 Cloud Run 容器的本地文件系统的任何文件也计入容器的可用内存,因此如果您继续向其写入文件,您的应用程序可能会耗尽内存。

    长话短说,如果您可以确保您的 WP 安装不会在您的本地磁盘上写入/修改文件,那么它应该可以正常工作。

    我认为 Cloud Run 可能不适合这里的工作,因为它运行“无状态”容器,而且很难让 WordPress 成为无状态,尤其是在安装主题/插件、配置东西等时。不要提一下,您的 Cloud SQL 服务器不会是“无服务器”的,您将在它没有收到任何请求时为其付费。

    (P.S. 这将是一个很好的练习,可以尝试写一篇博客文章!如果你这样做,请将其添加到awesome-cloudrun repo。)

    【讨论】:

    • 我创建了一个 Cloud Run WordPress 设置。我计划在接下来的几天内在我的网站上记录这一点。我还在写一些关于 Cloud Run 安全性的文章。 CloudRun 上的 WordPress 运行良好。冷启动还不错(2000 毫秒),热实例的页面响应几乎是即时的。设置与自动缩放的 WordPress 系统没有太大区别。
    • @JohnHanley,我很想听听您如何在 Cloud Run 上运行 WordPress!有文案吗?
    • @MartinOmander - 我没有写 WordPress 文章。我确实让我的 CloudRun/WordPress 网站一直运行到上周末,在那 2.5 个月内我没有遇到任何问题。该网站已映射到公开可用的自定义域。
    • @MartinOmander - 我没有写这篇文章的原因之一是我决定不推荐 Cloud Run for WordPress。在真实的 WordPress 站点中,您会不断地使用补丁和更新来更新安装。我仍然认为 WordPress 最适合老式方式:Cloud SQL + 负载均衡器 + CDN + GCE。 WordPress 不适合用于补丁和更新的自动化管道。
    猜你喜欢
    • 2020-04-08
    • 2020-12-15
    • 2021-12-02
    • 2019-09-28
    • 1970-01-01
    • 2020-01-22
    • 2019-12-04
    • 2020-02-17
    • 2022-11-08
    相关资源
    最近更新 更多