繁体   English   中英

使用AJP将Apache连接到Tomcat

[英]Connecting Apache to Tomcat with AJP

我正在尝试使用Apache在Ubuntu上启动本地应用程序,并将其代理到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”,但这是行不通的。 当我将应用程序名称保留为空白时,我看到Tomcat:“恭喜,您已经成功安装了Tomcat。” 当我导航到localhost却找不到我的页面时。

请帮忙。 这正慢慢成为一场噩梦。 谢谢!

我想到了。 这真是愚蠢,但我试图从/ var / www加载应用程序,而不是将其存放在tomcat目录中。 / facepalm

我在原始问题中发布的代理代码是虚拟主机中唯一需要的代码。 感谢大家。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM