【问题标题】:Should I delete TEMP folder when publishing Umbraco?发布 Umbraco 时我应该删除 TEMP 文件夹吗?
【发布时间】:2013-05-08 10:33:09
【问题描述】:

当我将内容发布到我的服务器时,我是否也应该发布 `AppData\Temp' 文件夹?

逻辑不会这样做,但无法在网上找到有关它的信息。

【问题讨论】:

    标签: .net umbraco


    【解决方案1】:

    在部署您的应用程序时,您应该为您的 App_Data 文件夹遵循这些准则。

    App_Data

    权限 = 读、写

    所需文件夹

    Umbraco 需要以下文件夹才能投放。
    只要这些文件夹存在(它们可以是空的)Umbraco 4/6 就会很高兴。

    1. App_Data\
    2. App_Data\TEMP\ExamineIndexes
    3. App_Data\Logs
    4. App_Data\preview

    不需要/忽略

    缓存(例如本地创建的文件)

    App_Data/TEMP/ExamineIndexes/*  
    App_Data/umbraco.config  
    App_Browsers/*
    App_Data/Cache/*
    App_Data/TEMP/*  
    App_Data/TEMP/ClientDependency/*  
    App_Data/courier/cache/*  
    App_Data/courier/revisions/*  
    App_Data/justDelete_*  
    App_Data/Preview/*  
    App_Data/_systemUmbracoIndexDontDelete/*  
    

    日志文件

    App_Data/Logs/*  
    App_Data/courier/logs/*  
    App_Data/Elmah Logs/*  
    App_Data/umbraco.licensing.log.txt  
    

    部署

    如果您遵循上述规则,您的部署应该只包含 Umbraco 提供服务所需的文件和文件夹。您可以在每次部署时安全地覆盖(而不是删除)App_Data 文件夹。

    注意事项在一些旧版本的 Umbraco 中,如果 installedPackages.configcreatedPackages.config 文件丢失,它会有点不高兴。但是,在最近的版本中,Umbraco 只会自动重新创建这些文件。我倾向于不包含这些文件,但这确实是个人喜好。

    【讨论】:

    • 请注意:这是实际的完整答案。
    【解决方案2】:

    该文件夹应该存在并且是可写的,因为它是您的检查搜索索引等内容的发布位置,以及 ClientDepenency 缓存(如果您正在使用它)。

    【讨论】:

    • 如果我不发布,umbraco 是否会重新创建 TEMP 文件,如果我决定将我必须的所有内容推送到服务器,我的本地 TEMP 数据是否与服务器兼容?
    • 澄清我可以复制文件夹,但我应该复制内容吗?
    • 您不需要发布 TEMP 文件夹,Umbraco 会重新创建需要在其中的所有内容
    • 正如@MartijnvanderPut 所说,如果您不创建文件夹,只要您对 App_Data 文件夹的权限正确,就会创建该文件夹。如果您确实上传了本地文件夹内容,您可能会遇到一些特殊情况,因为您的检查索引与您的远程站点不同步,并且可能与您的 ClientDependency 缓存相同。
    • 谢谢,这对我来说很有意义,我被说服我应该发布/保留 TEMP 文件夹,但对我来说没有意义:)
    【解决方案3】:

    一般来说,如果从一台服务器发布到另一台服务器,我会避免发布 /App_Data/Temp/ 的内容。这些文件夹中包含的某些文件具有特定于计算机的文件路径,如果网站的文件路径不同,则可能无法在新服务器上运行。

    如果文件夹为空,则应在网站启动时重新创建文件夹的全部内容。

    【讨论】:

    • 我会支持这种方法。我有一个站点从一个服务器转移到另一个停止工作,直到 ExamineIndexes 和 ClientDepency 文件夹被删除。当应用程序重新启动时,这些文件夹会被重建并包含一些与机器相关的信息。
    • 请注意 - 当将站点 A 复制到同一服务器上的站点 B(即复制原始站点 A)时 - 发布站点 B 将导致对站点 A 进行更新,基于App_Data/ClientDependency 中的那些文件。这是一个非常令人讨厌的惊喜。
    【解决方案4】:

    我都做过,而且两次我都有特殊性,但是重新发布所有节点/重新索引可以解决问题,我现在当然会根据以前发生的事情来做。

    【讨论】:

    • 另外值得注意的是索引是缓存在内存中的,所以一旦重建索引,你还需要回收应用程序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-03
    • 2017-10-06
    • 1970-01-01
    • 1970-01-01
    • 2022-11-12
    • 2019-12-04
    • 1970-01-01
    相关资源
    最近更新 更多