如何在 liferay 中提供一些静态内容?我有一个包含 htmls、css 等的目录结构,我想为它提供一个类似的地址http://localhost:8080/myStaticContent/index.html
。
我不想使用像 apache 这样的前端 http 服务器。
我通过部署仅包含静态内容的 .war 来完成此操作。路径是 liferay url/war_name。
因此,如果我与这样的文件发生战争:
myproj.war
+-- myDir
+-- myFile.html
网址将类似于http://localhost:8080/myproj/myDir/myFile.html
我假设 Liferay 在这种情况下使用 JBoss 或 Tomcat。试试这个:
[jboss-home]/server/[config-name]/deploy/jboss-web.deployer/server.xml
<Context path="/myStaticContent"
docBase="/absolute/path/to/static/content" debug="0" reloadable="true"/>
它位于“主机”元素中,如下所示:
<Host name="localhost" .....> <!-- add it here --> </Host>
编辑:我想我在回答这个问题时误读了你的问题 - 我会在这里留下答案,以防其他人发现这个问题并且有一些与你不同的静态内容要求。Peter 和 Miguel 给出的答案更符合您的具体问题)
一种简单的方法可能是利用 liferays cdn 功能(cdn="Content Delivery Network")。不幸的是 - 在快速浏览文档时 - 我只找到了这个配置选项,但错过了一些关于哪些内容被认为是“静态”的信息。这并不是说信息不存在——我只是没有找到它。
我猜想——即使 cdn 暗示不同的主机名——你可能会使用相同的主机名和可能的另一个 web 应用程序上下文路径(例如服务器上的路径)。您可以在服务 liferay 的服务器中部署任意数量的独立应用程序。
特别是当您想将静态内容挑出到不同的主机/应用程序时,您可能最好使用专用服务器(或至少 dns 名称)或 apache/tomcat 组合,因为据报道 apache 以更少的资源提供静态内容比tomcat做的。