apache与jetty整合,用mod_proxy
1.安装apache
安装apache,用的是2.2.15
这里用的是mod_proxy作为apache转发到jetty的模块,这里需要把mod_proxy装上
2.安装jetty?
??? Jetty官方网站:http://www.mortbay.org/jetty/
??? 安装jetty,用的是7.0
3.在apache的http.conf加上
?? </IfModule>
<IfModule mod_proxy.c>
??????? ProxyRequests Off
??????? ProxyVia Off
??????? ProxyPreserveHost On
<Proxy *>
? AddDefaultCharset off
? Order deny,allow
? Allow from all
</Proxy>
ProxyStatus On
<Location /status>
? SetHandler server-status
? Order Deny,Allow
? Allow from all
</Location>
ProxyPass /index.htm http://localhost:8009/index.htm? #rewrite规则需要更改
</IfModule>
4.在jetty的/etc/jetty.xml增加
????? <Call name="addConnector">
???? <Arg>
???? <New class="org.eclipse.jetty.ajp.Ajp13SocketConnector">
?????? <Set name="port">8009</Set>
???? </New>
???? </Arg>
?? </Call>
5.启动apache 在apache bin目录下执行./apachectl start
6.在jetty的目录下执行java -jar start.jar? OPTIONS=Server,ext,jmx,jsp,resources,websocket,ajp,启动jetty
7.测试:
分别访问
http://xxx.xxx.xxx.xxx/
http://xxx.xxx.xxx.xxx/index.jsp
前者会显示apache默认页面: it work
后者会显示jetty错误信息页面
?
至此Apache Jetty整合完毕..以后会一点一点介绍Jetty的配置文件
?
?
补充下jetty7.0的特性
Jetty 是一个用 Java 实现、开源、基于标准的,并且具有丰富功能的 Http 服务器和 Web 容器。
现在已经有非常多的成功产品基于 Jetty,比如 Apache Geromino, JBoss, IBM Tivoli, Cisco SESM 等。Jetty 可以用来作为一个传统的 Web 服务器,也可以作为一个动态的内容服务器,并且 Jetty 可以非常容易的嵌入到 Java 应用程序当中。
Jetty特性
易用性
1 XML 或者 API 来对 Jetty 进行配置;
2 配置可以满足大部分的需求;
3 Jetty 嵌入到应用程序当中只需要非常少的代码;
可扩展性
在使用了 Ajax 的 Web 2.0 的应用程序中,每个连接需要保持更长的时间,这样线程和内存的消耗量会急剧的增加。
Jetty:
1 即使在有大量服务请求的情况下,系统的性能也能保持在一个可以接受的状态。
2 用 Continuation 机制来处理大量的用户请求以及时间比较长的连接。
易嵌入性
Jetty 可以非常容易的嵌入到应用程序当中而不需要程序为了使用 Jetty 做修改。
NIO 支持
Jetty 利用 Java 语言的非堵塞 I/O 技术来处理并发的大量连接。 Jetty 有一个处理长连接的机制:Continuation 机制。利用Continuation 机制,Jetty 可以使得一个线程能够用来同时处理多个从客户端发送过来的异步请求。?