apache与tomcat的整合有两种方法:
1.mod_jk模块实现
这种方法适用于较早的版本,在Apache2.2*以后的版本就无法与tomcat整合了。
2. mod_proxy代理模块实现
(1) 首先安装mod_proxy模块
sudo apt-get install libapache2-mod-proxy-html
启动mod_proxy模块
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_ajp
重启apache使它生效
sudo /etc/init.d/apache2 restart
(2) 新建apache的配置文件(proxyfile):
sudo touch /etc/apache2/sites-available/proxyfile
sudo vim /etc/apache2/sites-available/proxyfile
<VirtualHost "*:80">
ServerAlias 10.167.33.218
ServerAlias xx.xxx.xx.6
ServerAlias www.test.com
# ServerAlias 10.167.33.4
ProxyPass /images !
ProxyPass /upload !
ProxyPass /website/css !
ProxyPass /website/js !
ProxyPass /website/images !
ProxyPass /website ajp://localhost:8009/website
DocumentRoot "/var/www"
<Directory / >
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory "/var/www/">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
</VirtualHost>
配置信息说明:
ProxyPass /website ajp://localhost:8009/website 表示所有通过url http://www.test.com/website/*访
问的都由tomcat来处理,ProxyPass /website/images !表示通过urlhttp://www.test.com/website/images/
访问的不通过tomcat处理,由apache来处理。
特别注意配置的顺序,必须先写不由tomcat代理的url,再写需要tomcat代理的url,否则配置不会生效。例如:
ProxyPass /website ajp://localhost:8009/website
ProxyPass /website/images !
配置写成这样,ProxyPass /website/images !配置就不会生效。
到此配置完成之后,执行:
sudo a2ensite /etc/apache2/sites-available/proxyfile
【注意如果出现问题 先进入到/etc/apache2/sites-available下执行sudo a2ensite proxufile 则可以生成虚拟目录】
apache会提示你执行 /etc/init.d/apache2 reload,按照提示执行:
sudo /etc/init.d/apache2 reload
配置过程就完成了。
如果配置了ajp方式的代理,通过浏览器访问,出现
forbidden You don’t have permission
或者访问不到页面,解决的办法是修改proxy.conf文件
sudo vim /etc/apache2/mods-available/proxy.conf
需要将文件中的Deny form all注释掉,如图
再重启apache,问题就能解决。
Mod-proxy优点:
可以只将Apache置于公网,节省公网IP地址资源。可以通过设置来实现Apache专门负责处理静态网页,让Tomcat专门负责处理JSP和servlet等动态请求。
Mod-proxy的缺点:
当其中一台tomcat停止运行的时候,apache仍然会转发请求过去,导致502网关错误。但是只要服务器再启动就不存在这个问题。如果前置Apache代理服务器停止运行,所有集群服务将无法对外提供。
分享到:
相关推荐
基于mod_proxy+Apache_2.2.16+Tomcat_7的负载均衡与集群配置
window下完整的apache+mod_jk或mod_proxy+tomcat配置方案,用于负载均衡及动静态页面分离。里面包含有相对应版本的apache、tomcat、mod_jk,已经多个参考文档
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so ``` **2. 虚拟主机配置** - 在`httpd-vhosts.conf`文件中定义虚拟主机,并配置AJP Proxy: ```apache *:80> ServerName wx.jesus.ac.cn ...
本文档详细介绍了使用mod_proxy模块与Apache和Tomcat结合来实现负载均衡与集群配置的过程。配置前需要准备相应的环境,包括安装JDK、Apache HTTP Server和Tomcat服务器。本文档使用了Tomcat 7.0.2作为应用服务器,并...
描述中的“tomcat集群配置所需的几个工具”可能包括Apache HTTP Server、Tomcat服务器、mod_proxy模块,以及可能的集群管理工具,如Apache HTTP Server的mod_jk或mod_proxy_ajp模块。这些工具的配合使用,可以实现多...
mod_proxy_ajp连接方式是通过Apache的mod_proxy_ajp模块与Tomcat服务器进行通讯,mod_proxy_ajp模块可以将请求转发到Tomcat服务器上。mod_proxy_ajp连接方式相比于mod_proxy连接方式更加高效、更加稳定。 在选择...
apache服务器和tomcat服务器之间实现URL代理的module.so工具类文件
`mod_jk.so`是Apache HTTP服务器的一个模块,它实现了阿帕奇与Tomcat之间的通信协议——JK(Java Keteen)协议。这个模块使得Apache能够识别并转发特定的URL到Tomcat进行处理,从而实现负载均衡和故障切换等功能。在...
如果需要更高可用性,可以将多个Tomcat实例配置成集群,通过Apache的mod_proxy_balancer模块进行负载均衡。这将提高服务的容错能力和扩展性。 8. **日志管理** 考虑将Apache和Tomcat的日志分开管理,以便更好地...
- **AJP集成**: 安装AJP模块(mod_proxy_ajp),在Apache配置文件中设置AJP连接器,使两者通信。优点是低延迟,但安全性较低。 - **mod_proxy集成**: 使用HTTP/HTTPS反向代理,更安全,配置也更灵活,可以支持...
2. **启用mod_proxy模块**:在Apache的配置文件httpd.conf中,找到“#LoadModule proxy_module modules/mod_proxy.so”这一行,去掉前面的注释符,加载mod_proxy模块。同样,启用mod_proxy_http模块:“#LoadModule ...
mod_proxy是Apache的另一种扩展,不仅可以与Tomcat集成,还可以与其他服务器集成。配置mod_proxy,可以使用`ProxyPass`和`ProxyPassReverse`指令,指定哪些URL应该被代理到Tomcat。 在集成过程中,需要注意以下...
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 proxy_ajp_module ...
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so ``` 2. **设置虚拟主机**:创建一个或多个虚拟主机,这些虚拟主机将作为前端服务器对外提供服务。在...
1. **Proxy/AJP 方式**:利用 Apache 的 `mod_proxy_ajp` 模块,以代理服务器的形式将请求转发给 Tomcat,同样基于 AJP 协议。 2. **Reverse Proxy 方式**:使用 `mod_proxy` 和 `mod_proxy_http`,将 Apache 配置为...
将以下Module的注释去掉,这里并没有使用mod_jk.so进行apache和tomcat的链接,从2.X以后apache自身已集成了mod_jk.so的功能。只需简单的把下面几行去掉注释,就相当于以前用mod_jk.so比较繁琐的配置了。这里主要采用...
在某些场景下,为了整合两者的优点,我们会利用Apache的`mod_proxy_ajp`模块来实现Apache与Tomcat的结合,以提高系统性能和负载均衡能力。下面将详细介绍这一过程。 `mod_proxy_ajp`是Apache HTTP服务器的一个模块...
除了基本的ProxyPass配置,还可以使用mod_proxy_balancer进行负载均衡,或者通过AJP协议进行更深度的集成。AJP(Apache JServ Protocol)是一个二进制协议,专为Apache和Tomcat之间的通信设计,能提供更高的性能。 ...
集成Apache和Tomcat主要有两种常见的方法:通过Apache的模块(如mod_jk或mod_proxy)或者使用Nginx作为反向代理。这里我们将重点讨论使用Apache的mod_jk模块进行集成。 1. **安装Apache和Tomcat** - 首先,你需要...