天天看點

Jetty9安裝部署

Jetty簡介

Jetty是一個開源的servlet容器,它為基于Java的web内容,例如JSP和servlet提供運作環境。Jetty是使用Java語言編寫的,它的API以一組JAR包的形式釋出。開發人員可以将Jetty容器執行個體化成一個對象,可以迅速為一些獨立運作(stand-alone)的Java應用提供網絡和web連接配接。

下載下傳Jetty 9。

(下載下傳JDK1.7,Apache Maven 3.3.3)

安裝JDK

檢查系統是否自帶java,如果有的話則應先将其解除安裝。

<code>java -version  </code><code>#檢查版本</code>

<code>rpm -qa | </code><code>grep</code> <code>java  </code><code>#檢視安裝的jdk包</code>

<code>rpm -e  java-1.7.0-openjdk -–nodeps </code><code>#解除安裝jdk</code>

<code>rpm -e  java-1.6.0-openjdk -–nodeps</code>

解壓安裝包

<code># tar zxvf jdk-7u79-linux-x64</code>

<code># chmod +x -R /usr/loacl/jdk-7u79-linux  #賦權限</code>

安裝maven

<code># tar xf apache-maven-3.3.3-bin.tar.gz</code>

<code># mv apache-maven-3.3.3  /usr/local/maven</code>

安裝jetty

<code># unzip jetty-distribution-9.2.6.v20141205.zip</code>

<code># mv jetty-distribution-9.2.6.v20141205 /usr/local/jetty</code>

配置環境變量,啟動Jetty

vim /etc/profile  #在檔案末尾添加如下幾行

<code>export</code> <code>JAVA_HOME=</code><code>/java/jdk1</code><code>.7.0_79    </code><code>#JDK環境配置</code>

<code>export</code> <code>CLASSPATH=.:$JAVA_HOME</code><code>/jre/lib/rt</code><code>.jar:$JAVA_HOME</code><code>/lib/dt</code><code>.jar:$JAVA_HOME</code><code>/lib/tools</code><code>.jar</code>

<code>export</code> <code>PATH=$PATH:$JAVA_HOME</code><code>/bin</code>

<code>export</code> <code>MAVEN_HOME=</code><code>/usr/local/maven</code><code>#maven環境配置</code>

<code>export</code> <code>PATH=$PATH:$MAVEN_HOME</code><code>/bin</code>

<code>export</code> <code>JETTY_HOME=</code><code>/usr/local/jetty</code><code>#jetty環境配置</code>

<code>export</code> <code>PATH=$PATH:$JETTY_HOME</code><code>/bin</code>

# source /etc/profile #使變量生效

<code>[root@ljohn opt]</code><code># mvn -v    #檢查maven版本</code>

<code>Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T19:57:37+08:00)</code>

<code>Maven home: </code><code>/usr/local/maven</code>

<code>Java version: 1.7.0_79, vendor: Oracle Corporation</code>

<code>Java home: </code><code>/java/jdk1</code><code>.7.0_79</code><code>/jre</code>

<code>Default locale: en_US, platform encoding: UTF-8</code>

<code>OS name: </code><code>"linux"</code><code>, version: </code><code>"2.6.32-642.el6.x86_64"</code><code>, arch: </code><code>"amd64"</code><code>, family: </code><code>"unix"</code>

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

<code>[root@ljohn ~]</code><code>#cd /usr/local/jetty/bin</code>

<code>[root@ljohn bin]</code><code># ./jetty.sh start </code>

<code>Starting Jetty: 2016-10-27 21:01:19.404:INFO::main: Logging initialized @734ms</code>

<code>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:</code><code>//www</code><code>.eclipse.org</code><code>/jetty/documentation/current/startup</code><code>.html</code>

<code>2016-10-27 21:01:20.125:INFO:oejs.Server:main: jetty-9.2.6.v20141205</code>

