【发布时间】:2021-11-11 01:37:59
【问题描述】:
更新问题
再试一次,希望能提供更具体的细节,以防任何人都能看到我缺少什么来让这个工作正常进行。
步骤
- 使用 Linux Docker Container 创建 App Service,配置如下:
- 创建的存储帐户如下:
- 创建文件共享如下:
- 添加到应用服务的路径映射如下:
-
将适当的 WordPress 数据库设置添加到应用服务配置中的应用程序设置,并保存更改。
-
点击应用服务 URL,执行 WordPress 安装步骤,登录并导航到媒体库
-
上传图片,上传没有错误,但图片没有出现在媒体库中:
- 图像文件确实出现在 Azure 文件共享中:
- 尝试浏览到 WordPress 媒体库中显示的图像 URL 并得到 502:
- 尝试浏览到 Azure 文件共享中显示的图像的 URL,并收到此错误:
因此,据我所知,Docker 容器可以正常安装 Azure 文件共享,但是对文件的 HTTP 访问不起作用,我不确定需要更改配置或权限中的哪些内容以允许通过 WordPress 网站对上传内容进行公共读取访问。
希望我所采取的步骤的概述和屏幕截图有助于澄清我做了什么,什么不工作。
原始问题
我正在尝试将 WordPress 部署在 Azure 上,但不知道如何使用 Azure 文件存储来处理媒体文件,特别是如何让它们能够通过 HTTP 提供服务。
目前在我的测试中,我正在本地构建一个自定义 Docker 映像,将其推送到我的 Azure 容器注册表,将其部署到应用服务中,并且我指向一个 Azure MySQL 数据库。一切正常(除了我无法通过 SSH 进入容器,但我对此并不十分担心)。
我还配置了一个存储帐户和一个 Azure 文件共享,所以我进入了应用服务配置并添加了一个路径映射,其挂载点为 /var/www/html/wp-content/media 并添加了适当的将内容添加到应用程序设置中的 WORDPRESS_CONFIG_EXTRA。我也尝试过 /var/www/html/wp-content/uploads 作为挂载点,但得到了相同的结果,即 ...
我可以将文件上传到 WordPress 媒体库,当我浏览 Azure 门户中的文件存储时,它们就会显示出来。但是,上传的图像不会出现在 WordPress 媒体库中;图片应该在的地方只有空框,如果我浏览到图片 URL,我会收到 502 错误。
因此,就能够从容器写入文件共享而言,文件系统权限似乎很好。缺少的部分似乎是提供媒体文件的能力,我一直在思考如何解决这部分问题。
如果有一个更简单的方法来处理所有这些,我会全力以赴,尽管我觉得如果我可以在浏览器中获取媒体文件,我会很开心。
感谢任何人提供的任何指导!
【问题讨论】:
-
您有很多描述,但没有关于具体配置的详细信息。 WordPress 媒体的位置是 /wp-content/uploads。如果您在该目录上挂载 Azure 文件共享,您应该不会有任何问题,假设正确的角色授予访问权限。您提到文件上传正常,但图像没有。需要有关您遇到的问题的更多详细信息。 502 错误可能意味着 PHP 抛出了异常。日志显示什么?我有一个使用 Azure 文件共享运行 WordPress 的生产站点,但我没有遇到您看到的问题。
-
谢谢,我尝试使用挂载路径 /var/www/html/wp-content/uploads 以及相同的结果,所以我会深入研究它,看看日志说什么. “文件”是一个通用术语——所有文件都可以正常上传,但图像不会在媒体库中显示预览,浏览它们会抛出 502。我会绕着 Azure 抛出日志的地方转一圈,看看是什么我可以看到。再次感谢您的想法。
-
我在 WordPress 上使用 WP Log Viewer 来查看日志。您需要手动将三个条目添加到 wp-config.php。如果出现日志错误,WordPress 仪表板标题栏中会出现一个红色数字。通过警告和错误查看幕后发生的事情的非常好的方法。日志条目的格式更清晰。
-
更新:在我的第一条评论中,我的意思是 /path-to-wordpress-files/wp-content/uploads