共计 5008 个字符,预计需要花费 13 分钟才能阅读完成。
Jetty 简介
Jetty 是一个开源的 servlet 容器,它为基于 Java 的 web 内容,例如 JSP 和 servlet 提供运行环境。Jetty 是使用 Java 语言编写的,它的 API 以一组 JAR 包的形式发布。开发人员可以将 Jetty 容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的 Java 应用提供网络和 web 连接。
下载 Jetty 9。
http://www.eclipse.org/jetty/。这里 http://download.eclipse.org/jetty/
(下载 JDK1.7,Apache Maven 3.3.3)
JDK1.7 下载地址:http://download.Oracle.com/otn/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz
Apache Maven 3.3.3 下载地址:http://apache.fayea.com/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.zip
安装 JDK
检查系统是否自带 java,如果有的话则应先将其卸载。
java -version #检查版本
rpm -qa | grep java #查看安装的 jdk 包
rpm -e java-1.7.0-openjdk -–nodeps #卸载 jdk
rpm -e java-1.6.0-openjdk -–nodeps
解压安装包
# tar zxvf jdk-7u79-linux-x64
# chmod +x -R /usr/loacl/jdk-7u79-linux #赋权限
安装 maven
# tar xf apache-maven-3.3.3-bin.tar.gz
# mv apache-maven-3.3.3 /usr/local/maven
安装 jetty
# unzip jetty-distribution-9.2.6.v20141205.zip
# mv jetty-distribution-9.2.6.v20141205 /usr/local/jetty
配置环境变量, 启动 Jetty
vim /etc/profile #在文件末尾添加如下几行
export JAVA_HOME=/java/jdk1.7.0_79 #JDK 环境配置
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
export MAVEN_HOME=/usr/local/maven#maven 环境配置
export PATH=$PATH:$MAVEN_HOME/bin
export JETTY_HOME=/usr/local/jetty#jetty 环境配置
export PATH=$PATH:$JETTY_HOME/bin
# source /etc/profile #使变量生效
[root@linuxidc opt]# mvn -v #检查 maven 版本
Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T19:57:37+08:00)
Maven home: /usr/local/maven
Java version: 1.7.0_79, vendor: Oracle Corporation
Java home: /java/jdk1.7.0_79/jre
Default locale: en_US, platform encoding: UTF-8
OS name: “linux”, version: “2.6.32-642.el6.x86_64”, arch: “amd64”, family: “unix”
Jetty 目录结构
下载 Jetty 应该是一个压缩包,只要把它解压到某个目录下就可以。解压后的目录结构及其包含的内容
目录文件名描述
license-eplv10-aslv20.html#Jetty license 文件
README.txt# 入门信息
VERSION.txt#release 信息
bin/# 运行 Jetty 的辅助 shell 脚本
demo-base/# 演示 demo
etc/#Jetty XML 配置文件目录,主要包含各个模块需要的配置文件
lib/# 运行 Jetty 需要的所有 JAR 包
logs/#log 目录
modules/# 模块定义目录,例如 server, http, https 等等模块的定义文件
notice.html#License 信息
resources/# 额外的资源信息,例如 log4j 配置
start.d/# 包含一系列全局 ini 文件,其中每个 ini 文件存储各种命令行参数
start.ini# 全局命令行参数文件,该文件包含的内容将添加到命令行参数中,也就是 java -jar start.jar [arg…] 该命令的参数
start.jar# 运行 Jetty 的 Jar 文件
webapps/#webapps 文件夹
测试并启动 jetty
[root@linuxidc ~]#cd /usr/local/jetty/bin
[root@linuxidc bin]# ./jetty.sh start
Starting Jetty: 2016-10-27 21:01:19.404:INFO::main: Logging initialized @734ms
2016-10-27 21:01:19.514: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
2016-10-27 21:01:20.125:INFO:oejs.Server:main: jetty-9.2.6.v20141205
2016-10-27 21:01:20.181:INFO:oejdp.ScanningAppProvider:main: Deployment monitor [file:/usr/local/jetty/webapps/] at interval 1
2016-10-27 21:01:21.821:INFO:oejsh.ContextHandler:main: Started o.e.j.w.WebAppContext@43655aac{/,file:/usr/local/jetty/webapps/ROOT/,AVAILABLE}{/ROOT}
2016-10-27 21:01:21.868:INFO:oejs.ServerConnector:main: Started ServerConnector@31e55839{HTTP/1.1}{0.0.0.0:8080}
2016-10-27 21:01:21.868:INFO:oejs.Server:main: Started @3198ms #启动成功
OK Thu Oct 27 21:01:22 CST 2016
Jetty 已经成功运行了,监听 8080 端口,浏览器直接访问就 Ok 了 http://localhost:8080
你可能发现了,“Error 404 – Not Found”,这是为啥呢?
因为 Jetty 默认会扫描 $JETTY_HOME/webapps 目录和部署该目录下的应用,但是目前 webapps 下面没有任何应用,所以返回 404 错误。
部署应用:
Jetty 中部署应用非常简单,只要把 war 包或包含内容的目录放到 webapps 目录下面就 ok 了。
cp -r /usr/local/jetty/demo-base/webapps/ROOT /usr/local/jetty/webapps/ #ROOT 目录下的文件为测试 jetty 的 demo 页面。
注意:webapps 下面 ROOT(大小写均可)目录部署的应用对应的 URL 为跟目录 (/) 也就是说可以直接通过 http://localhost:8080/ 访问
如图 4 所示:
或者自己写一个简单的页面
[root@linuxidc ~]# cd /usr/local/jetty/webapps/
[root@linuxidc webapps]# mkdir test
[root@linuxidc webapps]# cd test
[root@linuxidc test]# vi test.jsp
<html>
<body>
<h4>simple test</h4>
<%–echo hello world–%>
<%@page language=”java”%>
<%=”Hello World”%>
</body>
</html>
[root@linuxidc ~]# cd /usr/local/jetty/
[root@linuxidc jetty]# nohup java -jar start.jar & #拖至后台运行。
2016-10-27 21:11:20.290:INFO::main: Logging initialized @653ms
2016-10-27 21:11:20.356: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
2016-10-27 21:11:20.636:INFO:oejs.Server:main: jetty-9.2.6.v20141205
2016-10-27 21:11:20.665:INFO:oejdp.ScanningAppProvider:main: Deployment monitor [file:/usr/local/jetty/webapps/] at interval 1
2016-10-27 21:11:21.544:INFO:oejsh.ContextHandler:main: Started o.e.j.w.WebAppContext@166f10ef{/test,file:/usr/local/jetty/webapps/test/,AVAILABLE}{/test}
2016-10-27 21:11:21.571:INFO:oejs.ServerConnector:main: Started ServerConnector@3cb3600d{HTTP/1.1}{0.0.0.0:8080}
2016-10-27 21:11:21.571:INFO:oejs.Server:main: Started @1935ms
或者进去 bin 目录执行命令./jetty.sh start
如下图:
至此完成了 jetty 的部署。
Jetty 服务器的安装配置详解 http://www.linuxidc.com/Linux/2015-09/123299.htm
使用 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 的详细介绍:请点这里
Jetty 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-03/141746.htm