总体思路是把jetty当做web服务器,apache作为http服务器,并以ajp为协议
1, 让apache支持ajp。
要让apache支持ajp, apache要加载mod_jk.so.
mac环境下,默认是没有mod_jk.so的,所有要下载编译:
1)到官网下载tar.gz 文件,解压之后进入文件夹,执行:
$ cd native $ ./configure CFLAGS='-arch x86_64' APXSLDFLAGS='-arch x86_64' --with-apxs=/usr/sbin/apxs $ make $ sudo make install
linux环境下:
这里是将其放到/usr/local , 安装过程可能需要 aclocal,libtool,autoheader,automake,autoconf
[root@webserver ~]# cd /usr/local/ [root@webserver local]# tar xzvf jakarta-tomcat-connectors-1.2.15-src.tar.gz [root@webserver local]# cd jakarta-tomcat-connectors-1.2.15-src/jk/native [root@webserver native]#chmod 755 buildconf.sh [root@webserver native]# ./buildconf.sh [root@webserver native]#./configure --with-apxs=/usr/sbin/apxs [root@webserver native]# make [root@webserver native]# make install [root@webserver native]# cd apache-2.0 [root@webserver native]#ll mod_jk.so
2)配置 httpd.conf
2.1) 在文件中找到,
从
<IfDefine !MACOSXSERVER> #LoadModule jk_module libexec/apache2/mod_jk.so ... </IfDefine !MACOSXSERVER>
移出来,让apache一直加载mod_jk
2.2 在文件中找到:
<IfModule mod_jk.c> ... </IfModule>
改为:
<Call name="addConnector"> </Call> .... <Call name="addConnector"> <Arg> <New class="org.eclipse.jetty.ajp.Ajp13SocketConnector"> <Set name="port">8009</Set> </New> </Arg> </Call>
以async-rest为例子
<IfModule mod_jk.c> JKWorkersFile /etc/apache2/worker.properties JKLogFile /var/log/apache2/mod_jk.log JkShmFile /var/log/apache2/jk-runtime-status JkLogLevel info JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " JkOptions +ForwardKeySize +ForwardURICompat JkMount /async-rest/* jetty </IfModule>
2.3) 添加worker.properties
worker.list=jetty worker.jetty.port=8009 worker.jetty.host=127.0.0.1 worker.jetty.type=ajp13 worker.jetty.lbfactor=1
2 让jetty支持ajp
在jetty.xml中添加:
<Call name="addConnector"> ... </Call> <Call name="addConnector"> <Arg> <New class="org.eclipse.jetty.ajp.Ajp13SocketConnector"> <Set name="port">8009</Set> </New> </Arg> </Call>
若 org.eclipse.jetty.ajp.Ajp13SocketConnector 类找不到,讲jar包复制到jetty/lib/ext下
3, 重启jetty, apache, apache默认端口为80
运行 http://localhost/async-rest/
成功
4 参考
http://www.bartbusschots.ie/blog/?p=1347
http://blog.omgmog.net/post/a-possible-solution-to-bad-interpreter-operation-not-permitted-error-on-mac-os-x-lion/ 解决: bad interpreter: operation not permitted
相关推荐
8. **Jetty Connector**:详细讨论Jetty的连接器,包括SSL配置和与Apache HTTP代理的集成。 9. **虚拟主机**:如何在Jetty上配置多个虚拟主机,实现多站点托管。 10. **管理服务器**:涵盖日志管理、请求日志、...
Jetty还可以与其他Web服务器(如Apache)配合使用,通过mod_proxy或AJP代理协议将请求转发给Jetty处理。 #### 九、虚拟主机 **9.1 虚拟主机的配置方法** Jetty支持在同一台物理服务器上托管多个虚拟主机。通过...
除了作为独立的Web服务器,Jetty还可以与其他Web服务器(如Apache)配合使用,通过mod_proxy或AJP协议进行通信。 #### 九、虚拟主机 **9.1 虚拟主机配置方法** Jetty支持虚拟主机,可以通过配置`VirtualHost`和...
**Jetty与Axis2的整合** 在标题中提到的"jetty axis2.war"是指将Axis2 Web服务框架打包成一个WAR(Web Application Archive)文件,以便在Jetty服务器上运行。这个WAR文件包含了Axis2运行所需的全部组件和配置,...
总的来说,构建一个基于Spring MVC、内嵌Jetty和Maven的微服务涉及多个层次的技术整合,包括Web服务的搭建、服务间的通信以及项目的构建和管理。这样的配置为开发人员提供了灵活性,同时也确保了开发流程的高效性...
本教程将详细介绍如何通过“一键部署”实现对一个基于Java的项目(DEMO)进行配置,结合Jetty服务器、Subversion(SVN)版本控制系统以及Ant构建工具的整合使用。 首先,让我们了解这些组件的作用: 1. **DEMO**:...
- **Apache mod_proxy**: 如何将Apache服务器与Jetty配合使用。 - **AJP部署**: 介绍AJP协议及其在Jetty中的应用。 #### 九、虚拟主机配置 - **多站点支持**: 在单一Jetty实例中配置多个虚拟主机。 - **域名绑定**:...
这个压缩包"apache-cxf-2.5.9.rar"包含了CXF 2.5.9版本的所有相关组件和库,使得开发者能够轻松地在Spring框架下整合并实现Web服务。CXF集成了多种Web服务标准,如SOAP、RESTful、WS-*等,提供了丰富的功能和良好的...
CXF的名字来源于"CXF = Client eXtension Framework + XFire",它整合了两个先前独立的Web服务框架——CXF和XFire。这个合集包含了Apache CXF的两个不同版本,3.1.15和3.2.3,这可能是为了对比或兼容性测试,或者是...
Eclipse Maven apache压缩包是一个专为Windows系统设计的开发软件集合,它整合了服务器环境、Maven构建工具以及Eclipse IDE,旨在为开发者提供一站式解决方案,以高效地进行Java应用程序的开发、测试和部署。...
19. **JEE服务器整合**:Jetty可与EJB容器配合,实现完整的Java EE功能。 20. **开发环境使用**:Jetty适合开发和调试,快速部署和更新应用。 21. **安全**:支持基本的安全控制,如SSL/TLS、访问控制、身份验证等...
这个组合涉及到三个关键组件:Apache CXF 2.6.4、Spring Framework 3.1.1 和 Jetty 7.5.4。接下来,我们将深入探讨这三个组件及其在构建Web服务中的作用。 Apache CXF 是一个开源的Java框架,专门用于构建和开发Web...
这个简单的 HelloWorld 示例展示了 Apache Camel 如何轻松地整合 HTTP 请求。在实际应用中,你可以进一步扩展此示例,比如添加请求参数、处理不同类型的响应、错误处理、使用 RESTful API 等。 通过了解和实践这个...
在这个项目中,`Jetty`可能被`Spring`整合,作为Web服务器运行应用。 `Logback`是另一个关键组件,它是`log4j`的后继者,由Ceki Gülcü创建,专注于日志记录的效率和灵活性。`Logback`提供了一套完整的日志框架,...
描述中的“三合一”可能指的是这三个库被整合在一起,方便用户一次性下载和使用。 Signpost是一个Java库,它简化了OAuth 1.0a和OAuth 2.0的实现,适用于各种HTTP客户端,包括Apache HttpClient和Jetty HTTP客户端。...
综上所述,jetty_svn插件将Jetty服务器和Subversion(SVN)的强大功能整合到了Eclipse开发环境中,通过简单的links安装方式,使得开发者能够在IDE内高效地管理Web应用和版本控制,提升开发效率。同时,插件的依赖...
不过,由于没有提供更多的具体信息,我们只能推测这个项目可能涉及到多方面的技术整合,例如前后端交互、数据处理或者特定的开发工具使用。 【标签】"开源项目" "开源项目"标签表明"jetty-console-jsp-plugin-1.47...
**Maven**是Apache软件基金会开发的一个项目管理工具,它主要负责构建、依赖管理和项目信息管理。Maven通过XML格式的POM(Project Object Model)文件来定义项目配置,包括项目依赖、构建过程、插件等信息。Maven...
**Apache Camel 概述** Apache Camel 是一个流行的开源框架,专为构建企业级集成解决方案而设计。它提供了一种声明式的方式,通过一系列称为“组件”(Components)的模块来连接不同的系统、服务和协议。这些组件...
1. Maven:Maven是Apache开发的一款项目管理和综合工具,它帮助开发者管理项目的构建、报告和文档,通过配置XML文件来定义项目的构建过程。Maven通过依赖管理解决类库的版本控制问题,使得开发环境的搭建变得更加...