Ubuntu Apache2 与Tomcat 7 整合步骤

3 篇文章 0 订阅
2 篇文章 0 订阅

写在前面

网上已经有很多关于如何整合Apache2与Tomcat的文章(有写的不错的), 但有时看与实践往往有些差距, 所谓实践出真知. 要真的去做了, 才是真正的懂.

以下是昨天刚实践的, 以此总结, 以后少走弯路.


软件及版本

Ubuntu 12.04(64位)

Apache 2.2.22

Tomcat 7.0.55

AJP13 mod_jk-1.2.31-httpd-2.2.x


仅在一台机器上配置, 只有一个Tomcat(若有两个及以上的Tomcat, 需要修改workers.properties).


整合步骤

1.安装Apache2与OpenJDK

这两个安装只需要执行下面的命令即可

apt-get install apache2
安装后在浏览器输入http://ip_address 测试下是否正确
apt-get install openjdk-7-jre-headless

安装后执行java -version 命令测试下JDK安装是否正确


2.安装Tomcat 7

到Tomcat 7的下载页面http://tomcat.apache.org/download-70.cgi 去下载. 在Ubuntu系统中使用wget下载,命令如下

wget http://apache.fayea.com/apache-mirror/tomcat/tomcat-7/v7.0.53/bin/apache-tomcat-7.0.53.tar.gz
下载后使用tar命令解压. 并运行测试下.

此处使用默认的8080端口与 AJP13的8009端口.


3.安装AJP13并配置

AJP13是连接Apache2与Tomcat的连接器. 通过mod_jk来实现,命令如下

apt-get install libapache2-mod-jk
安装后到/etc/libapache2-mod-jk目录, 查看下有没有workers.properties


使用vi workers.properties命令编辑该文件.

需要修改以下几个地方

1). 修改workers.tomcat_home与workers.java_home的值为正确的路径  (这一步是可选,但建议配置上)

2). 在worker.list后面添加jk-status,jk-manager的值, 配置后如下

worker.list=ajp13_worker,jk-status,jk-manager
(若不加上这两个值为在apache2启动后看到一些警告信息)

jk-status与jk-manager用于监控mod_jk的运行与管理(默认只能在本机才能访问)

其他的使用默认值, 在这儿可以看到默认已经创建了一个名叫ajp13_worker 的worker. 记住这名字, 以后为用到.

修改后记得保存.



4.配置拦截规则

此处最重要,用于指定哪些URL由Apache处理, 哪些URL需要转给Tomcat处理.(建议规则为: 所有静态的资源由Apache处理,如图片,JS,CSS, 动态的转给Tomcat处理,如加载数据,业务处理部分)

进入/etc/apache2/sites-available目录.编辑default文件(命令vi default)

在</VirtualHost>标签之前与最后一个</Directory>之后添加,示例如下

    JkUnMount /*.js ajp13_worker
    JkUnMount /*.css ajp13_worker
    JkUnMount /*.htm ajp13_worker

    JkUnMount /*.png ajp13_worker
    JkUnMount /*.gif ajp13_worker
    JkUnMount /*.jpg ajp13_worker
    JkUnMount /*.jpeg ajp13_worker

    JkMount /*.jsp ajp13_worker
JkMount /*.zsfz ajp13_worker


应该一看就明白了吧, JkUnMount 指定哪些匹配的URL由Apache处理, JkMount指定哪些匹配的URL转给Tomcat处理,如此处配置所有以zsfz,jsp结束的URL转给Tomcat处理. 记得之前叫记得的ajp13_worker有吧 , 在这儿用上了.

除了使用JkUnMount与JkMount方式以外, 还有其他的方式. 这儿由读者去扩展学习下吧.

最后修改好, 别忘了保存.

至此 , 整合配置完成, 下来是测试了. 

1.在Tomcat的Webapps目录里先删除之前所有的文件(与文件夹), 新建一个ROOT目录, 在ROOT目录里创建一个test.jsp文件, 里面随便加点内容.

启动Tomcat 通过http://ip_address:8080/test.jsp访问test.jsp,保证测试通过(注意这儿是直接访问Tomcat)

2.重启Apache2, 命令 /etc/init.d/apache2 restart

通过http://ip_address/test.jsp访问,若能访问成功并且内容与之前直接访问Tomcat的一致,则说明配置成功(注意: 此处不加端口)

同理, 你可以放一张图片到apache2的根目录/var/www里, 并直接访问看能成功否. 

---------------------------------------------------------------------

有用的扩展

URL中对中文的支持.(若测试用中文的URL参数会出现乱码, 这是字符编码的问题), 通过设置UTF-8编码来解决

1.设置Apache默认的字符编码为UTF-8. 在安装完成后进入/etc/apache2/conf.d/目录, 编辑charset文件, 将里面的AddDefaultCharset UTF-8 前面的#号取消并保存, 记得重启.

2.编辑Tomcat 的conf/server.xml文件, 将里面的AJP13的配置添加URIEncoding="UTF-8" 内容. 添加后如下

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8" />

OK, 支持中文参数了.




参考文章

http://yr512656630.iteye.com/blog/933458

http://www.cnblogs.com/junsong/archive/2012/07/03/2574447.html


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值