Apache httpd与Tomcat整合(window版)

来源:互联网 发布:默纳克蓝牙调试软件 编辑:程序博客网 时间:2024/06/06 16:33

概述:Apache httpd 和tomcat各有千秋,httpd 主要处理html等等静态网页,而tomcat可以处理jsp,servlet等等动态脚本。现在如何整合它们

1、先决条件

JDK安装(笔者为JDK1.8),没有java环境自行百度

安装好tomcat(笔者为tomcat 7.0) 这个百度一下很多的

安装好Apache httpd(httpd2.4版本)  参考:安装Apache httpd

2、Apache httpd作为代理服务转发到tomcat上

步骤一:配置Apache http的配置文件 在${Apache_httpd_HOME}/conf 下一个配置文件httpd.conf

搜索到proxy


然后在该文件末尾添加如下内容

ProxyPass /loch-ness http://localhost:8080ProxyPassReverse /loch-ness http://localhost:8080ProxyVia On

如图所示  表示输入 localhost/loch-ness  自动访问 http://localhost:8080, 这里可以配置更多代理映射


Tomcat 基本不需要配置server.xml,默认即可



步骤二、启动tomcat 和启动Apache httpd服务

tomcat :   参考:启动tomcat

Apache httpd: 参考:启动httpd

步骤三、验证结果


上面原因是因为tomcat.css采用的是相对路径,所以在localhost/tomcat.css是没有的,但是也可采用代理形式, 在httpd.conf后面追加如下内容,就好了

ProxyPass /tomcat.png http://localhost:8080/tomcat.pngProxyPassReverse /tomcat.png http://localhost:8080/tomcat.pngProxyPass /tomcat.css http://localhost:8080/tomcat.cssProxyPassReverse /tomcat.css http://localhost:8080/tomcat.css


2017年11月30日14:19:59

去掉

ProxyPass /tomcat.png http://localhost:8080/tomcat.pngProxyPassReverse /tomcat.png http://localhost:8080/tomcat.pngProxyPass /tomcat.css http://localhost:8080/tomcat.cssProxyPassReverse /tomcat.css http://localhost:8080/tomcat.css

方法一:只要输入网址多加"/"   例如:http://localhost/loch-ness/   (其实css文件在http://localhost/loch-ness/tomcat.css, 不加的会在http://localhost/tomcat.css 找,肯定找不到的。)

方法二:利用重定向,(外观就是地址栏改变了)

ProxyHTMLURLMap http://localhost:8080  /loch-nessRewriteEngine OnRewriteRule ^/loch-ness$ http://localhost:8080 [R,L]<Location /loch-ness/>ProxyPassReverse /SetOutputFilter proxy-htmlProxyHTMLURLMap / /loch-ness/RequestHeader unset Accept-Encoding</Location>

对于html网页其实可以用mod_proxy_html 模块 注意这个模块依赖于 mod_xml2enc模块,同时打开headers_module模块 、rewrite_module模块(这个解决样式相对路径问题)所以解决办法就是配置httpd.conf取消这个模块的注释(去掉前面的#号)

ProxyHTMLURLMap http://localhost:8080  /loch-nessRewriteEngine OnRewriteRule ^/loch-ness$ http://localhost:8080 [R,L]<Location /loch-ness/>ProxyPassReverse /SetOutputFilter proxy-htmlProxyHTMLURLMap / /loch-ness/RequestHeader unset Accept-Encoding</Location>



LoadModule headers_module modules/mod_headers.soLoadModule rewrite_module modules/mod_rewrite.so


原创粉丝点击