我怎么运行Apache(httpd)和Tomcat在一起吗?
-
29-09-2019 - |
题
我最近有项目的运行的支柱和我期待的更多JSP提前到来。
后谷歌上搜索这个问题,我被带到博客的人试图这样做。这些博客不是完全是一个逐步的过程中他们是如何做到的但更像是一个参考的情况下他们 需要做一些相同的未来。在某些情况下,提交人并没有完全说如果他 是成功的,在他试图运行上述服务在一起。
不幸的是,我不能按照他们"说明"我有足够的PHP项目 构成(上目录,类路径等...)运行,在我的测试服务器,并且我没有时间重新配置他们的所有 我搞砸了与httpd服务器。和诚实的缘故,我还没有试过一个单一的步骤上运行他们在一起的同样的原因,是犹豫不决的更新配置文件。
我不知道,如果这增加了复杂性,但我运行这两种服务通过xampp(与tomcat是一个xampp加)为了便于携带目的。
我知道,我可以阻止我的Apache服务,只要我的工作JSP但是,嘿这个 是一个机会尝试新的东西,我只是不能让它滑。另外,它真的会 便于这两种服务只是自动运行在启动这会真正增加 我的工作效率,因为我不需要手动开关之间的服务需要的时候。
希望有人就这么谁乘坐同一条船上。
编辑:Tomcat版本是6.0.20 Httpd版本是2.2.14
解决方案
- 让tomcat在80以外的港口听
- 遵循指南以设置mod_proxy,以重定向请求某个位置的请求到tomcat,例如 这个.
如果您真的只是在测试,请跳过第二步,然后通过Tomcat的其他端口访问服务器。
编辑: : 也可以看看 http://httpd.apache.org/docs/2.2/mod/mod_proxy_ajp.html 设置mod_proxy_ajp。
其他提示
您忽略了您正在使用哪种版本的tomcat,也没有提及您是否真的查看了tomcat文档以回答问题。
我建议从这里开始: http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html 并查看设置mod_jk。
如果你想要使用 apache/ httpd
服务请求从PHP以及任何其他的服务器上运行的不同港口让我们说tomcat关于港口8080可以使用apache/httpd作 "代理" 和地图的一个网址,将由另一个服务器。这是使用 ProxyPass
ProxyPassReverse
配置。
例如:如果你想要的 http://localhost/php 可以供应通过PHP和 http://localhost/tomcat 可以供应通过tomcat然后你将不得不作出以下变化httpd.config/apache.config[apache2.config根据不同版本的apache您使用的]:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_http_module modules/mod_proxy_http.so
# Uncomment these to proxy FTP or HTTPS
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
<VirtualHost *:80>
# Your domain name
# ServerName Domain_NAME_HERE
ProxyPreserveHost On
ProxyPass /tomcat http://localhost:8080/
ProxyPassReverse /tomcat http://localhost:8080/
# The location of the HTML files, and access control information
DocumentRoot /var/www
<Directory /var/www>
Options -Indexes
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
在情况下运行 httpd
上 centos
你可能会得到错误 Apache Mod_proxy '[Error] (13)Permission Denied'
, 然后跟 此 链接,其中说,执行以下命令:
/usr/sbin/setsebool -P httpd_can_network_connect 1
我会推荐你读 mod_proxy.
Ref: Redhat mod_proxy配置