1. 安装AJP13
AJP13是连接Apache2与Tomcat的连接器,通过mod_jk来实现,命令如下:
root@lxr#:apt-get install libapache2-mod-jk
2. 安装后到/etc/libapache2-mod-jk目录, 查看下有没有workers.properties使用vim workers.properties命令编辑该文件
需要修改以下几个地方
1). 修改workers.tomcat_home与workers.java_home的值为正确的路径 (这一步是可选,但建议配置上)
2). 在worker.list后面添加jk-status,jk-manager的值, 配置后如下:
root@lxr#:worker.list=ajp13_worker,jk-status,jk-manager
//(若不加上这两个值为在apache2启动后看到一些警告信息)
//jk-status与jk-manager用于监控mod_jk的运行与管理(默认只能在本机才能访问)
其他的使用默认值,在这儿可以看到默认已经创建了一个名叫ajp13_worker的worker(这个我们可以想象成一个搬运工人,而ajp13_worker就是我们所实体化这个连接器成为一个搬运工人实体). 记住这名字, 以后为用到.
3. 修改后记得保存.
Apache擅长处理静态资源html,css,js,图片等;Tomcat擅长处理jsp,java文件
此处最重要,用于指定哪些URL由Apache处理, 哪些URL需要转给Tomcat处理.(建议规则为: 所有静态的资源由Apache处理,如图片,JS,CSS,动态的转给Tomcat处理,如加载数据,业务处理部分)
1. 进入/etc/apache2/sites-available目录.编辑000-default文件(命令vim 000-default)
在标签之前与最后一个之后添加,示例如下:
第一种:只保留以下后缀结尾的文件的url给Apache处理,其他的都将交给Tomcat处理(只过滤以下文件)
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
第二种:除了以下后缀的url给Tomcat处理,其他都给Apache处理(不过滤以下文件)
JkMount /*.jsp ajp13_worker
JkMount /*.zsfz ajp13_worker
应该一看就明白了吧, JkUnMount 指定哪些匹配的URL由Apache处理, JkMount指定哪些匹配的URL转给Tomcat处理,如此处配置所有以zsfz,jsp结束的URL转给Tomcat处理. 记得之前叫记得的ajp13_worker有吧 , 在这儿用上了.
除了使用JkUnMount与JkMount方式以外, 还有其他的方式. 这儿由读者去扩展学习下吧.
2. 配置完成
附加内容:
URL中对中文的支持.(若测试用中文的URL参数会出现乱码, 这是字符编码的问题), 通过设置UTF-8编码来解决(这个里改了那么Tomcat里面端口接收处也要改)
设置Apache默认的字符编码为UTF-8. 在安装完成后进入/etc/apache2/conf.d/目录, 编辑charset文件,
将里面的AddDefaultCharset UTF-8 前面的#号取消并保存, 记得重启.
1. 编辑Tomcat的conf/server.xml文件,去掉下面这行的注释#将里面的AJP13的配置添加URIEncoding=”UTF-8” 内容.添加后如下:
这样统一支持中文参数
1. 重启Apache和Tomcat的服务
systemctl restart apache2
systemctl restart tomcat9
2.在Tomcat的Webapps目录里先删除之前所有的文件(与文件夹), 新建一个ROOT目录, 在ROOT目录里创建一个test.jsp文件, 里面随便加点内容.
启动Tomcat 通过http://ip_address:8080/test.jsp访问test.jsp,保证测试通过(注意这儿是直接访问Tomcat)
3.重启Apache2, 命令 /etc/init.d/apache2 restart
通过http://ip_address/test.jsp访问,若能访问成功并且内容与之前直接访问Tomcat的一致,则说明配置成功(注意: 此处不加端口)
同理,你可以放一张图片到apache2的根目录/var/www里, 并直接访问看能成功否.
参考文章
http://yr512656630.iteye.com/blog/933458 传输乱码
http://www.cnblogs.com/junsong/archive/2012/07/03/2574447.html 配置
https://blog.csdn.net/renhuailin/article/details/7790485 配置
https://blog.csdn.net/monkeyking1987/article/details/25774535 配置