apache,tomcat已经安装好,并且各自都可以正常的提供服务。通过80端口可以正常访问apache的静态资源,通过8080端口可以正常访问tomcat的资源。那么如何通过apache来访问tomcat的资源,也就是如何将Apache和Tomcat连起来。那就是mod_jk需要做的事情。
通过配置mod_jk的status worker来看Mod_jk是否能正常工作
Status worker是一个内置的管理worker.他显示了mod_jk的状态信息,包括可以看到其它worker(AJP worker)的一些配置信息和url mapping信息.
概念性的内容先不多说,先转起来。。。
mod_jk的安装
1.安装rpm包
rpm -ivh mod_jk-1.2.41-httpd_2.4.6_40.el7_2.1.x86_64.rpm
2.确认
rpm -qa |grep "mod_jk"
ls -l /etc/httpd/modules/mod_jk.so
3.通过访问jkstatus,确认mod_jk可以正常工作
这里主要涉及两个配置文件
1)/etc/httpd/conf.d/mod_jk.conf
JkMount /jkstatus jkstatus
解析:/jkstatus挂载点,jkstatus,work.properties里定义的work.list
2)/etc/httpd/conf/work.properties
work.list=jkstatus
work.jkstatus.type=status
4.重启httpd服务
systemctl restart httpd
当然最终要的一项是/etc/httpd/conf/httpd.conf一定要读取/etc/httpd/conf.d/*的文件,这样mod_jk.conf才会被加载。
IncludeOptional conf.d/*.conf
5.试着访问一下下面的URL
http://192.168.100.29/jkstatus
画面正常显示了,但是实际疏通过程,并没有这么简单,我查了很多资料,才好像搞明白这个怎么配。
6.配置jkstatus的访问权限
在mod_jk.conf的末尾,加了下面的配置,并重启httpd服务。看似简单实际也是遇到了一些问题(问题总结部分)。
<Location /jkstatus>
AuthType Basic
AuthName "Status worker"
AuthUserFile /etc/httpd/conf/jkstatus.file
<RequireAll>
Require user jkstatus
Require ip 10.0.210.135
</RequireAll>
</Location>
但是最终访问http://192.168.100.29/jkstatus时,会弹出一个对话框,需要输入用户名和密码,输入jkstatus,123456后,jkstatus画面就可以正常被显示了。
总结,至此,可以说mod_jk也可以正常转起来了。。。
问题总结
1.做完第6步时,访问URL,弹出了一个框框让输入用户名和密码,被关闭后,就一直报错,于是我又去看日志,说是/etc/httpd/conf/jkstatus.file这个文件打不开或不存在。于是我去网上找资料,最终通过下面的命令生成了该用户名密码文件
htpasswd -cmb /etc/httpd/conf/jkstatus.file jkstatus 123456
htpasswd是apache的一个工具,安装完apache之后,就会存在,该工具主要用于建立和更新存储用户名、密码的文本文件,主要用于对基于http用户的认证。上面的命令表示在/etc/httpd/conf/目录下生成一个jkstatus.file密码文件,并新增一个用户名为jkstatus,密码为123456的用户,默认采用MD5加密方式加密.
具体关于该命令可以参考下面的链接,我觉得写的很详细。
http://www.jb51.net/article/59468.htm
2.在apache的access.log里经常会看到/favicon.ico这个东西找不到(404),但是在/var/www/html下创建一个以该名称的空文件,该错误就会消失。。。这个到底干什么,学习后再补充
0.0.210.135 - - [01/Aug/2017:09:14:32 +0900] "GET /favicon.ico HTTP/1.1" 404 209 "http://192.168.100.29/jkstatus" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36"