<code>2016-10-27 21:01:20.181:INFO:oejdp.ScanningAppProvider:main: Deployment monitor [</code><code>file</code><code>:</code><code>/usr/local/jetty/webapps/</code><code>] at interval 1</code>

<code>2016-10-27 21:01:21.821:INFO:oejsh.ContextHandler:main: Started o.e.j.w.WebAppContext@43655aac{/,</code><code>file</code><code>:</code><code>/usr/local/jetty/webapps/ROOT/</code><code>,AVAILABLE}{</code><code>/ROOT</code><code>}</code>

<code>2016-10-27 21:01:21.868:INFO:oejs.ServerConnector:main: Started ServerConnector@31e55839{HTTP</code><code>/1</code><code>.1}{0.0.0.0:8080}</code>

<code>2016-10-27 21:01:21.868:INFO:oejs.Server:main: Started @3198ms </code><code>#啟動成功</code>

<code>OK Thu Oct 27 21:01:22 CST 2016</code>

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所示:

<a href="https://s2.51cto.com/wyfs02/M00/8E/5D/wKiom1i-eIKiLhw7AAQfWy-o09I601.png" target="_blank"></a>

或者自己寫一個簡單的頁面

<code>[root@ljohn ~]</code><code># cd /usr/local/jetty/webapps/</code>

<code>[root@ljohn webapps]</code><code># mkdir test</code>

<code>[root@ljohn webapps]</code><code># cd test</code>

<code>[root@ljohn </code><code>test</code><code>]</code><code># vi test.jsp</code>

<code>&lt;html&gt;</code>

<code>&lt;body&gt;</code>

<code>&lt;h4&gt;simple </code><code>test</code><code>&lt;</code><code>/h4</code><code>&gt;</code>

<code>&lt;%--</code><code>echo</code> <code>hello world--%&gt;</code>

<code>&lt;%@page language=</code><code>"java"</code><code>%&gt;</code>

<code>&lt;%=</code><code>"Hello World"</code><code>%&gt;</code>

<code>&lt;</code><code>/body</code><code>&gt;</code>

<code>&lt;</code><code>/html</code><code>&gt;</code>

<code>[root@ljohn ~]</code><code># cd /usr/local/jetty/</code>

<code>[root@ljohn jetty]</code><code># nohup java -jar start.jar &amp; #拖至背景運作。</code>

<code>2016-10-27 21:11:20.290:INFO::main: Logging initialized @653ms</code>

<code>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:</code><code>//www</code><code>.eclipse.org</code><code>/jetty/documentation/current/startup</code><code>.html</code>

<code>2016-10-27 21:11:20.636:INFO:oejs.Server:main: jetty-9.2.6.v20141205</code>

<code>2016-10-27 21:11:20.665:INFO:oejdp.ScanningAppProvider:main: Deployment monitor [</code><code>file</code><code>:</code><code>/usr/local/jetty/webapps/</code><code>] at interval 1</code>

<code>2016-10-27 21:11:21.544:INFO:oejsh.ContextHandler:main: Started o.e.j.w.WebAppContext@166f10ef{</code><code>/test</code><code>,</code><code>file</code><code>:</code><code>/usr/local/jetty/webapps/test/</code><code>,AVAILABLE}{</code><code>/test</code><code>}</code>

<code>2016-10-27 21:11:21.571:INFO:oejs.ServerConnector:main: Started ServerConnector@3cb3600d{HTTP</code><code>/1</code><code>.1}{0.0.0.0:8080}</code>

<code>2016-10-27 21:11:21.571:INFO:oejs.Server:main: Started @1935ms</code>

或者進去bin目錄執行指令./jetty.sh start

如下圖:

<a href="https://s5.51cto.com/wyfs02/M02/8E/5B/wKioL1i-eIDhBg-7AAB91cZmiug605.png" target="_blank"></a>

至此完成了jetty的部署。期待下期jetty容器的配置

本文轉自 ljohnmail 51CTO部落格,原文連結:http://blog.51cto.com/ljohn/1904027,如需轉載請自行聯系原作者