CentOS 7 安裝Java8 + Tomcat8

按百度上搜到的教程安裝出現各種Bug。在此記錄一下自己親自動手操作的步驟,並加上我踩坑解決Bug的過程,希望對有需要的人有所幫助。

一、 環境介紹

Vultr VPS 
CentOS 7 X64
Python3(Main)+Python2
yum+wget

二、 目標環境

Java8
Apache Tomcat8

三. 操作步驟

1. Java8 安裝
1). 使用yum進行Java8的安裝。

yum -y list java* ## 列出所有java版本
yum -y install java-1.8.0-openjdk* ## 安裝1.8版本Java

發現報錯:

[root@Cyril ~]# yum -y list java*
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
  File "/usr/libexec/urlgrabber-ext-down", line 28
    except OSError, e:

這裏是因爲本人安裝了Python3的環境,將yum的運行環境改爲python2重新運行yum安裝即可。參考 yum安裝軟件報錯:SyntaxError:invalid syntax

vi /bin/yum # 將yum中的#!/usr/bin/python 改爲 #!/usr/bin/python2
yum -y list java* ## 列出所有java版本
yum -y install java-1.8.0-openjdk* ## 安裝1.8版本Java

2). 檢查安裝

java -version # 檢查java版本

這裏寫圖片描述
到此,java8安裝成功。

2. 安裝Tomcat8
1). wget下載Tomcat包並執行安裝:

wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-8/v8.0.53/bin/apache-tomcat-8.0.53.tar.gz ## 下載包
mkdir -p /opt/soft
tar -zxvf apache-tomcat-8.0.33.tar.gz -C /opt/soft ##   解壓包
cd /opt/soft/apache-tomcat-8.0.33/bin/
./startup.sh ## 啓動Tomcat

2). 配置防火牆
將8080端口,添加到防火牆白名單。端口可任意設置,且Tomcat端口配置一致即可。注意不要設置與其它服務端口衝突。

firewall-cmd --zone=public --add-port=8080/tcp --permanent # 去掉--permanent將只是臨時修改,重啓後設置被重置。
firewall-cmd --reload # 加載更新後的防火牆配置

執行時firewall-cmd命令時出現錯誤:
這裏寫圖片描述
這是由於本教程環境安裝的Python版本非系統自帶的2.7導致該文件執行有誤。
解決方法:參考 執行firewall-cmd命令提示“ModuleNotFoundError:no module named ‘gi’ ”

vi /usr/bin/firewall-cmd  
## 將第一行#!/usr/bin/python -Es 修改爲 #!/usr/bin/python2.7 -Es  保存並退出再次執行firewall-cmd即可。

也可以直接打開防火牆配置文件/etc/firewalld/zones/public.xml,手動添加端口(如8080/tcp)。注意手動添加後需要使用”firewall-cmd –load”命令載入更新:
這裏寫圖片描述
3). 測試Tomcat遠程訪問
到這裏,貌似Tomcat8已正常安裝配置完畢,但實際在測試遠程訪問Tomcat服務器時,報如下錯誤:
這裏寫圖片描述
查看防火牆和端口狀態都正常:
這裏寫圖片描述
運行關閉防火牆服務命令報錯:

#Job for firewalld.service failed because the control process exited with error

還是由於Python版本惹的禍,在文件/usr/bin/firewall-cmd更改頭爲:

#!/usr/bin/python2.7 -Es

也可直接打開防火牆配置文件,手動添加修改,修改配置文件後需要load配置文件或重啓防火牆。任何情況下不建議關閉禁用防火牆的粗暴方式解決問題!

systemctl stop firewalld.service # 關閉防火牆
systemctl stop firewalld.service # 開啓防火牆

參考 安裝完python3版本後,防火牆無法啓動Job for firewalld.service failed because the control process exited with error

4). 重新設置Tomcat
防火牆設置Ok後,無法遠程訪問Tomcat服務器的問題仍未解決。
後面發現Tomcat安裝完畢後,需要新建用戶並授予權限。關於初始用戶:tomcat both以及role1,雖然不使用但是也要修改密碼,否則新建的用戶也會被拒絕訪問!
接下來進行Tomcat Manager用戶配置。參考Tomcat Manager用戶配置詳解。這裏採用手動修改配置文件方式爲Tomcat增加用戶,命令添加方式請讀者自行百度。
打開編輯Tomcat 用戶配置文件:

vi [Tomcat安裝目錄]/conf/tomcat-users.xml

初始配置如下:
這裏寫圖片描述
修改爲如下(或者可以直接將初始配置中“must-be-changed”更改爲用戶密碼)

<tomcat-users>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="tomcat" password="tomcat" roles="manager-gui"/>
<user username="admin" password="123456" roles="manager-script"/>
</tomcat-users>

配置完重啓Tomcat服務,在遠程瀏覽器嘗試訪問仍顯示如上圖相同的錯誤。檢查防火牆和Apache Tomcat狀態無異常,對應的端口也在防火牆白名單內,只能讓服務器硬件重啓,發現仍無法連接。
5). 重新配置Java環境
在運行Tomcat ./startup.sh 的時候發現有顯示jre路徑,考慮是否和java環境變量有關,於是開始配置java-tomcat環境變量:

find / -name "jdk1.8*"  # 查找jdk目錄
vi /etc/profile # 查看系統環境變量配置文件

在profile文件中最後面加上如下配置

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/
export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH

保存退出profile文件後記得使用source命令更新配置文件

source /etc/profile

再次嘗試運行./startup.sh 顯示如下,說明java環境變量配置成功:
這裏寫圖片描述
重啓服務器(Tomcat會自動重啓),在遠程瀏覽器輸入服務器IP地址,發現成功訪問Tomcat歡迎頁面
這裏寫圖片描述

在這裏列出Tomcat 文件目錄解析:
- bin:主要是開啓、改變Tomcat的命令
- conf:存放一些配置文件
- lib:存放一些庫文件,就是一些jar包
- logs:存放運行產生的日誌文件
- temp:保存運行的時產生一些臨時文件
- webapps:部署要運行的應用,就存放這個目錄下
- work:運行過程產生的class文件

[Tomcat安裝目錄]/bin/conf/server.xml 是服務器配置文件,關於服務器端口設置在此文件中配置。博主在公司內網測試時發現8080端口訪問受限,更改爲其它端口(建議9000+的端口以免衝突)訪問成功。
到此成功實現CentOS 7系統安裝Java8、Tomcat8。

====================================

四、安裝步驟總結

  1. 安裝Java 8
    • 指定yum命令以python2 環境運行
    • 使用yum下載安裝jdk
    • 配置java環境,修改/etc/profile配置文件
    • 使用source命令更新配置文件
    • 檢查JDK安裝是否成功
  2. 安裝Tomcat 8
    • 指定firewall-cmd命令以python2 環境運行
    • 使用wget下載包
    • tar解壓到安裝目錄
    • 進行Tomcat Manager用戶配置
    • 將端口加入到防火牆白名單
    • 檢查防火牆狀態
    • 檢查白名單狀態
    • 檢查端口狀態
    • 運行./startup.sh開啓tomcat
    • 完成Tomcat安裝及配置
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章