Jetty 提供了一个 web 服务器和 servlet 容器,另外还提供了对 HTTP/2、 WebSocket、 OSGi、 JMX、 JNDI、 JAAS 和许多其他集成的支持。这些组件是开放源码的,可以免费用于商业用途和分发。
在开发和生产中,Jetty 被广泛应用于各种项目和产品中。Jetty 长期以来深受开发人员的喜爱,因为它可以轻松地嵌入到设备、工具、框架、应用服务器和现代云服务中。
下载地址 https://www.eclipse.org/jetty/download.html
参考文档 Jetty : The Definitive Reference (eclipse.org)
启动和关闭服务脚本
service jetty start service jetty stop
在 Jetty 中部署 Jenkins
- Jenkins 2.332.3 由于是搭配 jetty 9.4。所有这里先行安装 jetty 9.4。
[/opt/jetty]# tar -zxf /home/user/downloads/jetty-distribution-{VERSION}.tar.gz [/opt/jetty]# cd jetty-distribution-{VERSION}/ [/opt/jetty/jetty-distribution-{VERSION}]# ls bin lib modules resources start.jar demo-base license-eplv10-aslv20.html notice.html start.d VERSION.txt etc logs README.TXT start.ini webapps [/opt/jetty/jetty-distribution-{VERSION}]# cp bin/jetty.sh /etc/init.d/jetty [/opt/jetty/jetty-distribution-{VERSION}]# echo JETTY_HOME=`pwd` > /etc/default/jetty [/opt/jetty/jetty-distribution-{VERSION}]# cat /etc/default/jetty JETTY_HOME=/opt/jetty/jetty-distribution-{VERSION} [/opt/jetty/jetty-distribution-{VERSION}]# service jetty start Starting Jetty: OK Wed Nov 20 10:26:53 MST 2013
- 【可选】然后根据需要,例如 etc/jetty-http.xml 中可以把默认的 8080 端口给改成 9001。
<Set name="port"><Property name="jetty.http.port" deprecated="jetty.port" default="9001" /></Set>
- 拖入下载的 jenkins.war 到 webapps 目录中
- 由于 Jetty 8.1.0 之后对安全性有了一些要求,需要显示注明安全域(security realm)。
解决方法:编辑/新建 webapps/jenkins.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="."/>/demo-base/etc/realm.properties</Set> </New> </Set> </Get> </Configure>
- 这时已经可以正常访问了 http://部署机器IP:8081/jenkins/
遇到过的问题
问题:jetty 隔几天凌晨定时出现 404 错误(linux /tmp/)
解决方案:在 $(jetty.home) 下创建一个 work 目录。
参考
Jetty 的工作原理以及与 Tomcat 的比较 - 小写K - 博客园 (cnblogs.com)