開發與維運

阿里雲CentOs7下安裝JDK、Tomcat詳細步驟教程

一、引言:

初學java的時候會充滿各種疑惑,對java的體系及其使用的不瞭解,往往導致開發環境部署的失敗,亦或者後面繼續學習蹦出一些問題。現在記錄一下自己所學,以便後面撿起java從頭複習。

1、java不僅僅是一門編程語言,還是一個由計算機軟件和規範組成的技術體系。這個技術體系包含這幾個組成部分:

  1. java程序語言設計
  2. 各種硬件平臺上的java虛擬機實現
  3. class文件格式
  4. java類庫API
  5. 來自商家機構和開源社區的第三方類庫

2、從java各組層部分的功能劃分:

JDK(Java Development Kit)我們通常用jdk來代指整個java的技術體系,它裡面包含了 java語言程序設計java虛擬機java類庫 這三部分,它是用於支持java開發的最小環境,也是我們在windows或者linux下學習需要下載的java環境。另外還有一個概念是JRE(Java Runtime Enviroment),它是不帶編譯器的支持java程序運行的標準環境,包含 java虛擬機java類庫API中java SE API子集這兩部分。

3、按技術服務領域來劃分的:

只說我目前常接觸的兩種:

Java SE (Standard Editon)標準版,支持面向桌面級應用,例如windows下的應用程序,它提供了完整的java核心的API,這條產線它在JDK6以前被稱為J2SE。內含標準開發和運行環境(JDK+JRE),我們平常學的基礎java開發就是這個。

Java EE(Enterprise Edition)企業版,支持使用多層架構的企業應用的java平臺,多用於企業級開發,包括web開發等。除了提供java SE API外,還對其做了大量有針對性的擴充,並提供了相關的部署支持,這條產線在JDK以前被稱為J2EE,在JDK10以後被Oracle放棄,捐給了Ecplise基金會管理,此後被稱為Jakarta EE。內含 java的web 開發和運行環境。如果後面使用的ecplise這個IDE來做java學習開發等,一定要選ecplise-jee的下載,這樣你後面就不要下載相應插件或者換軟件之類的了。我自己下的是這個版本:eclipse-jee-oxygen-R-win32-x86_64。

Java ME(Micro Edition)移動端版本,支持java程序運行在移動終端(手機,PDA)上的平臺,對API有精簡,並加入了移動終端的針對性支持。JDK6之前稱為J2ME,但是現在非常流行的,主要使用java語言開發程序的Android卻並不屬於Java ME。

補充java發展史:在jdk6之前,jdk一直是以低調的jdk1.x版本推進,直到jdk1.5開始直接去掉了小數點直接命名為jdk5,jdk6,jdk8等......所以我後面也納悶為什麼裝好jdk輸入java -version命令,出現的是jdk1.8的信息,但是卻找不到1.8的安裝包。其實jdk8就是指代jdk1.8,其他的版本也類似。一開始java的開發工作在jdk7之前一直是在sun公司手上,但是曾經輝煌一時的sun公司因經營不善,在jdk7階段已無力繼續推進更新java計劃,被Oracle公司以74億美元收購了sun公司,然後,java的商標正式劃歸Oracle公司所有。後來也出現了一件大事,就是18年Android的java侵權案有了結果,法庭判定Google公司賠償Oracle公司合計88億美元。要知道當初是sun像Google拋去的橄欖枝,Android的流行也極大的鞏固了java的地位。然而Oracle轉手就用sun的專利把Google告了,此舉讓人覺得有悖sun公司推進java的初衷,最後Oracle還”淨賺“了java的所有權。不禁讓人感到唏噓。

二、Linux(CentOS系統)jdk8安裝步驟:

檢測是否存在java,可能自帶的jdk比較low吧(其實是自己不會用),所以大都建議卸掉。

輸入命令:找不到就說明沒裝:

java -version

如果顯示java版本,那就先刪除舊的java:

刪除完後可輸入下面命令查看卸載情況:

查找java所在位置:

rpm -qa | grep java  

參數解析:

rpm  redhat系列的linux系統軟件管理工具

-qa 使用詢問模式,查詢所有套件,

grep 查找文件裡符合條件的字符串

刪除查找到的java目錄文件,如:

rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64

參數解析:

rpm 軟件管理工具

-e 刪除

--nodeps 刪除時連帶相關依賴一起刪除

java -version

出現java not found就卸載完成

安裝新的jdk1.8:

下載後解壓:(我這裡sudo是已經在之前就給用戶賦予了root用戶一樣的權限,如果沒設置就乾脆用root,因為只不過我是想讓這個java環境只屬於此用戶)

