Java Web

目錄:

1.Java Web 簡介

1-1.前提條件

1-2.背景資訊

1-3.Java Web 操作步驟

1-3-1.步驟一:安裝前準備

1-3-2.步驟二:安裝 JDK

1-3-3.步驟三:安裝 Apache Tomcat

1-3-4.步驟四:部署測試項目並驗證

2.後續步驟

java logo

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 操作步驟

步驟一:安裝前準備

  1. 在安全性群組入方向新增規則放行所需連接 Port。 具體步驟,請參閱新增安全群組規則。
    例如本範例中,SSH 協定的 22 Port 和 HTTP 協定的 8080 Port。
  2. 遠端連線 Linux 主機。
    具體操作,請參閱透過密碼或金鑰認證登入 Linux 主機。
  3. 關閉防火牆。
執行systemctl status firewalld指令查看目前防火牆的狀態。
執行 systemctl status firewalld

執行 systemctl status firewalld 指令查看目前防火牆的狀態。

  • 如果防火牆的狀態參數是 inactive,則防火牆為關閉狀態。
  • 如果防火牆的狀態參數是 active,則防火牆為開啟狀態。 本範例中防火牆為開啟狀態,因此需要關閉防火牆。
關閉防火牆

關閉防火牆。 如果防火牆為關閉狀態可以忽略此步驟。

  • 如果您想暫時關閉防火牆,執行以下命令。
				
					systemctl stop firewalld
				
			
說明

此操作只是暫時關閉防火牆,下次重新啟動Linux後,防火牆還會開啟。

如果您想永久關閉防火牆,則需要依序執行以下命令。

關閉目前運作中的防火牆。

				
					systemctl stop firewalld
				
			

關閉防火牆服務,下次重新啟動主機後,防火牆服務將不會開機自啟動。

				
					systemctl disable firewalld
				
			
說明

此操作會關閉防火牆服務,當您重新啟動主機後,防火牆將會預設保持關閉狀態。 如果您想重新開啟防火牆,具體操作,請參閱 firewalld 官網資訊

 

關閉 SELinux

執行指令以下指令查看 SELinux 的目前狀態。

				
					getenforce
				
			
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 鍵,新增以下內容。

				
					<?xml version="1.0" encoding="UTF-8"?>
<Server port="8006" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/>
<Listener className="org.apache.catalina.core.AprLifecycleListener"/>
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
 type="org.apache.catalina.UserDatabase"
 description="User database that can be updated and saved"
 factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
 pathname="conf/tomcat-users.xml"/>
</GlobalNamingResources>
<Service name="Catalina">
<Connector port="8080"
 protocol="HTTP/1.1"
 connectionTimeout="20000"
 redirectPort="8443"
 maxThreads="1000"
 minSpareThreads="20"
 acceptCount="1000"
 maxHttpHeaderSize="65536"
 debug="0"
 disableUploadTimeout="true"
 useBodyEncodingForURI="true"
 enableLookups="false"
 URIEncoding="UTF-8"/>
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
  resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="/data/wwwroot/default" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="/data/wwwroot/default" debug="0" reloadable="false" crossContext="true"/>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t &quot;%r&quot; %s %b" />
</Host>
</Engine>
</Service>
</Server>
				
			

按 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 test

後續步驟

Tomcat 可用後,建議您為雲端主機的外網 IP 位址綁定域名,設定網站等。

TAKI Cloud 雲端主機
TAKI Cloud 雲端主機 只要470元起
TAKI Cloud 實體主機 Dedicated Server
TAKI Cloud 實體主機 只要4,500起
TAKI Cloud 中華電信 主機代管 服務
TAKI Cloud 主機代管 只要2,000元起

By taki

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *