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
jetty伺服器啟動後,更換war包,web頁面處在快取狀態,不更新,切換到etc/ 目錄下找到webDefault.xml下
將這項: 改為false
<init-param>
<param-name>useFileMappedBuffer</param-name>
<param-value>false</param-value>
</init-param>