linux tomcat apache 整合

一、环境准备于介绍:

1.假设您已经成功设置系统的Java运行开发环境,包括JDK的安装,JAVA_HOME,PATH,CLASSPATH等等环境变量的设置。

2.Apache web服务器[版本不限]

3.Jakarta-Tomcat[目前推荐版本:5.0.16-5.0.28之间]

4.jk2连接器(jakarta-tomcat-connectors-jk2-src-current.tar.gz)[下载地址:http://jakarta.apache.org/site/sourceindex.cgi]

二、Apache安装:

1.从apache.org下载httpd-2.0.52.tar.gz后解压缩得文件夹httpd-2.0.52。

2.进入httpd-2.0.52/bin目录,运行

./configure -prefix=/usr/local/apache -enable-so

-prefix指定安装目录,-enable-so用于加载jk2连接器,此项必须。

3.make,make install,这没的说。

4./usr/local/apache/apachectl start,然后用浏览器访问一下localhost,应该成功了吧!

三、Tomcat安装:

这个不用说了吧?Java环境搭建好,随便找个地方解压,$TOMCAT_HOME/bin/startup.sh一下,看看8080端口,应该错不了。

四、jk2的编译和加载

1.解压jakarta-tomcat-connectors-jk2-src-current.tar.gz得到目录jakarta-tomcat-connectors-jk2-src-current,进入目录jakarta-tomcat-connectors-jk2-src-current/jk/native2,运行

./configure --with-apxs2=/usr/local/apache/bin/apxs (注意你的apache安装目录),然后make之。

2.等到make完毕以后,你会发现多了一个jakarta-tomcat-connectors-jk2-src-current/jk/build目录,进入jakarta-tomcat-connectors-jk2-src-current/jk/build/jk2/apache2,执行/usr/local/apache/bin/apxs -n jk2 -i mod_jk2.so,之后你会发现mod_jk2.so文件已经存在于/usr/local/apache/modules/中了。

3.在你的apache/conf/httpd.conf最下面加上一行

LoadModule jk2_module modules/mod_jk2.so

4.在apache/conf/中新建文件workers2.properties,其内容如下:

[logger.apache2] level=DEBUG [shm] file=/usr/local/apache2/logs/shm.file size=1048576 # Example socket channel, override port and host. [channel.socket:localhost:8009] port=8009 host=127.0.0.1 # define the worker [ajp13:localhost:8009] channel=channel.socket:localhost:8009 # Uri mapping [uri:/*] worker=ajp13:localhost:8009

此时启动apache于tomcat,访问localhost的80端口,看到了tomcat的欢迎页面,试着访问tomcat的jsp/servelt-examples,也能运行成功,祝贺您,您已经初步成功。请继续往下进行。

五、其他配置

上面的配置感觉就是把tomcat的8009端口的服务通过ajp13转给了apache,真没意思,我们想要的是jsp才交给tomcat处理,这个简单,我们继续:

假设你的apache的页面根目录为/var/www,我们首先来更改tomcat的server配置,把一个webapp放到/var/www:在/var/www下面按照web application的那套规范建立WEB-INF,web.xml,calsses,lib等等目录和文件,之后修改$TOMCAT_HOME/conf/server.xml,在元素之间加入一个context元素:

< Context path="" docBase="/var/www" debug="0" reloadable="true" crossContext="true">

< /Context>

修改workers2.properties

# Uri mapping [uri:/*] worker=ajp13:localhost:8009 修改为: # Uri mapping [uri:/*.jsp] worker=ajp13:localhost:8009

现在好了,apache只有碰到jsp页面的时候才去请求tomcat的8009,而且我们作的东西扔进/var/www这个webapp就好了。

提示:

1.apache服务器可以让用户目录下的public_html文件夹得到web访问,为了让这些用户也得到jsp的支持,你可以为每个用户添加一个context到tomcat的server.xml中。其中path="/~username" docBase="/home/username/public_html"。其他和刚才添加的哪个context相同。

2.worker2.properties文件中的

# Uri mapping [uri:/*.jsp] worker=ajp13:localhost:8009

很有意思,如果你使用spring,struts等等framework并进行了自定义后缀,把相应的后缀加进去就可以了,apache会把这里定义的访问形式统统交给tomcat处理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值