jetty下载地址:

https://www.eclipse.org/jetty/download.html

jetty的安装:

下载.tgz的包解压缩的指定目录后即可

例如:将jetty-distribution-9.4.6.v20170531.tar.gz包解压缩到/usr/local/jetty目录。

我们默认把jetty的根目录当成 $JETTY_HOME

jetty目录结构:

[root@localhost jetty01]# ll
total 712
drwxr-xr-x  2 root root   4096 Sep  1 14:59 bin
drwxr-xr-x  7 root root   4096 Sep  1 14:53 demo-base
drwxr-xr-x  3 root root   4096 Sep  1 14:53 etc
-rw-r--r--  1 root root    198 Sep  1 16:19 jetty01.state
drwxr-xr-x 13 root root   4096 Sep  1 14:53 lib
-rw-r--r--  1 root root  30012 Sep  1 14:53 license-eplv10-aslv20.html
drwxr-xr-x  2 root root   4096 Sep  1 14:53 logs
drwxr-xr-x 19 root root   4096 Sep  1 14:53 modules
-rw-r--r--  1 root root   6262 Sep  1 14:53 notice.html
-rw-r--r--  1 root root   1637 Sep  1 14:53 README.TXT
drwxr-xr-x  2 root root   4096 Sep  1 14:53 resources
-rw-r--r--  1 root root   5702 Sep  1 14:53 start.ini
-rw-r--r--  1 root root 147725 Sep  1 14:53 start.jar
-rw-r--r--  1 root root 483631 Sep  1 14:53 VERSION.txt
drwxr-xr-x  2 root root   4096 Sep  1 16:36 webapps

目录、文件简介

Location Description

license-eplv10-aslv20.html

Jetty的许可文件

README.txt

有用的开始信息

VERSION.txt

版本信息

bin/

存放在Unix系统下运行的shell脚本

demo-base/

一个可运行包含示例web应用的Jetty服务器基目录

etc/

Jetty的配置文件

lib/

Jetty运行所必须的jar文件

logs/

日志

modules/

各个模块

notice.html

许可信息等

resources/

包含新增到classpath配置文件夹,如log4j.properties

start.ini

存放启动信息

start.jar

运行Jetty的jar

webapps/

一个用来存放运行在默认配置下的Jetty Web应用目录

重要的目录和文件:

bin/jetty.sh:jetty服务启动/停止脚本,主要有以下变量的配置

JAVA: 设置java命令的绝对路径,即jdk的bin目录下的java命令的路径,如果没设置,则从PATH环境变量中查找;
JAVA_OPTIONS:设置jvm参数;
JETTY_HOME:jetty的安装目录,如果没有设置,则从调用该脚本的上下文环境中猜测;
JETTY_BASE:jetty的base目录,即当前工程使用的jetty环境的根目录,如果没有设置,则与JETTY_HOME相同;
JETTY_RUN:配置保存jetty pid文件的路径,如果没有配置,根据以下顺序查找第一个可用目录:/var/run, /usr/var/run, JETTY_BASE, /tmp;
JETTY_PID:pid文件路径,默认为:$JETTY_RUN/$NAME.pid(NAME变量表示启动jetty时,去掉扩展名的脚本名称);
JETTY_ARGS:jetty参数,如配置端口号等:JETTY_ARGS=8080 jetty.spdy.port=8443
JETTY_USER:配置启动用户,如以nkcoder用户启动:JETTY_USER=nkcoder

jetty运行:

命令方式启动:

cd $JETTY_HOME
java -jar start.jar

这个命令能执行需要$JETTY_HOME下有start.ini文件,改文件中存放的是jetty服务启动信息

start.ini文件默认配置如下:

 cat start.ini | egrep -v "^#|^$"
--module=home-base-warning
--module=ext
--module=server
--module=jsp
--module=resources
--module=deploy
--module=jstl
--module=websocket
--module=http

通过上面的命令启动jetty后,在浏览器中输入http://localhost:8080 访问jetty,出现以下报错页面

这是因为jetty启动时,会在$JETTY_HOME/webapps中找war包或者web应用的目录。而默认情况下$JETTY_HOME/webapps下没有web应用的war包和文件。所以提示404。

基础应用的例子

cd $JETTY_HOME/demo-base/
java -jar $JETTY_HOME/start.jar

访问http://localhost:8080 此时可以看到一个Jetty的欢迎页面,页面上包含几个简单的例子,欢迎页面如下

来看下demo-base目录中的文件,同样有一个webapps目录。

#ll demo-base/
total 20
drwxr-xr-x 2 root root 4096 Sep  1 14:53 etc
drwxr-xr-x 3 root root 4096 Sep  1 14:53 lib
drwxr-xr-x 2 root root 4096 Sep  1 14:53 resources
drwxr-xr-x 2 root root 4096 Sep  1 14:53 start.d
drwxr-xr-x 5 root root 4096 Sep  1 14:53 webapps

jetty如何部署web应用的

