next.js Linux上的应用程序服务WEBSITES_ENABLE_APP_CACHE实际上是只读卷?

ia2d9nvy  于 2023-10-18  发布在  Linux
关注(0)|答案(1)|浏览(94)

当使用WEBSITES_ENABLE_APP_CACHE时,它实际上是一个装载到/home/site/wwwroot的只读卷吗?
我正在Linux上的应用服务上测试WEBSITES_ENABLE_APP_CACHE应用程序设置,该应用服务在应用服务上托管NextJS应用程序。因为我们在冷启动时遇到了一些严重的延迟,我们怀疑这是与从Azure存储获取模块文件相关的延迟。NextJS缓存文件夹在发布或重新启动网站时被删除,但网站会重新创建该文件夹并将文件(图像)添加到该文件夹中。如果卷是只读的,这应该是不可能的,但也许由于某种原因,设置没有激活我的应用程序服务中的该高速缓存?如何判断该高速缓存处于活动状态?除了环境设置。
该高速缓存文件夹位于/home/site/wwwroot/.next/cache
我也面临着禁用该功能的av问题。删除该设置后,将无法部署应用的新版本。在Azure DevOps发布管道中,部署看起来很成功,但Web应用程序仍然服务于旧版本。我不得不重新启用该高速缓存通过添加应用程序设置WEBSITES_ENABLE_APP_CACHE回来,然后做一个新的部署,最后新版本是由应用程序服务。有人有同样的经历吗?

bttbmeg0

bttbmeg01#

Linux上Azure App Service中的WEBSITES_ENABLE_APP_CACHE设置用于启用或禁用/home/site/wwwroot目录中文件的缓存,应用程序代码驻留在该目录中。

只读卷:

  • /home/site/wwwroot目录本身不是只读卷,但在冷启动期间,该高速缓存机制使用应用程序内容的只读副本运行。
  • 在冷启动期间,Azure使用应用程序的缓存版本来快速启动新示例。此缓存目录位于/home/site/wwwroot/.appservice
    开启缓存:
  • 要确认该高速缓存处于活动状态,您可以访问App Service示例的“高级工具”或“Kudu”界面。

  • 在Kudu中,导航到文件系统并检查.appservice缓存文件夹是否存在并包含文件。如果它为空或丢失,则该高速缓存可能无法正常工作。

相关问题