[英]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.