我需要用Tomcat托pipe两个站点。 这是我的Apache conf中的内容:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /root/tomcat/webapps/PROJECT ServerName www.project.com </VirtualHost>
要访问该网站,只能通过www.project.com/project访问。 我无法访问索引,例如: www.project.com
而当我想要主办另一个网站的情况下呢?
我的想法:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /root/tomcat/webapps/PROJECT1 ServerName www.project1.com </VirtualHost>
但是我没有成功。
我将如何解决这个问题?
一起使用Apache和Tomcat,提供JAVA“文件”(servlet,jsp等)不能像你所描绘的那样工作。 您在那里做的方式,您只能访问这些文件,并根据他们的MIMEtypes交付。
作为第一步,你应该阅读反向代理,在你的情况下,模块mod_proxy_http和或mod_proxy_ajp 。 我不知道你有什么经验水平,所以我只写了一些你应该适应的方面:
LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so LoadModule proxy_ajp_module /usr/lib/apache2/modules/mod_proxy_ajp.so <IfModule mod_proxy_ajp.c> <Location /> ProxyPass ajp://127.0.0.1:8009/PROJECT ProxyPassReverse ajp://127.0.0.1:8009/PROJECT </Location> </IfModule>
在标准的Linux环境中,您可以将这些模块与您的软件包提供程序一起安装,并使用a2enmod mod_proxy_ajp启用它们。 这也应该安装mod_proxy作为依赖。 在这种情况下,您可以删除上面提到的LoadModule指令。
<Location />指令处理所有指向你的域的请求。 所以www.project.com提供索引。 有一些更多的考虑(使用mod_proxy时的安全性)等等,但它应该指向你在正确的方向。