【发布时间】:2012-11-01 07:56:29
【问题描述】:
我正在尝试使用 Apache 在 Ubuntu 上启动 localhost 应用程序并将其代理到 Tomcat,以便我可以在我的应用程序中使用 .jsp 页面。似乎这是可能的,我认为我非常接近,但我似乎无法完全正确。任何帮助是极大的赞赏!我以前从未使用过 apache 或 tomcat,所以如果其中任何一个看起来很愚蠢,请不要恨我。
我已经让 Apache 在 localhost 上托管了一个网站,主机代码如下:
<VirtualHost *:80>
ServerName localhost
ServerAlias test.com
DocumentRoot /var/www/test.com/helloworld
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
这允许我通过在 URL 中键入 localhost/hello.html 成功导航到我的页面 hello.html。我已经读过,从这一点开始,我需要插入一些代码,例如:
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /(appname) ajp://localhost:8009/(appname)
ProxyPassReverse /(appname) ajp://localhost:8009/(appname)
然后 Tomcat 应该会收到请求。在这种情况下,appname 是什么?我的页面位于/var/www/test.com/helloworld/hello.html,所以我认为它会是“helloworld”,但这不起作用。当我将 appname 留空时,我会看到 Tomcat “恭喜,您已成功安装 Tomcat。”当我导航到 localhost,但找不到我的页面时。
请帮忙。这正在慢慢变成一场噩梦。谢谢!
【问题讨论】:
-
我知道这并不能回答问题,但您知道 JBoss 是一个功能齐全的免费应用服务器,已经嵌入了 Tomcat。不知道您是否出于某种原因需要使用 Apache,但 JBoss 可能是您更好的解决方案。
-
听起来很棒。不幸的是,我认为我仅限于 Apache。我正在为已经在他们的服务器上拥有 Apache 主机的人构建一个 Web 服务,我认为他们希望我将它与他们所拥有的东西相适应。 :( 感谢您的提醒!如果可以选择,我一定会使用它。
标签: apache apache2 tomcat6 tomcat7 ajp