【问题标题】:Azure wordpress web app restart deletes filesAzure wordpress Web 应用重新启动会删除文件
【发布时间】:2025-05-11 22:10:01
【问题描述】:

我在 azure 上部署了一个可以工作的 wordpress 作为 Web 应用程序。在对 web.config 进行某些更改或遇到一些性能问题后,我重新启动 Web 应用程序。但是文件系统恢复到某个旧版本!所以所有的媒体+插件等都立即消失了!

当我检查 Kudu 中的实际文件系统时,它们真的消失了。但不是一切,它可以追溯到我无法控制的特定时间点。有没有办法持久化我丢失的文件系统?

我得到一个扩展列表,告诉我插件文件不存在,所以它们被从任何地方删除!

奇怪的是,一旦我重新安装插件,它们就会返回我之前输入的自定义数据。

我非常困惑,感谢任何帮助,

谢谢,

【问题讨论】:

  • 您为什么要使用 Wordpress 编辑 web.config 文件? Wordpress 是 PHP,而不是 ASP.NET...
  • 这是 IIS 上的 wordpress Web 应用程序。

标签: wordpress azure


【解决方案1】:

这里有完整的原始线程: https://social.msdn.microsoft.com/Forums/azure/en-US/dc7a83b4-e73c-48ac-8361-9f6b0ea4e7d7/wordpress-web-app-restart-deletes-wordpress-files?forum=windowsazurewebsitespreview

没有解决我的问题。我发现,由于某种原因,该应用程序被重新启动:


“大约 2018 年 8 月 2 日上午 8:16:05 (UTC),在实例 xxx 上,由于访问远程文件存储时出现间歇性 Azure 基础架构问题,您的应用程序被回收. 这可能是由于多种原因造成的,例如平台实例升级或实例访问远程存储时遇到高延迟。如果您的应用程序运行的实例在访问远程存储时遇到高延迟,平台会尝试修复您的应用程序通过切换到具有低延迟的不同远程存储。这也可能导致应用程序进程重新启动。如果这是一次性发生,那么您不需要采取进一步的行动计划。但是如果您发现它经常发生,那么启用本地缓存功能可以在一定程度上帮助减少对存储文件服务器的依赖。”


因为应用程序是使用LOCAL_CACHE_OPTION always 配置的(请参阅应用程序设置),当前快照(随 WP 核心和插件的更新版本而更改)被删除,并替换为原始文件的另一个缓存版本(又名“回收”)。更多信息在这里:https://docs.microsoft.com/en-us/azure/app-service/app-service-local-cache-overview#enable-local-cache-in-app-service

通过删除 LOCAL_CACHE_OPTION 规则解决了这个问题。

注意:该规则也可能是您的部署配置的一部分。

【讨论】:

  • 我没有机会对此进行测试,因为我放弃了 wordpress azure web 应用程序并自己将其部署在虚拟机上,但谢谢!
【解决方案2】:

但不是所有的事情,它都会回到我无法控制的特定时间点。有没有办法持久化我丢失的文件系统?

Azure 可能已经设置了某种系统还原点,并且会返回到该还原点。如果您希望保留您的文件系统,那么为什么不使用恢复系统来备份您的服务器文件。链接在这里 -

https://docs.microsoft.com/en-us/azure/app-service-web/web-sites-backup

奇怪的是,一旦我重新安装插件,它们就会返回我之前输入的自定义数据

这是有道理的,因为您的数据来自数据库。当您重新启动应用程序时,它只会影响 Wordpress 文件。这些插件将其自定义数据存储在数据库中,与站点重置无关。所以,他们回来了。

【讨论】: