1. 程式人生 > >linux上jetty的簡單使用

linux上jetty的簡單使用

1 .jetty的安裝

直接從官網上面下載,進行解壓,需要注意的是不同版本對jdk的支援和對jsp檔案編譯的支援

官網:http://wiki.eclipse.org/Jetty/Starting/Downloads

jetty不同版本對jdk,jsp的支援:

jetty8xx  要求jdk 1.6,jetty9.2 要求jdk 1.7,jetty9.3要求 jdk1.8

jetty 編譯jsp的支援 : 從Jetty-9.2開始,使用Apache Jasper作為預設JSP容器實現。在前面的版本中使用的是Glassfish Jasper,在後面的版本中也可以繼續使用它。如果是9.2之前的版本,就需要設定Glassfish Jasper 支援jsp

2.jetty的使用

jetty通常和maven一起使用,下次接觸到再進行補充,解壓的目錄結構,看起來和tomcat相似

目錄結構:

                 etc     jetty配置檔案目錄
                 lib       包含jetty所需的jar檔案
                modules      子模組
                start.jar      jetty啟動程式
                 webapps    應用路徑,釋出的引用基本都放這裡

               start.ini       

jetty的虛擬路徑配置和埠的修改

修改jetty的埠 ;編輯start.ini   如下,找到這行,修改埠號

## HTTP port to listen on
jetty.port=8081

jetty虛擬路徑配置:

jetty9版本 在webapps下面建立一個xml檔案

<?xml version="1.0"  encoding="UTF-8"?>  
<!DOCTYPE Configure PUBLIC   
	"-//Mort Bay Consulting//DTD Configure//EN"   
	"http://www.eclipse.org/jetty/configure_9_0.dtd">  
   
<Configure class="org.eclipse.jetty.server.handler.ContextHandler">  
	<Set name="contextPath">/mfo</Set>  
	<Set name="handler">  
	<New class="org.eclipse.jetty.server.handler.ResourceHandler">  
	<Set name="resourceBase">/home/aip_online/jetty/webproject</Set>  
	<Set name="directoriesListed">true</Set>  
	</New>  
	</Set>  
</Configure>  

這樣通過/mfo可以訪問resourceBase對應的目錄中的內容

補充說明:jar包啟動的方式

1. java -jar  xxx.jar 的方式

特點:當前ssh視窗被鎖定,可按CTRL + C打斷程式執行,或直接關閉視窗,程式退出

2. java -jar xxx.jar & 的方式

&表示後臺啟動,但是當前ssh視窗不被鎖定,當視窗關閉時,程式中止執行

3.nohup java -jar xxx.jar &

nohup表示不掛斷執行命令,當賬戶退出或者終端關閉,仍然執行,

並且預設情況下,輸出到jar目錄下的nohup.out的檔案中,改檔案自動建立

4. nohup java -jar xxx.jar >temp.txt &

將預設輸出重定向到temp.txt檔案中

命令:>out.file是將command的輸出重定向到out.file檔案,即輸出內容不列印到螢幕上,而是輸出到out.file檔案中。


jobs 命令

檢視後臺執行的任務,並且每個任務前有個編號


如果想要將任務調回前臺控制,使用fg + 編號即可

補充:檢視埠號和服務的pid

檢視所有啟動的埠號:

netstat -tulp

ps -ef|grep 埠號/應用程式 可以檢視pid,啟動命令等資訊


這樣根據pid可以殺程序

kill pid 一般就能殺程序了

強制殺程序,處理上面指令無法停止的程序  kill -9 pid

jett的基本操作指令

後臺啟動: nohup java -jar start.jar &

jetty 設定get請求 編碼方式:  在啟動指令碼上加上  -Dorg.mortbay.util.URI.charset=utf-8 ,這樣後臺啟動方式

設定為: nohup java -Dorg.mortbay.util.URI.charset=utf-8 -jar start.jar  &

建議Unix環境下使用的後臺啟動方式:  

啟動:   ./bin/jetty.sh start 

停止:   ./bin/jetty.sh stop

重啟:   jetty.sh restart

關閉  kill -9  pid

日誌 tail -f nohup.out

jetty伺服器啟動後,更換war包,web頁面處在快取狀態,不更新,切換到etc/ 目錄下找到webDefault.xml下

將這項: 改為false

 <init-param>
      <param-name>useFileMappedBuffer</param-name>
      <param-value>false</param-value>
    </init-param>