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

[经验分享] jetty9配置指南及jetty9部署jenkins-zenge

[复制链接]

尚未签到

发表于 2018-9-3 13:44:07 | 显示全部楼层 |阅读模式
  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
  目录、文件简介
LocationDescription  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,出现以下报错页面
DSC0000.png

  这是因为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的欢迎页面,页面上包含几个简单的例子,欢迎页面如下
DSC0001.png

  来看下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文件内容如下:
  
        /jenkins
  
        /webapps/jenkins.war
  
        
  
               
  
                        
  
                                Jenkins Realm
  
                                /etc/realm.properties
  
                        
  
               
  
        
  

  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



运维网声明 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-562108-1-1.html 上篇帖子: 码云Webhook触发Jenkins自动构建 - Jenkins演练(一) 下篇帖子: jenkins 运行war命令
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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