首页 > 代码库 > Jetty入门(1-2)配置Jetty - 独立运行模式

Jetty入门(1-2)配置Jetty - 独立运行模式

 

本文详述如何安装和配置Jetty服务器,主要讲述Jetty的独立运行模式(Standalone)。随后介绍它的配置选项,以及模块化的架构。

Jetty有独立运行模式、嵌入运行模式和Jetty Maven插件操作模式。

本文是独立运行模式为准。

一、部署环境

两个软件:

1)Java 8u60 http://download.Oracle.com/otn-pub/Java/jdk/8u60-b27/jdk-8u60-windows-x64.exe

2)Jetty 9.3.2 http://eclipse.org/downloads/download.PHP?file=/jetty/stable-9/dist/jetty-distribution-9.3.2.v20150730.zip&r=1 

早些的版本也可以用,但应该尽可能使用最新版本。

 

二、部署运行

下载并解压Jetty,进入Jetty的解压目录,执行命令:

java -jar start.jar

输出如下:

D:\Programs\jetty9>java -jar start.jar

2015-09-02 16:31:36.273:INFO::main: Logging initialized @2060ms

2015-09-02 16:31:36.696:WARN:oejs.HomeBaseWarning:main: This instance of Jetty is not running from a separate {jetty.base} directory, this is not recommended.  See documentation at http://www.eclipse.org/jetty/documentation/current/startup.html

2015-09-02 16:31:37.228:INFO:oejs.Server:main: jetty-9.3.2.v20150730

2015-09-02 16:31:37.302:INFO:oejdp.ScanningAppProvider:main: Deployment monitor [file:///D:/Programs/jetty9/webapps/] at interval 1

2015-09-02 16:31:37.701:INFO:oejs.ServerConnector:main: Started ServerConnector@3b81a1bc{HTTP/1.1,[http/1.1]}{0.0.0.0:8080}

2015-09-02 16:31:37.704:INFO:oejs.Server:main: Started @3491ms

用浏览器访问地址:http://localhost:8080/,可以看到 

 

三、运行Jetty Web应用

在Jetty应用服务器中部署war项目很简单,只需把项目war包放入Jetty的webapps子目录即可。

你都无需重启Jetty,Jetty会自动随时监听webapps目录,自动完成新项目的部署。

 

四、Jetty目录功能

bin:可执行脚本文件

demo- base:

etc:Jetty模块定义的XML配置文件的目录

lib:Jetty依赖的库文件

logs:Jetty的日志目录

modules:Jetty的模块

resources:外部资源配置文件的目录

webapps:项目WAR文件的目录

还需要关心根目录下的一个文件:start.d(Wondows系统是start.ini文件),它定义了Jetty的活动模块。

 

五、基本配置

1、修改Jetty的端口

Jetty默认使用8080端口,要让它使用其他端口(如7070),那么编辑start.d(Wondows系统是start.ini文件),找到jetty.http.port行,修改为:

## Connector port to listen on

jetty.http.port=7070

保存并退出,再重启Jetty。

2、修改webapps目录

Jetty下的webapps是默认的Web项目的部署目录,如果想修改此目录,可修改start.d配置文件(start.ini),移除以下行的注释符号“#”

# jetty.deploy.monitoredDir=webapps

并把内容修改到你指定的目录。保存并退出,再重启Jetty。

 

六、Jetty的模块化架构

Jetty运行于模块化的架构之上,这意味着Jetty的功能是以模块的方式运行的,比如HTTP、HTTPS、SSL、日志logging、JMX、JNDI、WebSocket等模块。常用的模块如HTTP、JSP和WebSocket模块都是默认就激活的,而其他如HTTPS、JMX等模块则需要手动激活。

1、单个模块的剖析

Jetty的modules子目录列出了所有的模块,这些模块是扩展名为.mod的文件,它声明了要被激活的JAR文件(在Jetty的lib子目录下)和XML配置文件(在Jetty的etc子目录下),以及其他要作为模块被激活的资源。

比如,可以查看modules子目录的logging.mod文件的内容,可以看到,它声明了配置文件是etc/jetty-logging.xml,所需的JAR包在lib/logging处,另外logs目录是必须的。

[ xml]

etc/jetty-logging.xml

[files]

logs/ 

[lib]

lib/logging/**.jar

resources/

2、通过命令行激活模块

激活Jetty的模块有两种方式。

第一种方式是通过命令行激活:

java -jar start.jar --add-to-startd=logging

上面的命令会在Jetty目录下创建logging.ini文件,相关的配置可以在此文件中查到。配置日志后,可以再次启动Jetty,并可以查看到日志模块是激活了的。

第二种方式是通过配置文件start.ini激活模块

--module=logging

这种方式和前一种相似,且更常用。

3、配置模块

正如上面提到的,mod文件声明了相关的XML配置文件,在Jetty的etc子目录下,可以通过这些配置文件来配置模块。比如日志模块声明了相关的配置文件是jetty-logging.xml,可以通过修改此配置文件来调整日志。

最后补充一句,要想了解更详细的内容,看官方文档吧。

http://www.eclipse.org/jetty/documentation/current/index.html

使用Jetty作为嵌入式服务器 http://www.linuxidc.com/Linux/2013-07/86983.htm

Jetty 源码分析 http://www.linuxidc.com/Linux/2013-10/90986.htm

Jetty安装学习并展示 http://www.linuxidc.com/Linux/2014-05/101993.htm

Jetty在Eclipse中的安装 http://www.linuxidc.com/Linux/2013-10/90991.htm

Linux(RedHat 5.8)下 安装Jetty 部署 使用  http://www.linuxidc.com/Linux/2014-10/108342.htm 

Jetty入门(1-2)配置Jetty - 独立运行模式