把要部署的工程(war包、工程目录或者xml描述文件放到${JETTY_HOME}的webapps目录下即可;

需要注意的是:

jetty会对webapps目录下的几乎所有war包、目录、xml文件(有一些例外,如隐藏文件和.d结尾的目录等会被忽略)进行自动部署。

如果war包、目录和xml文件同名,则部署的顺序为xml文件 > war包 > 目录 。比如,webapps目录下有:rank.war,rank目录以及rank.xml,其中rank目录为rank.war解压后的目录,rank.xml中引用的是rank.war包或者rank目录,则此时,仅有xml文件被部署,这里成立的前提是同名,如果不同名,但它们是同一个工程,则会导致工程被重复部署,切记!

  • 例如一个包含 WEB-INF/ 子文件夹的example/文件夹做为一个标准的web应用进行部署,否则就按静态资源部署,context路径为/example(访问路径: http://localhost:8080/example/);若文件夹名字为ROOT,则访问路径为/;若文件夹名字末尾为.d则此文件夹被忽略(除非被特殊的配置文件引用)

  • 若一个文件example.war被部署在webapps下,则context路径为example/,如果名字为ROOT则访问路径为/,如果example.war文件和example/文件夹同时存在,只有war文件会被部署(这个文件会被当做一个没有被解压的目录来使用)

  • 一个像example.xml的配置文件,若文件中是标准的配置信息,也会被部署,文件中必须包含context path,如果context path和example.xml同时存在,只有example.xml会被部署。

  如果你有一个标准的web应用,可以直接将其拷贝到webapps文件夹下进行热部署。

看下demo-base/webapps目录下的文件

# ls -l webapps/
total 3624
-rw-r--r-- 1 root root  986372 Sep  1 14:53 async-rest.war
drwxr-xr-x 3 root root    4096 Sep  1 14:53 doc
-rw-r--r-- 1 root root     533 Sep  1 14:53 example-moved.xml
-rw-r--r-- 1 root root     341 Sep  1 14:53 README.TXT
drwxr-xr-x 3 root root    4096 Sep  1 14:53 ROOT
drwxr-xr-x 2 root root    4096 Sep  1 14:53 test.d
-rw-r--r-- 1 root root   60716 Sep  1 14:53 test-jaas.war
-rw-r--r-- 1 root root     945 Sep  1 14:53 test-jaas.xml
-rw-r--r-- 1 root root   62949 Sep  1 14:53 test-jndi.war
-rw-r--r-- 1 root root    3430 Sep  1 14:53 test-jndi.xml
-rw-r--r-- 1 root root  517192 Sep  1 14:53 test-spec.war
-rw-r--r-- 1 root root    2456 Sep  1 14:53 test-spec.xml
-rw-r--r-- 1 root root 1012480 Sep  1 14:53 test.war
-rw-r--r-- 1 root root    4623 Sep  1 14:53 test.xml
-rw-r--r-- 1 root root 1018072 Sep  1 14:53 xref-proxy.war

webapps中文件介绍:

ROOT/:这个文件夹包含各种静态资源。包含Jetty欢迎页面,默认访问路径为/
test.d:一个包含附加配置文件的文件夹,被test.xml使用用来为test.war增加额外的配置
test.xml:一个context配置文件,用来配置和部署test.war,包含上下文环境和test.d里面的配置附加的配置信息
test.war:在test.xml里面配置的示例web程序
async-rest.war:一个异步示例的web应用程序
test-jaas.war:一个使用JAAS身份验证的web应用程序。
test-jaas.xml:用来配置test-jaas.war的配置文件
test-jndi.war:一个使用JNDI的示例应用
test-jndi.xml:用来配置test-jndi.war的配置文件
test-spec.war:一个使用注解,ServletContainerInitializers 和Servlet 3.0/3.1规范的示例应用
test-spec.xml:用来配置test-spec.war的配置文件
xref-proxy.war:使用代理的一个示例应用
example-moved.xml:一个演示MovedContextHandler重定向使用的示例应用

总结:

demo-base/webapps目录下有很多同名的war包和xml文件比如:

test.war和test.xml ,test-jaas.war和test-jaas.xml

这两个文件可以看成是一组。jetty部署example.war包时,需要一个同名的example.xml文件,该文件保存war包的配置

一个简单的xml文件内容如下:

<Configure class="org.eclipse.jetty.webapp.WebAppContext"><Set name="contextPath">/jenkins</Set><Set name="war"><SystemProperty name="jetty.home" default="."/>/webapps/jenkins.war</Set><Get name="securityHandler"><Set name="loginService"><New class="org.eclipse.jetty.security.HashLoginService"><Set name="name">Jenkins Realm</Set><Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/realm.properties</Set></New></Set></Get>
</Configure>

contextPath配置的是访问web应用时的路径,上面配置的是/jenkins,所以访问该应用时,路径为

http://localhost:8080/jenkins/

下面以jetty9部署jenkins为例介绍jetty9使用配置

将jenkins.war拷贝到$JETTY_HOME/webapps目录下,创建jenkins.xml文件,配置如上面的文件。启动jetty服务即可。

# ll
total 63180
-rwxr-xr-x 1 root root 64685923 Sep  1 16:04 jenkins.war
-rw-r--r-- 1 root root      642 Sep  1 16:26 jenkins.xml
-rw-r--r-- 1 root root     1412 Sep  1 14:53 README.TXT

参考链接:

https://nkcoder.github.io/2014/06/18/jetty-deploy-help/

http://www.cnblogs.com/yiwangzhibujian/p/5832597.html

转载于:https://blog.51cto.com/zengestudy/1962026

jetty9配置指南及jetty9部署jenkins相关推荐

  1. Leangoo看板Jenkins配置指南

    介绍: Jenkins 是一个独立的开源软件项目,是基于 Java 开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能.它可以用于自动化运行各种任 ...

  2. tomcat部署Jenkins并配置jdk、maven、git

    一.部署Jenkins 1.导入安装包 2.安装安装包 (1).安装JDK和maven 创建jdk存储目录 # mkdir /usr/jdk64/ 解压jdk到存储目录 # tar -zxvf jdk ...

  3. jetty9配置contextPath

    jetty9配置contextPath 说明: 目录结构: webapps -------demo.war -------demo.xml demo.xml文件内容 <?xml version= ...

  4. jenkins+阿里code配置vue项目自动部署

    1.jenkins是什么? Jenkins是一个开源的.提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续.自动的构建/测试软件项目.监控外部任务的运行( ...

  5. Redmine+Apache+SVN+Postfix完整配置指南

    2019独角兽企业重金招聘Python工程师标准>>> Redmine+Apache+SVN+Postfix完整配置指南 Edition Author State Date Desc ...

  6. k8s部署jar包_学习K8S之路.6--- 在K8S中部署Jenkins,并使用Jenkins打包jar包

    一:部署jenkins jenkins官网:https://jenkins.io/download/ jenkins镜像:https://hub.docker.com/r/jenkins/jenkin ...

  7. 【CentOS】安装部署jenkins从git获取代码[转]

    持续集成①安装部署jenkins从git获取代码 一:持续集成的概念: 1.1:总体的概括 持续集成Continuous Integration 持续交付Continuous Delivery 持续部 ...

  8. Apollo 配置中心:分布式部署

    Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性,适用于微服务配置管理场景. 服 ...

  9. linux部署jenkins,tomcat9

    大家好,我是烤鸭: 今天分享的是    linux部署jenkins,tomcat9 安装环境: linux centos7.2 tomcat 9.1 Jenkins 2.73 JDK 1.8 mav ...

最新文章

  1. mysql , java length
  2. 使用Jdom2将一个xml文件添加到另一个xml中
  3. Eclipse 启动问题:'Initilizing Java Tooling' has encountered a problem(。。。)
  4. ios下js复制到粘贴板_EXCEL被你忽视的粘贴板-11
  5. android 自定义view滚动条,Android自定义View实现等级滑动条的实例
  6. 《Python编程从入门到实践》记录之json模块(数据存储)
  7. iphonex计算机隐藏功能,关于iPhone11系列的一些隐藏功能,非常的实用
  8. 深入玩转K8S之智能化的业务弹性伸缩和滚动更新操作
  9. (22)System Verilog按时间顺序的通知需求(事件驱动)
  10. 浅谈网络通信中的流量整形
  11. 1000道Python题库系列分享十(37道)
  12. 修改centos7的MAC地址
  13. 专利检索常用的网站有哪些?
  14. linux网卡team0,team
  15. 双系统笔记本 android,安卓不止平板有 教你使用笔记本装安卓,和WINDOWS一起双系统亦可以的哦!(图解)...
  16. redhat 6.5安装oracle时出现java异常_Redhat6.2安装Oracle11g客户端及遇到的问题分析
  17. 有些人二十几岁就提前退休了,凭什么?
  18. 每日总结-----12月15日
  19. 成为IT精英,我奋斗7年(震撼!正能量 转)
  20. MOS管GS两端并联阻容的作用分析

热门文章

  1. Apache 和 Tomcat 的 关系
  2. 会议上,如何分配任务
  3. SQL函数学习 之 DENSE_RANK() OVER (PARTITION BY col2 ORDER BY col3 DESC) AS seq
  4. 关于equls和endsWith的悲哀(以后有equals的位置要仔细看一下了)!
  5. Sublime Text 支持GBK , 解决中文乱码问题
  6. HBase中此类异常解决记录org.apache.hadoop.ipc.RemoteException(java.io.IOException):
  7. Android中View转换为Bitmap及getDrawingCache=null的解决方法
  8. 什么是C ??!??!操作员呢?
  9. 在Bash中重定向stderr和stdout
  10. 功放前级的左右_TDG Audio达芬奇:什么是前级,后极?