开发人员学Linux(3):CentOS7中安装JDK8和Tomcat8
題外話:直到今天開始寫本系列的第三篇時(shí)本人才想好為這個(gè)系列取一個(gè)名字,本系列不是為L(zhǎng)inux運(yùn)維人員準(zhǔn)備的,而是主要為開發(fā)人員準(zhǔn)備的,包括但不限于:
希望了解Linux的開發(fā)人員;
需要在Linux上部署一些組件的開發(fā)人員,如Memcached/Nginx/Redis等;
需要使用一些在Linux上部署運(yùn)行效果可能會(huì)更好的效果的系統(tǒng),如Jetkins、SVN、JavaMelody等。
希望了解一些當(dāng)前較熱的技術(shù),想在虛擬機(jī)里搭建個(gè)環(huán)境把玩一番的,如.Net Core/Hadoop等。
因此在本系列文章中不會(huì)去講Linux及各個(gè)分支的歷史,也不會(huì)去講Linux與Windows相比的優(yōu)缺點(diǎn),更不會(huì)講Linux Shell如何編程,涉及到這些知識(shí)也會(huì)較快帶過,本系列文章主要是講如何在虛擬機(jī)快速搭建起一個(gè)可運(yùn)行和觀察效果的環(huán)境。
書接前兩回,前面已經(jīng)講了如何安裝配置免費(fèi)開源的虛擬機(jī)軟件VirtualBox以及如何在VirtualBox中安裝并配置CentOS7。在本篇將講述如何在CentOS7中安裝JDK和Tomcat,為今后的需要,本篇將介紹如何安裝Oracle JDK8和Tomcat8。
軟件準(zhǔn)備
本篇采用tar.gz安裝,當(dāng)然也可以采用rpm方式安裝或yum方式安裝,至于后兩種安裝方式感興趣的請(qǐng)自行查閱相關(guān)文章。
JDK文件:jdk-8u131-linux-x64.tar.gz
官方下載地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Tomcat文件:apache-tomcat-8.5.15.tar.gz
官方下載地址:http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.15/bin/apache-tomcat-8.5.15.tar.gz
或:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
注意:因?yàn)樵谇皟善恼轮卸际且訡entOS7 x64來介紹的,所以這里下載的壓縮包也都是x64的。
安裝Oracle JDK
卸載OpenJDK
采用前面的方式安裝CentOS7時(shí),默認(rèn)安裝了OpenJDK1.8的,OpenJDK其實(shí)就是也是在Java規(guī)范上的另一種實(shí)現(xiàn),就如同Mono也是按照微軟的.NET規(guī)范實(shí)現(xiàn)的一樣,在一個(gè)平臺(tái)上編譯后的文件可以直接在另一個(gè)平臺(tái)上運(yùn)行,反正幾年前我就干過在Windows上用Microsoft Visual Studio編寫ASP.NET程序然后放在Linux系統(tǒng)上借助Apache+Mono+xsp運(yùn)行。
因?yàn)楹竺孢€有更多內(nèi)容依賴于Java,所以這里就卸載OpenJDK而安裝Oracle JDK了。
檢查當(dāng)前系統(tǒng)是否安裝JDK,運(yùn)行命令:
rpm -qa | grep jdk
得到結(jié)果如下:
java-1.8.0-openjdk-headless-1.8.0.131-2.b11.el7_3.x86_64
java-1.8.0-openjdk-1.8.0.131-2.b11.el7_3.x86_64
copy-jdk-configs-1.2-1.el7.noarch
卸載OpenJDK,運(yùn)行命令:
此時(shí)如果再運(yùn)行rpm -qa | grep jdk就會(huì)看到j(luò)ava-1.8.0-openjdk-1.8.0.131-2.b11.el7_3.x86_64被卸載了。
安裝Oracle JDK
按照本文提供的地址將jdk-8u131-linux-x64.tar.gz下載到宿主機(jī),然后借助SSH客戶端軟件SSHSecureShellClient上傳到/root目錄。
解壓文件:
解壓后會(huì)在/root目錄下多出一個(gè)jdk1.8.0_131文件夾來,然后通過下面的命令將其移動(dòng)到/usr/local目錄下:
注意:/usr/local/ jdk1.8.0_131這個(gè)目錄在設(shè)置JDK環(huán)境變量時(shí)會(huì)用到。
下面就需要配置環(huán)境變量了,告訴系統(tǒng)Java的相關(guān)信息,如安裝路徑、類庫路徑等。這里有兩種配置方式:一種是為指定用戶配置,一種是為所有用戶配置,如果只為某個(gè)用戶配置那么只需在該用戶目錄下的.bashrc文件中設(shè)置即可,如果需要給所有用戶設(shè)置,那么就需要在/etc/profile中設(shè)置,這里以全局設(shè)置為例,打開/etc/profile文件在最后添加如下內(nèi)容:
然后使配置生效,執(zhí)行如下命令:
現(xiàn)在可以檢查Java環(huán)境變量是否配置正確了,通過java –version命令,在本人機(jī)器上得到如下輸出:
[root@localhost ~]# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
至此,Oracle JDK已正確安裝。
安裝Tomcat8
按照本文提供的地址將apache-tomcat-8.5.15.tar.gz下載至本地宿主機(jī)(注:也可在能訪問互聯(lián)網(wǎng)的虛擬機(jī)上直接用wget下載到虛擬機(jī)上),然后借助SSH客戶端軟件SSHSecureShellClient上傳到/root目錄。
解壓文件:
解壓后會(huì)在/root目錄下多出一個(gè)apache-tomcat-8.5.15文件夾來,然后通過下面的命令將其移動(dòng)到/usr/local目錄下:
注意:/usr/local/ apache-tomcat-8.5.15這個(gè)目錄在設(shè)置Tomcat環(huán)境變量時(shí)會(huì)用到。當(dāng)然,也可以不設(shè)置Tomcat相關(guān)的環(huán)境變量,使用相關(guān)腳本對(duì)Tomcat進(jìn)行操作時(shí)會(huì)自動(dòng)檢測(cè)這些環(huán)境變量。
至此,Tomcat已經(jīng)安裝完成。
通過如下命令啟動(dòng)Tomcat:
如果要關(guān)閉Tomcat也很簡(jiǎn)單,執(zhí)行如下命令:
注意:使用/usr/local/ apache-tomcat-8.5.15/bin/catalina.sh加上參數(shù)也可以啟動(dòng)或者停止Tomcat,如 /usr/local/ apache-tomcat-8.5.15/bin/catalina.sh start來啟動(dòng)Tomcat,/usr/local/ apache-tomcat-8.5.15/bin/catalina.sh stop來停止Tomcat,除此之外還可以使用debug/run/configtest/version參數(shù),不過沒有restart參數(shù)來重啟Tomcat。
可以在虛擬機(jī)打開http://localhost:8080觀看那個(gè)屬性的Tomcat起始頁了,在宿主機(jī)中則要以虛擬機(jī)的IP地址來訪問了(前提是虛擬機(jī)至少有一個(gè)網(wǎng)卡是橋接模式),在本人機(jī)器上虛擬機(jī)有個(gè)網(wǎng)卡是橋接的,IP地址為:192.168.60.198,與宿主機(jī)在一個(gè)網(wǎng)段,因此可以以http://192.168.60.198:8080來查看了,如下圖所示:
注意:如果可以通過ssh連接虛擬機(jī)但不能打開http://192.168.60.198:8080,那么很有可能是防火墻問題,執(zhí)行如下命令關(guān)閉防火墻:
重啟后即可訪問。
在CentOS7為Tomcat添加服務(wù)(使用systemctl來操作Tomcat)
為了能讓Tomcat能夠隨CentOS7啟動(dòng),其實(shí)就是能夠通過systemctl start/stop/restart來控制Tomcat。在網(wǎng)上有不少在CentOS7以前版本中的例子,都是通過在/etc/rc.d/init.d或/etc/init.d目錄中添加腳本來實(shí)現(xiàn)的,在CentOS7中提供了另外一種方式,使用systemctl來替代了service,具體就是在/usr/lib/systemd/system或/etc/systemd/system/目錄添加控制命令。
Systemctl用法
注意:在實(shí)際操作中,上述命令中A.service可簡(jiǎn)化為A,如systemctl enable A.service可簡(jiǎn)化為systemctl enable A。
給Tomcat增加啟動(dòng)參數(shù)
前面的講述了如何安裝Oracle JDK8和Tomcat8.5,并展示了使用Tomcat安裝位置下的bin目錄中的startup.sh/stop.sh或catalina.sh start/catalina.sh stop來啟動(dòng)或者關(guān)閉Tomcat。但在實(shí)際開發(fā)中我們還是希望Tomcat能夠在系統(tǒng)啟動(dòng)的時(shí)候自動(dòng)啟動(dòng),而不是手工通過命令行來啟動(dòng),下面就講述如何將Tomcat添加到CentOS7的啟動(dòng)服務(wù)中。
首先我們記住以下三點(diǎn):
1.Oracle JDK8安裝目錄:/usr/local/jdk1.8.0_131
2.Tomcat8安裝目錄:/usr/local/apache-tomcat-8.5.15
3.并且在/etc/profile中配置了Java相關(guān)的環(huán)境變量:
首先需要在Tomcat的安裝目錄下的bin目錄下增加setenv.sh文件,可以通過vim /usr/local/ apache-tomcat-8.5.15/bin/setenv.sh來創(chuàng)建文件,并將如下內(nèi)容粘貼進(jìn)去后保存:
也就是設(shè)置JAVA_HOME /JRE_HOME/CATALINA_HOME/CATALINA_BASE/CATALINA_PID五個(gè)環(huán)境變量。
注意:
1.剛剛建立的setenv.sh文件會(huì)在通過執(zhí)行catalina.sh來啟動(dòng)Tomcat時(shí)被自動(dòng)調(diào)用。
2.之前學(xué)習(xí)時(shí)在網(wǎng)上看到有不少文章提到僅設(shè)置CATALINA_HOME/CATALINA_BASE/CATALINA_PID三個(gè)環(huán)境變量的,本人一直沒成功,通過systemctl status命令查看說是缺少JAVA_HOME /JRE_HOME配置信息,配置JAVA_HOME /JRE_HOME之后就可以成功啟動(dòng)。前面也說了,本人在/etc/profile中也配置了JAVA_HOME /JRE_HOME的。
3.另外因?yàn)榕渲昧藅omcat.pid文件,所以在啟動(dòng)Tomcat時(shí)會(huì)在Tomcat根目錄自動(dòng)生成tomcat.pid文件,停止Tomcat之后tomcat.pid文件會(huì)自動(dòng)被刪除。使用tomcat.pid可以做到防止多次執(zhí)行catalina.sh或startup.sh啟動(dòng)Tomcat時(shí)會(huì)啟動(dòng)多個(gè)實(shí)例的情形。
創(chuàng)建tomcat.service文件
接著增加tomcat.service文件,可以通過/usr/lib/systemd/system/tomcat.service來創(chuàng)建文件并下以下內(nèi)容粘貼進(jìn)去,然后保存:
然后可以執(zhí)行如下命令來檢驗(yàn)是否配置正確:
systemctl enable tomcat.service:設(shè)置tomcat這個(gè)service隨系統(tǒng)一起啟動(dòng)
systemctl disable tomcat.service:禁止tomcat這個(gè)service隨系統(tǒng)一起啟動(dòng)
systemctl start tomcat.service:啟動(dòng)tomcat這個(gè)service
systemctl stop tomcat.service:停止tomcat這個(gè)service
systemctl restart tomcat.service:重新啟動(dòng)tomcat這個(gè)service
tomcat.service文件結(jié)構(gòu)說明
上面講述的tomcat.service文件包含[unit]、[service]、[install]三部分,其中:
[unit]配置了tomcat服務(wù)的描述和啟動(dòng)順序,在本實(shí)例中規(guī)定了在network啟動(dòng)之后執(zhí)行
[service]配置tomcat服務(wù)的pid,服務(wù)的啟動(dòng),停止,重啟命令
[install]配置了tomcat運(yùn)行時(shí)的使用用
聲明:本文首發(fā)于本人個(gè)人微信訂閱號(hào):zhoujinqiaoIT,其后會(huì)同時(shí)在本人的CSDN、51CTO及oschina三處博客發(fā)布,本人會(huì)負(fù)責(zé)在此四處答疑。
總結(jié)
以上是生活随笔為你收集整理的开发人员学Linux(3):CentOS7中安装JDK8和Tomcat8的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jQuery判断checkbox是否选中
- 下一篇: Linux下使用Vi是方向键变乱码 退格