Java Web 簡介
本教學介紹如何手動在 TAKI Cloud 雲端主機上部署 Java Web 環境項目,適用於剛開始使用 TAKI Cloud 雲端主機進行網站建置的個人使用者。
前提條件
- 已註冊 TAKI Cloud 帳號。 如還未註冊,請先完成帳號註冊。
- 已建立一台雲端主機。 詳細步驟,請參閱自訂購買主機。
背景資訊
本篇 Java Web 教學在範例步驟中使用了以下主機規格和軟體版本。 操作時,請以實際軟體版本為準。
- 執行個體規格:基礎運算 60 GB SSD
- 作業系統:CentOS 7.9
- Tomcat 版本:Tomcat 8.5.88
- JDK 版本:JDK 1.8.0_342
- FTP工具:WinSCP
說明:本範例中,使用 Tomcat 8.5.88 版本為例。 原始碼版本會不斷升級,您可以取得合適的安裝套件版本。
Java Web 操作步驟
步驟一:安裝前準備
- 在安全性群組入方向新增規則放行所需連接 Port。 具體步驟,請參閱新增安全群組規則。
例如本範例中,SSH 協定的 22 Port 和 HTTP 協定的 8080 Port。 - 遠端連線 Linux 主機。
具體操作,請參閱透過密碼或金鑰認證登入 Linux 主機。 - 關閉防火牆。
執行 systemctl status firewalld
執行 systemctl status firewalld 指令查看目前防火牆的狀態。
- 如果防火牆的狀態參數是 inactive,則防火牆為關閉狀態。
- 如果防火牆的狀態參數是 active,則防火牆為開啟狀態。 本範例中防火牆為開啟狀態,因此需要關閉防火牆。
關閉防火牆
關閉防火牆。 如果防火牆為關閉狀態可以忽略此步驟。
- 如果您想暫時關閉防火牆,執行以下命令。
systemctl stop firewalld
說明
此操作只是暫時關閉防火牆,下次重新啟動Linux後,防火牆還會開啟。
如果您想永久關閉防火牆,則需要依序執行以下命令。
關閉目前運作中的防火牆。
systemctl stop firewalld
關閉防火牆服務,下次重新啟動主機後,防火牆服務將不會開機自啟動。
systemctl disable firewalld
說明
此操作會關閉防火牆服務,當您重新啟動主機後,防火牆將會預設保持關閉狀態。 如果您想重新開啟防火牆,具體操作,請參閱 firewalld 官網資訊。
關閉 SELinux
執行指令以下指令查看 SELinux 的目前狀態。
getenforce
- 如果 SELinux 狀態參數是 Disabled, 則 SELinux 為關閉狀態。
- 如果 SELinux 狀態參數是 Enforcing,則 SELinux 為開啟狀態。 本範例中 SELinux 為開啟狀態,因此需要關閉 SELinux。
關閉 SELinux。 如果 SELinux 為關閉狀態可以忽略此步驟。
- 如果您想暫時關閉 SELinux,執行以下命令。
setenforce 0
說明
操作只是暫時關閉 SELinux,下次重開機 Linux 後,SELinux 還會開啟。
- 如果您想永久關閉 SELinux,執行下列命令開啟 SELinux 設定檔。
vi /etc/selinux/config
在 /etc/selinux/config 檔案內,將光標移到 SELINUX=enforcing 一行,按 i 鍵進入編輯模式,修改為 SELINUX=disabled,然後按 Esc 鍵,再輸入 :wq 並按 Enter 鍵,儲存關閉 SELinux 配置文件。
說明
如果您想重新開啟 SELinux,具體操作,請參閱開啟或關閉 SELinux。
重啟系統使設定生效。
步驟二:安裝 JDK
執行以下指令,查看 yum 來源中 JDK 版本。
yum list java*
執行以下指令,使用 yum 安裝 JDK1.8.0。
yum -y install java-1.8.0-openjdk*
執行以下命令,查看是否安裝成功。
java -version
如果顯示如下所示,則表示 JDK 安裝成功。
[root@iZuspq7vnxm**** ~]# java -version
openjdk version "1.8.0_342"
OpenJDK Runtime Environment (build 1.8.0_342-b07)
OpenJDK 64-Bit Server VM (build 25.342-b07, mixed mode)
配置環境變數。
執行以下命令,查看 JDK 安裝的路徑。
find /usr/lib/jvm -name 'java-1.8.0-openjdk-1.8.0*'
回顯資訊如下所示。
[root@test000****~]# find /usr/lib/jvm -name 'java-1.8.0-openjdk-1.8.0*'
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64
開啟設定檔。
vim /etc/profile
- 在設定檔末尾,按 i 進入編輯模式。
- 新增以下資訊。
- 說明 : JAVA_HOME 值為目前 JDK 所安裝的路徑。
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME CLASSPATH PATH
- 按下 Esc 鍵,輸入 :wq 並按 Enter 以儲存並關閉檔案。
- 執行以下命令,立即生效環境變數。
source /etc/profile
步驟三:安裝 Apache Tomcat
執行以下命令,下載並解壓縮 Tomcat 8 安裝套件。
wget --no-check-certificate https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.88/bin/apache-tomcat-8.5.88.tar.gz
tar -zxvf apache-tomcat-8.5.88.tar.gz
說明
Tomcat 下載地址官網會持續更新。 如果上述下載位址失效,請您直接造訪 Tomcat 官網取得。
執行以下指令,移動 Tomcat 所在目錄。
mv apache-tomcat-8.5.88 /usr/local/tomcat/
為確保系統安全性,建議建立一般使用者來運行 Tomcat 。
例如,本範例中建立一般使用者 www 。
useradd www
執行以下命令,將文件的所屬使用者設定為 www。
chown -R www.www /usr/local/tomcat/
在 /usr/local/tomcat/ 目錄下:
- bin:存放 Tomcat 的一些腳本文件,包含啟動和關閉 Tomcat 服務腳本。
- conf:存放 Tomcat 伺服器的各種全域設定文件,其中最重要的是 server.xml 和 web.xml。
- webapps:Tomcat 的主要 Web 發布目錄,預設將 Web 應用程式檔案放於此目錄。
- logs:存放 Tomcat 執行時的日誌檔案。
配置 server.xml 檔。
- 執行以下指令,切換到 /usr/local/tomcat/conf/ 目錄。
cd /usr/local/tomcat/conf/
執行以下命令,重新命名 server.xml 檔案。
mv server.xml server.xml_bk
新建一個 server.xml 檔。
- 執行以下命令,建立並開啟 server.xml 檔案。
vi server.xml
按下 i 鍵,新增以下內容。
按 Esc 鍵,輸入 :wq 並按 Enter 以儲存並關閉檔案。
設定 JVM 記憶體參數。
- 執行以下命令,建立並開啟 /usr/local/tomcat/bin/setenv.sh 檔案。
vi /usr/local/tomcat/bin/setenv.sh
按下 i 鍵,新增以下內容。
指定 JAVA_OPTS 參數,用於設定 JVM 的記憶體資訊以及編碼格式。
JAVA_OPTS='-Djava.security.egd=file:/dev/./urandom -server -Xms256m -Xmx496m -Dfile.encoding=UTF-8'
按下 Esc 鍵,輸入 :wq 並按 Enter 以儲存並關閉檔案。
設定 Tomcat 自啟動腳本。
執行以下命令,下載 Tomcat 自啟動腳本。
wget https://raw.githubusercontent.com/oneinstack/oneinstack/master/init.d/Tomcat-init
說明
此腳本來自社區,僅供參考。 TAKI Cloud 對其可靠性以及操作可能帶來的潛在影響,不做任何暗示或其他形式的承諾。 如果您執行 wget 指令下載失敗,您可以透過瀏覽器造訪 https://raw.githubusercontent.com/oneinstack/oneinstack/master/init.d/Tomcat-init 直接取得腳本內容。
執行以下命令,移動並重新命名 Tomcat-init。
mv Tomcat-init /etc/init.d/tomcat
執行以下命令,為 /etc/init.d/tomcat 新增可執行權限。
chmod +x /etc/init.d/tomcat
執行以下命令,設定啟動腳本 JAVA_HOME。
sed -i 's@^export JAVA_HOME=.*@export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64@' /etc/init.d/tomcat
依序執行以下指令,設定 Tomcat 開機自啟動。
chkconfig --add tomcat
chkconfig tomcat on
執行以下命令,啟動 Tomcat。
service tomcat start
回顯訊息類似如下所示,表示啟動 Tomcat 成功。
[root@test000**** conf]# service tomcat start
Starting tomcat
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
Tomcat is running with pid: 11837
步驟四:部署測試項目並驗證
將需要部署的 Java Web 專案檔案 WAR 包上傳到網站根目錄下,並將網站根目錄下檔案所屬使用者改為 www。 您可以使用支援檔案傳輸功能的遠端連線工具或建置 FTP 站台上傳專案檔。 在本範例中,網站根目錄為 /data/wwwroot/default,執行下列指令直接在網站根目錄下新建一個 Tomcat 測試頁面,並進行存取。
執行以下命令,建立網站根目錄。
mkdir -p /data/wwwroot/default
執行以下命令,將網站根目錄的所屬使用者設定為 www。
chown -R www.www /data/wwwroot
執行以下命令,新建測試檔。
echo Tomcat test > /data/wwwroot/default/index.jsp
在本機瀏覽器網址列輸入 http://公網IP:8080 進行存取。
返回頁面如下圖所示,表示安裝成功。 如果無法訪問,請確保已在安全群組中放行 Tomcat 預設使用的 8080 port。
後續步驟
Tomcat 可用後,建議您為雲端主機的外網 IP 位址綁定域名,設定網站等。