将下载mod_jk包解压缩后,找到mod_jk.so文件,复制到Apache目录下的modules文件夹下。
注意,你解压缩出来的文件可能是mod_jk_xxx.so,带版本号的。
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
Include conf/extra/httpd-vhosts.conf
LoadModule jk_module modules/mod_jk.so
这里主要是配置虚拟目录,使得不同的域名进来可以访问Wordpress或者Tomcat。替换httpd-vhosts.conf中的内容如下:
ServerName www.alanzeng.cn ServerAlias www.alanzeng.cn DocumentRoot D:/Wordpress/ ServerName second.alanzeng.cn ServerAlias second.alanzeng.cn ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/ JkMount /*.action ajp13
正如前面的配置,我们为second.alanzeng.cn配置了虚拟目录,直接指向了Tomcat根目录。这里要注意second.alanzeng.cn需要在DNS服务进行二级域名设置,否则DNS无法解析。
ServerName second.alanzeng.cn ServerAlias second.alanzeng.cn ProxyPass / http://localhost:8080/second ProxyPassReverse / http://localhost:8080/second JkMount /*.action ajp13
同样的,我们可以将域名指到Tomcat的一个具体网站下,如:
ServerName third.alanzeng.cn ServerAlias third.alanzeng.cn ProxyPass / http://localhost:8080/third ProxyPassReverse / http://localhost:8080/third JkMount /*.action ajp13
部分网站存在重定向问题,无法设置成二级域名。举个例子就是Jenkins,本来我还想把一个二级域名jenkins.alanzeng.cn直接转到http://localhost:8080/jenkins,但是没有成功,访问时会提示"此网页包含重定向循环",我也不是很理解底层的原理,没搞定。
ServerName jenkins.alanzeng.cn ServerAlias jenkins.alanzeng.cn ProxyPass / http://localhost:8080/jenkins ProxyPassReverse / http://localhost:8080/jenkins JkMount /*.action ajp13
ServerName www.alanzeng.cn ServerAlias www.alanzeng.cn ProxyPass /jenkins http://localhost:8080/jenkins ProxyPassReverse /jenkins http://localhost:8080/jenkins JkMount /*.action ajp13
ServerName www.alanzeng.cn ServerAlias www.alanzeng.cn DocumentRoot D:/Wordpress ProxyPass /app1 http://localhost:8080/app1 ProxyPassReverse /app1 http://localhost:8080/app1 ProxyPass /app2 http://localhost:8080/app2 ProxyPassReverse /app2 http://localhost:8080/app2 JkMount /*.action ajp13
这样,www.alanzeng.cn就会进入到Wordpress博客,而www.alanzeng.cn/app1就会进入Tomcat的app1网站下,www.alanzeng.cn/app2就会进入Tomcat的app2网站下。
4.1 Apache 虚拟主机文档
4.2 apache 集成多个tomcat的方法
最后,这整个配置和Tomcat一点关系都没有,那么我想Apache似乎也可以和IIS或者其他的服务器协作哦,只要支持代理模式。
疑问:为何二级域名配置jenkins会有网页重定向问题,而域名子目录的方法却没有这个问题? 还没有答案,等大神帮我,谢谢!