sudo tar zxvf jdk-8u161-linux-x64.tar.gz -C /usr/local/

參數解析:

tar    備份文件

-zxvf     

-z     通過gzip指令處理備份文件

-x    從備份文件中還原文件

-v     顯示指令執行過程

-f     指定備份文件

-C 解壓到指定的目錄

更改java目錄名字方便使用:

sudo mv /usr/local/jdk1.8.0_161/ /usr/local/java/

添加環境變量:

#java environment  
export JAVA_HOME=/usr/local/java
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin

用管理員是身份進入配置文件:

光標移動到文本最下面,按i進入linux自帶的vi編輯器的insert模式,在後一行粘貼如下代碼(JAVA_HOME是你的java安裝路徑),

添加之後按Esc鍵進入vi編輯器你的命令模式

此時再輸入:表示輸入命令開始,

輸入wq 回車即可保存配置並退出,

輸入命令使環境變量配置馬上生效:

source /etc/profile

測試是否安裝成功

java -version

image-20200313225932394

成功!(若是不成功就再來一遍,另外注意環境變量配置改的時候小心一些,別誤刪了)

下載方法一:去官網下載:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html(但是要註冊Oracle賬號,不註冊下不了,註冊有些麻煩的,下起來速度還慢,而且現在Oracle的jdk8以後的高版本是收費的)

下載方法二:百度雲盤:linux 64 jdk1.8( jdk-8u161-linux-x64.tar.gz):https://pan.baidu.com/s/18IicPYf7W0j-sHBXvfKyygwindows 64 jdk1.8https://pan.baidu.com/s/1eZM0SnpjHY8Wp_H2gkFb7Q

安裝,這裡下的壓縮包的方式,所以用解壓的安裝方法,當然還有rpm的方式,但是需要下載rpm安裝包:

三、Linux(CentOS)下Tomcat 9的下載安裝

下載Tomcat:

​ 官網下載跟jdk相應的版本的tomcat:http://tomcat.apache.org/ :(因為下載的包比較小才10M,所以直接在官網下),找到響應的版本。

image-20200313220738144

image-20200313221444789

下tomcat要先對應自己的jdk版本,比如我下的就是tomcat9,而我的jdk8可以用。(現在才知道tomcat Tom+cat 不就是Tom貓的意思嗎,可真有意思):

image-20200313220607434

右鍵複製 在linux安裝tomcat鏈接地址

執行命令下載tomcat的安裝包:

sudo wget https://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.31/bin/apache-tomcat-9.0.31.tar.gz

安裝Tomcat:

解壓安裝包:

sudo tar -zxvf apache-tomcat-9.0.31.tar.gz -C /usr/local/

更名:

sudo mv /usr/local/apache-tomcat-9.0.31/ /usr/local/tomcat/

編輯環境變量:

sudo vim /etc/profile

編輯保存:在文件末尾另起一行按i進入插入模式添加如下內容(添加之後 按Esc鍵——輸入 :wq ——回車保存退出)

#tomcat9  
export CATALINA_HOME=/usr/local/tomcat
export CATALINA_BASE=/usr/local/tomcat
export TOMCAT_HOME=/usr/local/tomcat

使環境變量生效:

source /etc/profile

修改tomcat配置文件service.xml:

cd /usr/local/tomcat/conf

找到配置8080端口的位置,在節點末尾添加URIEncoding="UTF-8"

image-20200314154348225

啟動tomcat:

cd /usr/local/tomcat/bin

./startup.sh

因為我用的是阿里雲輕量型服務器,必須要在安全規則那裡進行端口開放設置:

image-20200314185050354

看了下輕量型的服務器默認防火牆是關閉的,因為輕量型服務器已經有網頁應用部署了,所以沒開防火牆。愣是要開防火牆那就得在防火牆那邊用命令把相應端口開放,這樣開啟的防火牆就不會攔截外部請求了。另外如果是阿里雲ECS雲服務器開放tomcat端口步驟可以參考另一篇博客:https://blog.csdn.net/Blue_Sky_rain/article/details/91348791

測試:公網ip:8080

image-20200314190153308

Tomcat 目錄結構說明

[mrx@thisexample]# ls
bin             --啟動命令目錄
conf           --配置文件目錄      *重點
lib              --庫文件目錄
logs           --日誌文件目錄      *重點
temp         --臨時緩存文件
webapps  --web應用家目錄    *重點,因為自己的項目一般都是直接扔在在這裡
work         --工作緩存目錄</code></pre>

雲服務器ECS地址:阿里雲·雲小站

Leave a Reply

Your email address will not be published. Required fields are marked *