Jetty是一个轻量级的高度可扩展的基于 java 的 web 服务器和 servlet 引擎。其目标是以大批量低延迟的方式支持 HTTP、HTTP/2 和 WebSocket 等 Web 协议,在提供最大性能的同时,保留多年 servlet 开发的易用性和兼容性。Jetty 是一个现代的完全异步的 Web 服务器,作为一个面向组件的技术,它有着悠久的历史,可以轻松地嵌入到应用程序中,同时仍然为 Webapp 的部署提供坚实的传统分布。
软件特性
功能齐全且基于标准
开源且可商业使用
灵活可扩展
内存小
可嵌入
异步
企业可扩展
软件优点
易用性
易用性是 Jetty 设计的基本原则,易用性主要体现在以下几个方面:
通过 XML 或者 API 来对Jetty进行配置;默认配置可以满足大部分的需求;将 Jetty 嵌入到应用程序当中只需要非常少的代码;
可扩展性
在使用了 Ajax 的 Web 2.0 的应用程序中,每个连接需要保持更长的时间,这样线程和内存的消耗量会急剧的增加。这就使得我们担心整个程序会因为单个组件陷入瓶颈而影响整个程序的性能。但是有了 Jetty:
即使在有大量服务请求的情况下,系统的性能也能保持在一个可以接受的状态。利用 Continuation 机制来处理大量的用户请求以及时间比较长的连接。 另外 Jetty 设计了非常良好的接口,因此在 Jetty 的某种实现无法满足用户的需要时,用户可以非常方便地对 Jetty 的某些实现进行修改,使得 Jetty 适用于特殊的应用程序的需求。
易嵌入性
Jetty 设计之初就是作为一个优秀的组件来设计的,这也就意味着 Jetty 可以非常容易的嵌入到应用程序当中而不需要程序为了使用 Jetty 做修改。从某种程度上,你也可以把 Jetty 理解为一个嵌入式的Web服务器。
Jetty 可以作为嵌入式服务器使用,Jetty的运行速度较快,而且是轻量级的,可以在Java中可以从test case中控制其运行。从而可以使自动化测试不再依赖外部环境,顺利实现自动化测试。
安装步骤
事先装好jdk!
1、 上传jetty-xxx.zip安装包到服务器,如上传到home目录下:
2、 解压jetty-xxx.zip文件:
unzip jetty-xxx.zip
3、 修改jetty-xxx包名,并把它移到/usr/local/目录:
mv jetty-xxx jetty7.6
mv jetty7.6 /usr/local/
4、 修改配置文件JETTY_HOME:
vi ~/.bashrc
在文档末尾添加如下(红色字体)JETTY_HOME的配置信息:
JETTY_HOME=/usr/local/jetty7.6
JETTY_CONF=$JETTY_HOME/etc
JETTY_LOGS=$JETTY_HOME/logs
export JETTY_HOME
export JETTY_CONF
export JETTY_LOGS
5、 使文件~/.bashrc生效,执行:
source ~/.bashrc
6、 启动jetty服务:
/usr/local/jetty7.6/bin/jetty.sh start
以下信息默认不用修改
其他配置文件:
1、 jetty目录下的etc目录下的jetty.xml文件可以修改jetty的访问端口:
vi /usr/local/jetty7.6/etc/jetty.xml
可以通过修改如下红色字体(8080),而修改jetty的访问端口号
如何部署root应用?用户直接访问域名时第一个应用?
方法:在/usr/local/jetty7.6/webapps/下建立root目录,再把应丢程序包,丢到下面去,这跟tomcat 很相似.