设为首页 收藏本站
查看: 1305|回复: 0

[经验分享] Jetty应用服务器的安装详解

[复制链接]

尚未签到

发表于 2017-3-1 12:20:27 | 显示全部楼层 |阅读模式
  Jetty是一个开源的Servlet容器和应用服务器,它极度轻量级、高便携性、功能强大、灵活和扩展性好,而且支持各种技术如SPDY、WebSocket、OSGi、JMX、JNDI和JAAS。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,进入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/,可以看到
DSC0000.png


三、运行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,并可以查看到日志模块是激活了的。

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



--module=logging

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

3、配置模块
  正如上面提到的,mod文件声明了相关的XML配置文件,在Jetty的etc子目录下,可以通过这些配置文件来配置模块。比如日志模块声明了相关的配置文件是jetty-logging.xml,可以通过修改此配置文件来调整日志。
  最后补充一句,要想了解更详细的内容,看官方文档吧。
  http://www.eclipse.org/jetty/documentation/current/index.html
  来源:http://blog.csdn.net/chszs/article/details/48186139

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-348821-1-1.html 上篇帖子: jetty 通过配置文件嵌入式启动web服务 下篇帖子: osgi内嵌jetty容器添加过滤器
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表