配置从apache获取图像

时间:2010-06-21 13:15:25

标签: apache tomcat6

我有多个Tomcat服务器。在每个tomcat我加载所有图像。我想将图像从Tomcat移动到Apache并从那里访问图像。

我的问题是:是否有任何配置可以从Apache而不是Tomcat在Java Web应用程序中获取图像?

2 个答案:

答案 0 :(得分:1)

我不这么认为 - 通过解析他们的网址来显示图片,并且在大多数情况下它是相对于当前页面的。

但你可以使用mod_proxy(或mod_jk)通过Apache使用所有的tomcats。

答案 1 :(得分:1)

隐藏apache服务器后面的tomcat服务器然后你可以这样做:

<VirtualHost www.example.com:80>
    ServerName      www.example.com
    DocumentRoot    /var/www/html
    ProxyPass       /img    !
    ProxyPass       /       ajp://localhost:1234/
</VirtualHost>

Apache将从/ var / www / html / img服务/ img,其他请求将被发送到tomcat。此配置需要mod_proxy_ajp apache模块才能处于活动状态。 Tomcat必须在给定端口上侦听AJP请求,使用:

<Connector port="1234" protocol="AJP/1.3" redirectPort="8443" address="127.0.0.1" URIEncoding="UTF-8" />

并配置tomcat以服务www.example.com或默认虚拟主机。

<Host
    name="www.example.com"
    appBase="/path/to/tomcat/apps/www.example.com"
    unpackWARs="true"
    autoDeploy="true"
    xmlValidation="false"
    xmlNamespaceAware="false"
/>

<Host
    name="localhost"
    appBase="/path/to/tomcat/apps/www.example.com"
    unpackWARs="true"
    autoDeploy="true"
    xmlValidation="false"
    xmlNamespaceAware="false"
/>

将您的webapp部署到/path/to/tomcat/apps/www.example.com/作为ROOT.war,这应该足以让整个设置正常运行。