代码之家  ›  专栏  ›  技术社区  ›  Miguel Ping

Liferay-服务静态内容[关闭]

  •  4
  • Miguel Ping  · 技术社区  · 15 年前

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

    我不想使用像Apache这样的前端HTTP服务器。

    3 回复  |  直到 13 年前
        1
  •  3
  •   Miguel Ping    15 年前

    我是通过部署一个只包含静态内容的.war来完成的。路径是Liferay URL/War_名称。

    所以如果我和这样的文件发生战争:

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

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

        2
  •  1
  •   Peter Thomas    15 年前

    在这种情况下,我假设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文件。
        3
  •  0
  •   Olaf Kock    15 年前

    编辑:我想我在回答这个问题时误解了你的问题-我会把答案留在这里,以防有人发现这个问题,并且对静态内容的要求与你的不同。彼得和米格尔给出的答案更符合你的具体问题)


    一个简单的方法可能是利用生命射线 cdn features (cdn=“内容交付网络”)。不幸的是,在快速浏览文档时,我只找到了这个配置选项,但遗漏了一些关于什么内容被认为是“静态”的信息。这并不是说信息不在那里-我只是没有找到。

    我想,即使一个cdn意味着不同的主机名,您也可能会使用相同的主机名和另一个Web应用程序上下文路径(例如服务器上的路径)。您可以在服务Liferay的服务器中部署任意数量的独立应用程序。

    尤其是当您想将静态内容单独分配给不同的主机/应用程序时,您最好使用专用服务器(或至少是DNS名称)或Apache/Tomcat组合,因为据报道,Apache提供的静态内容的资源比Tomcat少得多。