4

如何在 liferay 中提供一些静态内容?我有一个包含 htmls、css 等的目录结构,我想为它提供一个类似的地址http://localhost:8080/myStaticContent/index.html

我不想使用像 apache 这样的前端 http 服务器。

4

3 回答 3

4

我通过部署仅包含静态内容的 .war 来完成此操作。路径是 liferay url/war_name。

因此,如果我与这​​样的文件发生战争:

myproj.war
+-- myDir
     +-- myFile.html

网址将类似于http://localhost:8080/myproj/myDir/myFile.html

于 2009-09-12T22:11:15.203 回答
1

我假设 Liferay 在这种情况下使用 JBoss 或 Tomcat。试试这个:

  • 找到 server.xml 并添加一个 <Context> 元素,如果是 jBoss,你可以在这里找到 server.xml:

[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>
  • 在为 docBase ("/absolute/path/to/static/content") 提到的位置添加一个 WEB-INF 文件夹并在其中放置一个简单的 web.xml。
于 2009-08-13T11:26:55.100 回答
0

编辑:我想我在回答这个问题时误读了你的问题 - 我会在这里留下答案,以防其他人发现这个问题并且有一些与你不同的静态内容要求。Peter 和 Miguel 给出的答案更符合您的具体问题)


一种简单的方法可能是利用 liferays cdn 功能(cdn="Content Delivery Network")。不幸的是 - 在快速浏览文档时 - 我只找到了这个配置选项,但错过了一些关于哪些内容被认为是“静态”的信息。这并不是说信息不存在——我只是没有找到它。

我猜想——即使 cdn 暗示不同的主机名——你可能会使用相同的主机名和可能的另一个 web 应用程序上下文路径(例如服务器上的路径)。您可以在服务 liferay 的服务器中部署任意数量的独立应用程序。

特别是当您想将静态内容挑出到不同的主机/应用程序时,您可能最好使用专用服务器(或至少 dns 名称)或 apache/tomcat 组合,因为据报道 apache 以更少的资源提供静态内容比tomcat做的。

于 2009-09-10T09:17:09.790 回答