欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Jetty安裝學習并展示

系統 2121 0

Jetty 的基本架構

Jetty 眼下的是一個比較被看好的 Servlet 引擎,它的架構比較簡單,也是一個可擴展性和很靈活的應用server,它有一個基本數據模型,這個數據模型就是 Handler,全部能夠被擴展的組件都能夠作為一個 Handler,加入到 Server 中,Jetty 就是幫你管理這些 Handler。

下圖是 Jetty 的基本架構圖,整個 Jetty 的核心組件由 Server 和 Connector 兩個組件構成,整個 Server 組件是基于 Handler 容器工作的,它相似與 Tomcat 的 Container 容器,Jetty 與 Tomcat 的比較在后面具體介紹。Jetty 中另外一個比不可少的組件是 Connector,它負責接受client的連接請求,并將請求分配給一個處理隊列去執行。

圖 1. Jetty 的基本架構
? Jetty安裝學習并展示

開始部署安裝:

1 Jetty下載地址:
http://wiki.eclipse.org/Jetty/Howto/Install_Jetty


2 加入執行jetty賬號
useradd -m jetty
usermod -a -G nagcmd jetty

3 解壓縮(解壓縮)
解壓縮直接能夠使用,不須要configre也不須要make了。
mv jetty-distribution-7.6.15.v20140411 /usr/local/jetty

查看README.txt
cat /usr/local/jetty/README.txt
能夠看到一些RUNNING的方法:
......
RUNNING JETTY
=============
The run directory is either the top-level of a binary release
or jetty-distribution/target/assembly-prep directory when built from
source.
To run with the default options:
? java -jar start.jar
To see the available options and the default arguments
provided by the start.ini file:
? java -jar start.jar --help
To run with extra configuration file(s) appended, eg SSL
? java -jar start.jar etc/jetty-ssl.xml
To run with properties
? java -jar start.jar jetty.port=8081
To run with extra configuration file(s) prepended, eg logging & jmx
? java -jar start.jar --pre=etc/jetty-logging.xml --pre=etc/jetty-jmx.xml
To run without the args from start.ini
? java -jar start.jar --ini OPTIONS=Server,websocket etc/jetty.xml etc/jetty-deploy.xml etc/jetty-ssl.xml
to list the know OPTIONS:
? java -jar start.jar --list-options
java -jar /usr/local/jetty_7.6.15_8100/start.jar --pre=etc/jetty-logging.xml --pre=etc/jetty-jmx.xml jetty.port=8100

我須要在啟動3個jetty服務,一個服務相應一個web應用,所以直接copy3個解壓縮包
?cp -r jetty jetty_8100
?cp -r jetty jetty_8200
?cp -r jetty jetty_8300
?
4,? 分別啟動3個應用,帶上jetty.port端口:
?nohup java -jar /usr/local/jetty_7.6.15_8100/start.jar --pre=etc/jetty-logging.xml --pre=etc/jetty-jmx.xml jetty.port=8100 &
?nohup java -jar /usr/local/jetty_7.6.15_8200/start.jar --pre=etc/jetty-logging.xml --pre=etc/jetty-jmx.xml jetty.port=8200 &
?nohup java -jar /usr/local/jetty_7.6.15_8300/start.jar --pre=etc/jetty-logging.xml --pre=etc/jetty-jmx.xml jetty.port=8300 &
?
?問題在于,用這樣的方法start,卻沒有相應的辦法去stop;
?比方java -jar /usr/local/jetty_7.6.15_8200/start.jar -DSTOP.PORT=8200 -DSTOP.KEY=magic --stop 的辦法沒有能夠關閉掉jetty進程,僅僅能手工kill ID,這樣的不是太保險。
?改端口例如以下:
將<Set name="port"><Property name="jetty.port" default="8100"/></Set>中的8080改成8100

      vim /usr/local/jetty_7.6.15_8100/etc/jetty.xml

    <Call name="addConnector">

      <Arg>

          <New class="org.eclipse.jetty.server.nio.SelectChannelConnector">

            <Set name="host"><Property name="jetty.host" /></Set>

            <Set name="port"><Property name="jetty.port" default="8100"/></Set>

            <Set name="maxIdleTime">300000</Set>

            <Set name="Acceptors">2</Set>

            <Set name="statsOn">false</Set>

            <Set name="confidentialPort">8443</Set>

            <Set name="lowResourcesConnections">20000</Set>

            <Set name="lowResourcesMaxIdleTime">5000</Set>

          </New>

      </Arg>

    </Call>


    

