centos7 安裝部署jdk環境及tomcat

環境:centos7 mini

1、centos7 安裝jdk:
oracle官方下載jdk:

下載對應rpm包:
rpm -ivh jdk-8u65-linux-x64.rpm



注:假若需要安裝openjdk直接yum install java即可。不過建議安裝jdk,openjdk有時候由於標準不一樣會出現一些小問題(當然一般情況下碰不到)
下述爲jdk與openjdk區別:
關於JDK和OpenJDK的區別,可以歸納爲以下幾點: 
授權協議的不同: 
openjdk採用GPL V2協議放出,而JDK則採用JRL放出。兩者協議雖然都是開放源代碼的,但是在使用上的不同在於GPL V2允許在商業上使用,而JRL只允許個人研究使用。 
OpenJDK不包含Deployment(部署)功能: 
部署的功能包括:Browser Plugin、Java Web Start、以及Java控制面板,這些功能在Openjdk中是找不到的。 
OpenJDK源代碼不完整: 
這個很容易想到,在採用GPL協議的Openjdk中,sun jdk的一部分源代碼因爲產權的問題無法開放openjdk使用,其中最主要的部份就是JMX中的可選元件SNMP部份的代碼。因此這些不能開放的源代碼將它作成plug,以供OpenJDK編譯時使用,你也可以選擇不要使用plug。而Icedtea則爲這些不完整的部分開發了相同功能的源代碼(OpenJDK6),促使OpenJDK更加完整。 
部分源代碼用開源代碼替換: 
由於產權的問題,很多產權不是SUN的源代碼被替換成一些功能相同的開源代碼,比如說字體柵格化引擎,使用Free Type代替。 
openjdk只包含最精簡的JDK: 
OpenJDK不包含其他的軟件包,比如Rhino Java DB JAXP……,並且可以分離的軟件包也都是儘量的分離,但是這大多數都是自由軟件,你可以自己下載加入。 
不能使用Java商標: 
這個很容易理解,在安裝openjdk的機器上,輸入“java -version”顯示的是openjdk,但是如果是使用Icedtea補丁的openjdk,顯示的是java。(未驗證) 
總之,在Java體系中,還是有很多不自由的成分,源代碼的開發不夠徹底,希望Oracle能夠讓JCP更自由開放一些,這也是所有Java社區所希望的。

2、下載安裝配置tomcat:

解壓tomcat : unzip apache-tomcat-8.0.30.zip

運行tomcat:



tomcat部署成功,訪問頁面正常。

修改tomcat 8080端口爲80:



3、部署Web到tomcat(使用第三種方式):
首先將war包,拷貝到linux系統下面(如何獲取war包,請參考文章最後:eclipse maven工程獲取war包)。

conf/Catalina/localhost創建xml,文件名則是訪問路徑名!!!


再重新運行tomcat:

部署成功。
補充:部署Web到tomcat的四種方式:
一、靜態部署

1、直接將web項目文件件拷貝到webapps 目錄中
     TomcatWebapps目錄是Tomcat默認的應用目錄,當服務器啓動時,會加載所有這個目錄下的應用。所以可以將JSP程序打包成一個 war包放在目錄下,服務器會自動解開這個war包,並在這個目錄下生成一個同名的文件夾。一個war包就是有特性格式的jar包,它是將一個web程序的所有內容進行壓縮得到。具體如何打包,可以使用許多開發工具的IDE環境,如Eclipse等。也可以用 cmd 命令:jar -cvf mywar.war  myweb 
     webapps
這個默認的應用目錄也是可以改變。打開Tomcatconf目錄下的server.xml文件,找到下面內容:

<Host name="localhost" appBase="webapps"

       unpackWARs="true" autoDeploy="true"

       xmlValidation="false" xmlNamespaceAware="false">

appBase修改即可。 
2、在server.xml中指定 
    Tomcat的配置文件中,一個Web應用就是一個特定的Context,可以通過在server.xml中新建Context裏部署一個JSP應用程序。打開server.xml文件,在Host標籤內建一個Context,內容如下。

tomcat中的conf目錄中,在server.xml中的,<host/>節點中添加: 
<Context path="/hello" docBase="D:\ workspace\hello\WebRoot" debug="0" privileged
="true"> 
</Context>

或者

<Context path="/myapp" reloadable="true" docBase="D:\myapp" workDir="D:\myapp\work"/>

或者

<Context path="/sms4" docBase="D:\workspace\sms4\WebRoot"/>


說明:

path是虛擬路徑;

docBase 是應用程序的物理路徑;

workDir 是這個應用的工作目錄,存放運行時生成的與這個應用相關的文件;

 

debug 則是設定debug level,  0表示提供最少的信息,9表示提供最多的信息

privileged設置爲true的時候,才允許TomcatWeb應用使用容器內的Servlet

reloadable 如果爲true,則tomcat會自動檢測應用程序的/WEB-INF/lib /WEB-INF/classes目錄的變化,自動裝載新的應用程序,可以在不重起tomcat的情況下改變應用程序,實現熱部署

antiResourceLockingantiJARLocking  熱部署是需要配置的參數,默認false避免更新了某個webapp,有時候Tomcat並不能把舊的webapp完全刪除,通常會留下WEB-INF/lib下的某個jar包,必須關閉Tomcat才能刪除,這就導致自動部署失敗。設置爲trueTomcat在運行對應的webapp時,會把相應的源文件和jar文件複製到一個臨時目錄裏。
3、創建一個Context文件 
  conf目錄中,新建 Catalinalocalhost目錄,在該目錄中新建一個xml文件,名字不可以隨意取,要和path後的那個名字一致,按照下邊這個path的配置,xml的名字應該就應該是hellohello.xml),該xml文件的內容爲:

<Context path="/hello" docBase="E:\workspace\hello\WebRoot" debug="0" privileged="true"></Context>

 

tomcat自帶例子如下:

<Context docBase="${catalina.home}/server/webapps/host-manager"

         privileged="true" antiResourceLocking="false" antiJARLocking="false">

</Context>

這個例子是tomcat自帶的,編輯的內容實際上和第二種方式是一樣的,其中這xml文件名字就是訪問路徑,這樣可以隱藏應用的真實名字。

注意:

    刪除一個Web應用同時也要刪除webapps下相應的文件夾和server.xml中相應的Context,還要將Tomcatconf\catalina\localhost目錄下相應的xml文件刪除,否則Tomcat仍會去配置並加載。。。

4、動態部署

     登陸tomcat管理控制檯:http://localhost:8080/,輸入用戶名和密碼後便可管理應用並動態發佈。

     Context Path(option):中輸入/yourwebname ,這代表你的應用的訪問地址。

     XML Configration file URL中要指定一個xml文件,比如我們在F:\下建立一個hmcx.xml文件,內容如下: <Context reloadable="false" />其中docBase不用寫了,因爲在下一個文本框中填入。或者更簡單點,這個文本框什麼都不填,在WAR or Directory URL:中鍵入F:\hmcx即可,然後點擊Deploy按鈕,上面就可以看到了web應用程序,名字就Context Path(option):中的名字。


    如果部署.war文件還有更加簡單的方式,下面還有個Select WAR file uploae點擊瀏覽選擇.war文件,然後點擊Deploy也可以。


補充:eclipse maven工程獲取war包:




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章