无需重启服务器即可更改静态内容(html、css、JS) Wildfly 8

Posted

技术标签:

【中文标题】无需重启服务器即可更改静态内容(html、css、JS) Wildfly 8【英文标题】:Change static contents (html,css,JS) without server restart Wildfly 8 【发布时间】:2017-03-07 08:38:33 【问题描述】:

html、CSS、javascript 更改等静态内容不会影响页面刷新。它需要一个服务器 - 重新启动以应用更改。但有趣的是,只有前两次更改会应用于页面重新加载。但是从第三次变化来看,变化是看不到的,只能看到第二次变化的内容。内容存在于 war 文件夹中。我需要在 standlone.xml 中更改什么?我尝试了“静态内容”并添加了 jboss 论坛中提到的处理程序,但它似乎不起作用。如果需要更多信息,请告诉我。

【问题讨论】:

【参考方案1】:

您需要启用展开内容的自动部署。该选项在standalone.xml 配置文件中作为deployment-scanner 元素的auto-deploy-exploded 属性可用:

    <subsystem xmlns="urn:jboss:domain:deployment-scanner:2.0">
        <deployment-scanner path="deployments" relative-to="jboss.server.base.dir" scan-interval="5000" auto-deploy-zipped="true" auto-deploy-exploded="true"/>
    </subsystem>

要成功实现这一点,请执行以下操作:

    启动服务器 将您的 WAR 文件夹(例如 foo.war)放入部署文件夹。它必须是解压后的目录结构,而不是单个 WAR 文件 服务器应该部署内容 修改文件夹中的任何内容 服务器应重新部署内容

请注意(服务器也会警告您)这是不稳定的行为,恕我直言,不适合生产环境。

编辑

您还可以对特定路径使用自定义处理程序,请参阅下面的配置(省略了无关部分)。这样您就不必在每次更改时重新部署。

     <subsystem xmlns="urn:jboss:domain:undertow:1.2">
         <buffer-cache name="default"/>
         <server name="default-server">
             <http-listener name="default" socket-binding="http"/>
             <host name="default-host" alias="jboss.local">
                 <location name="/" handler="welcome-content"/>
                 <location name="/static" handler="static"/>
             </host>
         </server>
         <handlers>
             <file name="welcome-content" path="$jboss.home.dir/welcome-content"/>
             <file name="static" path="/Users/miso/static-files" directory-listing="false"/>
         </handlers>
     </subsystem>

【讨论】:

谢谢。正如您所提到的,这是一种不稳定的行为。启用自动部署爆炸是为我在 Eclipse 中点击的每个“保存”部署整个应用程序。这是我不想要的。例如,我正在更改一个小的 html 属性,它会部署整个应用程序!我正在考虑一种方法来设置选定的目录路径(其中包含 html、css、js 文件)以在我对它们进行每次更改后进行部署,而不是部署整个应用程序。有没有可能?

以上是关于无需重启服务器即可更改静态内容(html、css、JS) Wildfly 8的主要内容,如果未能解决你的问题,请参考以下文章

无需密码即可远程关闭/重启 Linux 机器

Rabbitmq 无需重启即可重新加载/刷新新证书

使用nginx cache缓存网站数据实践

宝塔面板设置伪静态规则

管理静态 HTML 网站中重复代码的最佳方法是啥

如何让 NGINX 提供静态内容,如 .js、.css、.html?