?

?5,進入/bin/文件夾,發現有jetty.sh腳本能夠啟動
啟動start :
/usr/local/jetty_7.6.15_8100/bin/jetty.sh start
停止stop :
/usr/local/jetty_7.6.15_8100/bin/jetty.sh stop

      [root@localhost etc]# /usr/local/jetty_7.6.15_8100/bin/jetty.sh stop

Stopping Jetty: OK

[root@localhost etc]# /usr/local/jetty_7.6.15_8100/bin/jetty.sh start

Starting Jetty: 2014-05-13 15:53:05.744:INFO::Redirecting stderr/stdout to /usr/local/jetty_7.6.15_8100/logs/2014_05_13.stderrout.log

OK 2014年 05月 13日 星期二 15:53:09 CST

[root@localhost etc]# 




    


有報錯例如以下:
Starting Jetty: Already Running!!

改端口例如以下:
將<Set name="port"><Property name="jetty.port" default="8100"/></Set>中的8080改成8100

      vim /usr/local/jetty_7.6.15_8200/etc/jetty.xml

    <Call name="addConnector">

      <Arg>

          <New class="org.eclipse.jetty.server.nio.SelectChannelConnector">

            <Set name="host"><Property name="jetty.host" /></Set>

            <Set name="port"><Property name="jetty.port" default="8200"/></Set>

            <Set name="maxIdleTime">300000</Set>

            <Set name="Acceptors">2</Set>

            <Set name="statsOn">false</Set>

            <Set name="confidentialPort">8443</Set>

            <Set name="lowResourcesConnections">20000</Set>

            <Set name="lowResourcesMaxIdleTime">5000</Set>

          </New>

      </Arg>

    </Call>


    

依次改成8100,8200,8300再列出停止啟動命令例如以下:
/usr/local/jetty_7.6.15_8100/bin/jetty.sh stop
/usr/local/jetty_7.6.15_8200/bin/jetty.sh stop
/usr/local/jetty_7.6.15_8300/bin/jetty.sh stop

/usr/local/jetty_7.6.15_8300/bin/jetty.sh start
/usr/local/jetty_7.6.15_8200/bin/jetty.sh start
/usr/local/jetty_7.6.15_8100/bin/jetty.sh start

啟動了8100,再起8200還是報一樣的錯誤

Starting Jetty: Already Running!!

java -jar /usr/local/jetty_7.6.15_8300/start.jar --pre=etc/jetty-logging.xml --pre=etc/jetty-jmx.xml? --stop STOP.PORT=8300 STOP.KEY=1

nohup java -jar /usr/local/jetty_7.6.15_8100/start.jar --pre=etc/jetty-logging.xml --pre=etc/jetty-jmx.xml jetty.port=8100 &

?

6,再換java -jar方式啟動試試
nohup java -jar /usr/local/jetty_7.6.15_8200/start.jar? jetty.port=8200 &
java -jar /usr/local/jetty_7.6.15_8200/start.jar --STOP.PORT=8200 --STOP.KEY=magic --stop?
java -jar /usr/local/jetty_7.6.15_8200/start.jar -DSTOP.PORT=8200 -DSTOP.KEY=magic --stop

下述方法能啟動3個jetty,可是無法正常stop,--stop參數沒有成功,jetty進程仍然在后臺執行,僅僅能kill強行停止進程:

      nohup java -jar /usr/local/jetty_7.6.15_8100/start.jar --pre=etc/jetty-logging.xml --pre=etc/jetty-jmx.xml jetty.port=8100 &

nohup java -jar /usr/local/jetty_7.6.15_8200/start.jar --pre=etc/jetty-logging.xml --pre=etc/jetty-jmx.xml jetty.port=8200 &

nohup java -jar /usr/local/jetty_7.6.15_8300/start.jar --pre=etc/jetty-logging.xml --pre=etc/jetty-jmx.xml jetty.port=8300 &


    


