Tomcat6 Apache2 Ubuntu Server 整合心得笔记
原文地址:小结Tomcat6 Apache2 Ubuntu Server 整合
环境 Ubuntu Server默认安装选择的Tomcat6 Apache2 ,都能单独顺利运行,为了实现URL重写,所以要整合两个软件。
由于当初是系统默认安装的,设置服务器的时候就遇到过很多问题,包括环境变量等,所以今后安装一定不能偷懒了……
整合前提是环境变量设置好,Tomcat6工作8080端口下,Apache2工作在80端口下。
网络上有很多教程都是讲JK模块的,多次尝试后仍然失败,Apache下读取JSP为源码,未把JSP交给Tomcat执行,整合失败,考虑原因或许和版本以及现有的安装方式有关,因为并不熟悉Linux相关内容,放弃这个方法……
还有两个方法讲得少,但比较简单,都用到了Mod,MOD_PROXY 和 MOD_AJP,两种方法类似,后者与JK用到了相同的内容,我采用了前者,所需要的模块都可以Apt-get安装,Apache2的配置文件都会包含这些模块,所以无需特别设置。
接着在默认的虚拟主机配置文件下设置虚拟主机
ProxyPass /js !
ProxyPass /images !
ProxyPass /css !
ProxyPass /phpmyadmin !
ProxyPass / http://127.0.0.1:8080/
<Directory /var/lib/tomcat6/webapps/ROOT>
Options Indexes FollowSymlinks
AllowOverride None
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
ProxyPass是这里的关键,我写了五条,前四条是为了排除这些目录,以便让Apache处理(效率比Tomcat高,另外还有php程序),最后条就是让目录下所以文件都转向8080端口的Tomcat处理,其实主要就是JSP文件了!
另外还要配置好Tomcat的server.xml
的站点
其原理就是建立了一个代理机制,让访问Apache转向Tomcat,这样就完成了一次简单的整合,相比JK 来说操作简单,仅适用于Apache 2.2以上,传说稳定性不如JK,也就是不够成熟,或许这已经是过去了,有待考证……
虽然刚才我估摸是因为自己服务器配置问题造成JK不能使用,也有网络不推荐JK在Apache2下使用,但相关内容也少的可怜
如果Tomcat有Apache那么强大,那就不用这么麻烦了……