`
baalwolf
  • 浏览: 351473 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

apache与tomcat的mod_proxy集成

 
阅读更多

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 则可以生成虚拟目录1

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注释掉,如图

image

再重启apache,问题就能解决。

Mod-proxy优点:

可以只将Apache置于公网,节省公网IP地址资源。可以通过设置来实现Apache专门负责处理静态网页,让Tomcat专门负责处理JSP和servlet等动态请求。

Mod-proxy的缺点:

当其中一台tomcat停止运行的时候,apache仍然会转发请求过去,导致502网关错误。但是只要服务器再启动就不存在这个问题。如果前置Apache代理服务器停止运行,所有集群服务将无法对外提供。
分享到:
评论

相关推荐

    基于mod_proxy+Apache_2.2.16+Tomcat_7的负载均衡与集群配置

    基于mod_proxy+Apache_2.2.16+Tomcat_7的负载均衡与集群配置

    负载均衡mod_jk及mod_proxy方式

    window下完整的apache+mod_jk或mod_proxy+tomcat配置方案,用于负载均衡及动静态页面分离。里面包含有相对应版本的apache、tomcat、mod_jk,已经多个参考文档

    apache +tomcat集群 ajp_proxy实际操作

    LoadModule proxy_balancer_module modules/mod_proxy_balancer.so ``` **2. 虚拟主机配置** - 在`httpd-vhosts.conf`文件中定义虚拟主机,并配置AJP Proxy: ```apache *:80&gt; ServerName wx.jesus.ac.cn ...

    Mod_Proxy+Apache+Tomcat负载均衡与集群配置

    本文档详细介绍了使用mod_proxy模块与Apache和Tomcat结合来实现负载均衡与集群配置的过程。配置前需要准备相应的环境,包括安装JDK、Apache HTTP Server和Tomcat服务器。本文档使用了Tomcat 7.0.2作为应用服务器,并...

    tomcat_apache_mod

    描述中的“tomcat集群配置所需的几个工具”可能包括Apache HTTP Server、Tomcat服务器、mod_proxy模块,以及可能的集群管理工具,如Apache HTTP Server的mod_jk或mod_proxy_ajp模块。这些工具的配合使用,可以实现多...

    Apache与Tomcat的几种连接方式介绍

    mod_proxy_ajp连接方式是通过Apache的mod_proxy_ajp模块与Tomcat服务器进行通讯,mod_proxy_ajp模块可以将请求转发到Tomcat服务器上。mod_proxy_ajp连接方式相比于mod_proxy连接方式更加高效、更加稳定。 在选择...

    mod_proxy_ajp.so

    apache服务器和tomcat服务器之间实现URL代理的module.so工具类文件

    apache2.2 服务器 mod_jk.so

    `mod_jk.so`是Apache HTTP服务器的一个模块,它实现了阿帕奇与Tomcat之间的通信协议——JK(Java Keteen)协议。这个模块使得Apache能够识别并转发特定的URL到Tomcat进行处理,从而实现负载均衡和故障切换等功能。在...

    apache+tomcat整合配置

    如果需要更高可用性,可以将多个Tomcat实例配置成集群,通过Apache的mod_proxy_balancer模块进行负载均衡。这将提高服务的容错能力和扩展性。 8. **日志管理** 考虑将Apache和Tomcat的日志分开管理,以便更好地...

    apache 和 tomcat 集成、集群

    - **AJP集成**: 安装AJP模块(mod_proxy_ajp),在Apache配置文件中设置AJP连接器,使两者通信。优点是低延迟,但安全性较低。 - **mod_proxy集成**: 使用HTTP/HTTPS反向代理,更安全,配置也更灵活,可以支持...

    Apache与Tomcat集成,资源是已经集成好的,可以参考

    2. **启用mod_proxy模块**:在Apache的配置文件httpd.conf中,找到“#LoadModule proxy_module modules/mod_proxy.so”这一行,去掉前面的注释符,加载mod_proxy模块。同样,启用mod_proxy_http模块:“#LoadModule ...

    Tomcat与Apache服务器集成

    mod_proxy是Apache的另一种扩展,不仅可以与Tomcat集成,还可以与其他服务器集成。配置mod_proxy,可以使用`ProxyPass`和`ProxyPassReverse`指令,指定哪些URL应该被代理到Tomcat。 在集成过程中,需要注意以下...

    tomcat_apache共享动态连接库

    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 ...

    Apache+tomcat实现负载均衡

    LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so ``` 2. **设置虚拟主机**:创建一个或多个虚拟主机,这些虚拟主机将作为前端服务器对外提供服务。在...

    Apache_HTTP_Server_与_Tomcat_的三种连接方式介绍.doc

    1. **Proxy/AJP 方式**:利用 Apache 的 `mod_proxy_ajp` 模块,以代理服务器的形式将请求转发给 Tomcat,同样基于 AJP 协议。 2. **Reverse Proxy 方式**:使用 `mod_proxy` 和 `mod_proxy_http`,将 Apache 配置为...

    Apache+多个Tomcat 服务器集群配置

    将以下Module的注释去掉,这里并没有使用mod_jk.so进行apache和tomcat的链接,从2.X以后apache自身已集成了mod_jk.so的功能。只需简单的把下面几行去掉注释,就相当于以前用mod_jk.so比较繁琐的配置了。这里主要采用...

    利用apache的proxy-ajp做apache与tomcat的结合(转载) jackey

    在某些场景下,为了整合两者的优点,我们会利用Apache的`mod_proxy_ajp`模块来实现Apache与Tomcat的结合,以提高系统性能和负载均衡能力。下面将详细介绍这一过程。 `mod_proxy_ajp`是Apache HTTP服务器的一个模块...

    Apache与Tomcat 整合发布web(Linux)

    除了基本的ProxyPass配置,还可以使用mod_proxy_balancer进行负载均衡,或者通过AJP协议进行更深度的集成。AJP(Apache JServ Protocol)是一个二进制协议,专为Apache和Tomcat之间的通信设计,能提供更高的性能。 ...

    Apache与Tomcat集成

    集成Apache和Tomcat主要有两种常见的方法:通过Apache的模块(如mod_jk或mod_proxy)或者使用Nginx作为反向代理。这里我们将重点讨论使用Apache的mod_jk模块进行集成。 1. **安装Apache和Tomcat** - 首先,你需要...

Global site tag (gtag.js) - Google Analytics