7,去看看?jetty.sh腳本,check下
[root@localhost bin]# /usr/local/jetty_7.6.15_8100/bin/jetty.sh check
Checking arguments to Jetty:
JETTY_HOME???? =? /usr/local/jetty_7.6.15_8100
JETTY_CONF???? =? /usr/local/jetty_7.6.15_8100/etc/jetty.conf
JETTY_RUN????? =? /var/run
JETTY_PID????? =? /var/run/jetty.pid
JETTY_PORT???? =?
JETTY_LOGS???? =?
START_INI????? =? /usr/local/jetty_7.6.15_8100/start.ini
CONFIGS??????? =? etc/jetty-logging.xml etc/jetty-started.xml
JAVA_OPTIONS?? =? -Djetty.state=/usr/local/jetty_7.6.15_8100/jetty.state -Djetty.home=/usr/local/jetty_7.6.15_8100 -Djava.io.tmpdir=/tmp
JAVA?????????? =? /usr/java/jdk1.6.0_45/bin/java
CLASSPATH????? =? .:/usr/java/jdk1.6.0_45/lib/tools.jar:/usr/java/jdk1.6.0_45/lib/dt.jar
RUN_CMD??????? =? /usr/java/jdk1.6.0_45/bin/java -Djetty.state=/usr/local/jetty_7.6.15_8100/jetty.state -Djetty.home=/usr/local/jetty_7.6.15_8100 -Djava.io.tmpdir=/tmp -jar /usr/local/jetty_7.6.15_8100/start.jar etc/jetty-logging.xml etc/jetty-started.xml

看到JETTY_PID????? =? /var/run/jetty.pid,突然意識到,啟動8200假設也是這樣JETTY_PID????? =? /var/run/jetty.pid一個pid的話,那肯定跟8100是沖突的,難怪每次僅僅能啟動一個jetty.sh,須要去看下jetty.sh的腳本里面是在哪里設置/var/run/jetty.pid的,找到了改動下帶上后綴數字。

vim jetty.sh
在第343行 將 jetty.pid 改成 jetty_8200.pid
改成

      if [ -z "$JETTY_PID" ]

then

  JETTY_PID="$JETTY_RUN/jetty_8200.pid"

fi



if [ -z "$JETTY_STATE" ]

then

  JETTY_STATE=$JETTY_HOME/jetty.state




    


??
8,最后正常關閉啟動例如以下:

      [root@localhost bin]# pwd

/usr/local/jetty_7.6.15_8200/bin

[root@localhost bin]# /usr/local/jetty_7.6.15_8100/bin/jetty.sh stop

Stopping Jetty: OK

[root@localhost bin]# /usr/local/jetty_7.6.15_8200/bin/jetty.sh stop

Stopping Jetty: OK

[root@localhost bin]# /usr/local/jetty_7.6.15_8300/bin/jetty.sh stop

Stopping Jetty: OK

[root@localhost bin]# ps -eaf|grep jetty

root     20205 11980  0 20:28 pts/2    00:00:00 grep jetty

[root@localhost bin]# /usr/local/jetty_7.6.15_8300/bin/jetty.sh start

Starting Jetty: 2014-05-13 20:28:32.146:INFO::Redirecting stderr/stdout to /usr/local/jetty_7.6.15_8300/logs/2014_05_13.stderrout.log

OK 2014年 05月 13日 星期二 20:28:33 CST

[root@localhost bin]# /usr/local/jetty_7.6.15_8200/bin/jetty.sh start

Starting Jetty: 2014-05-13 20:28:34.416:INFO::Redirecting stderr/stdout to /usr/local/jetty_7.6.15_8200/logs/2014_05_13.stderrout.log

OK 2014年 05月 13日 星期二 20:28:37 CST

[root@localhost bin]# /usr/local/jetty_7.6.15_8100/bin/jetty.sh start

Starting Jetty: 2014-05-13 20:28:38.527:INFO::Redirecting stderr/stdout to /usr/local/jetty_7.6.15_8100/logs/2014_05_13.stderrout.log

OK 2014年 05月 13日 星期二 20:28:41 CST

[root@localhost bin]# 


    


9,打開 http://192.xxx.xxx.xx:8100/cargo-jetty-deployer/ 報錯例如以下

HTTP ERROR 400

Problem accessing /cargo-jetty-deployer/. Reason:

??? Command / is unknown
Powered by Jetty://

?

10,部署一個簡單的jetty應用:
[root@localhost webapps]# mkdir test1
[root@localhost webapps]# ll
總計 27100
-rw-r--r-- 1 root root??? 10220 05-13 20:44 cargo-jetty-7-and-onwards-deployer-1.4.8.war
-rw-r--r-- 1 root root 26839664 05-14 15:22 imClient.war
drwxr-xr-x 3 root root???? 4096 03-31 22:05 META-INF
-rw-r--r-- 1 root root??? 14578 05-13 15:20 spdy.war
drwxr-xr-x 2 root root???? 4096 05-14 16:05 test1
-rw-r--r-- 1 root root?? 763052 05-13 15:20 test.war
-rw-r--r-- 1 root root??? 60014 05-14 13:31 webim_server.jar
drwxr-xr-x 3 root root???? 4096 03-31 22:05 WEB-INF
[root@localhost webapps]#

[root@localhost test1]# cd test1
[root@localhost test1]# vim hello.jsp
<html>
<body>
<h4>simple demo test</h4>
<%--echo hello world--%>
< %@page language="java"%>
<%="Hello World,The first jetty demo page of timman in pl"%>
</body>
</html>

又一次啟動jetty
[root@localhost test1]# /usr/local/jetty_7.6.15_8100/bin/jetty.sh restart
Stopping Jetty: OK
Starting Jetty: 2014-05-14 16:08:25.445:INFO::Redirecting stderr/stdout to /usr/local/jetty_7.6.15_8100/logs/2014_05_14.stderrout.log
. . . OK 2014年 05月 14日 星期三 16:08:38 CST
[root@localhost test1]#


11,查看效果顯示:在瀏覽器里面輸入網址: http://192.xxx.xxx.xx:8100/test1/hello.jsp
會在頁面顯演示樣例如以下:
simple demo test

Hello World,The first jetty demo page of timman in pl,例如以下圖:

Jetty安裝學習并展示

?

附加總結:

(1):單純比較 Tomcat 與 Jetty 的性能意義不是很大,僅僅能說在某種使用場景下,它表現的各有差異。由于它們面向的使用場景不盡同樣。

從架構上來看 Tomcat 在處理少數很繁忙的連接上更有優勢,也就是說連接的生命周期假設短的話,Tomcat 的整體性能更高。
而 Jetty 剛好相反,Jetty 能夠同一時候處理大量連接并且能夠長時間保持這些連接。比如像一些 web 聊天應用很適合用 Jetty 做server,像淘寶的 web 旺旺就是用 Jetty 作為 Servlet 引擎。

(2)另外由于 Jetty 的架構很easy,作為server它能夠按需載入組件,這樣不須要的組件能夠去掉,這樣無形能夠降低server本身的內存開銷,處理一次請求也是能夠降低產生的暫時對象,這樣性能也會提高。另外 Jetty 默認使用的是 NIO 技術在處理 I/O 請求上更占優勢,Tomcat 默認使用的是 BIO,在處理靜態資源時,Tomcat 的性能不如 Jetty。

?

參考網址: http://www.ibm.com/developerworks/cn/java/j-lo-jetty/

Jetty安裝學習并展示


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 91高清视频在线免费观看 | 九九99久久精品在免费线bt | 黄色av毛片 | 亚洲欧美一区二区三区 | 国产精品久久福利新婚之夜 | 亚洲综合欧美日韩 | 国产精品怕怕怕视频免费 | 狠狠色噜噜狠狠狠狠2018 | 午夜不卡电影 | 91在线视频播放 | 亚洲欧美日韩精品久久亚洲区色播 | 亚洲精品视频在线 | 亚洲一区二区三区中文字幕 | www.精品 | 日本中文在线 | 国产精品九九久久一区hh | 丁香婷婷六月综合交清 | 亚洲日本中文字幕在线2022 | 欧美性黑人极品 hd 无码一区二区三区曰本A片 | 亚洲综合日韩 | 一个色综合亚洲伊人久久 | 精品免费福利视频 | 久久免费福利 | 国产欧美日韩在线不卡第一页 | 中文字幕免费在线观看 | 午夜国产| 2017av伦理片 | 好爽好大www视频在线播放 | 青草草在线观看免费视频 | 午夜私人影院粉色视频我要 | 亚洲精品福利一区二区三区 | 免费欧美黄色网址 | www国产| 亚洲97| 亚洲精品国产自在久久出水 | 欧美黄 片免费观看 | 久久精品在线 | 99pao成人国产永久免费视频 | 亚欧乱色一区二区三区 | 欧美黄视频网站 | 日本久久综合视频 |