Java Web是一種使用Java語言開發動態Web應用程序的技術棧,它利用Java平臺的強大功能,結合各種技術和框架,使得開發者能夠創建復雜、高性能、可跨平臺部署的Web應用。在Java Web開發中,Tomcat是常用的開源Web服務器,用于部署和運行Java Web應用程序。本文介紹如何在ECS實例中部署Java Web環境。
準備工作
部署Java Web環境時,已有ECS實例必須滿足以下條件:
實例已分配固定公網IP地址或綁定彈性公網IP(EIP)。具體操作,請參見彈性公網IP。
若您的實例為Linux系統,實例安全組的入方向規則需放行22、8080端口。
若您的實例為Windows系統,實例安全組的入方向規則需放行3389、8080端口。
具體操作,請參見添加安全組規則。
若您的實例為Linux系統,需要您關閉實例的系統防火墻、SELinux。具體操作,請參見開啟或關閉Linux系統防火墻、開啟或關閉SELinux。
若您的實例為Windows系統,需要您關閉實例的系統防火墻。具體操作,請參見管理Windows系統防火墻。
實例已部署Java環境。具體操作,請參見部署Java環境。
操作方案
您可以根據實例的系統,選擇合適的方案。
Linux
本文以安裝Apache Tomcat 9.0.91為例。若您安裝其他版本,或使用其他目錄,您需要根據實際版本及目錄替換命令中的版本及路徑。
登錄Linux服務器。具體操作,請參見連接實例。
運行以下命令,下載并解壓Tomcat 9安裝包。
wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.91/bin/apache-tomcat-9.0.91.tar.gz --no-check-certificate tar -zxvf apache-tomcat-9.0.91.tar.gz
運行以下命令,移動Tomcat所在目錄。
sudo mv apache-tomcat-9.0.91 /usr/local/tomcat/
(可選)配置server.xml文件。
若您需要修改Tomcat的相關配置,可以參考如下操作。
運行以下命令,打開
/usr/local/tomcat/conf/server.xml
文件。vim /usr/local/tomcat/conf/server.xml
按
i
鍵,進入編輯模式。本示例使用Tomcat的默認配置。您也可以根據需求,修改Tomcat的相關配置。例如:Tomcat默認使用8080端口,如果您需要修改端口號,可以修改
port
的屬性值。說明修改端口后,您需要在實例的安全組中放行修改后的端口,具體操作,請參見添加安全組規則。
Tomcat默認的網站根目錄為
webapps
,當您將一個Web應用程序(例如一個WAR文件或一個包含WEB-INF目錄的文件夾)放到webapps
目錄下時,Tomcat會自動部署這個應用。如果您需要修改Tomcat的網站根目錄,可以修改appBase
的屬性值。
修改完成后,按Esc鍵,輸入
:wq
并回車以保存并關閉文件。
(可選)設置JVM內存參數。
若您需要根據需求設置Tomcat的JVM內存參數,以優化Tomcat的性能、穩定性等,可以參考如下操作。
運行以下命令,創建并打開
/usr/local/tomcat/bin/setenv.sh
文件。vim /usr/local/tomcat/bin/setenv.sh
按
i
鍵,添加以下內容。指定
JAVA_OPTS
參數,用于設置JVM的內存信息以及編碼格式。本示例將編碼格式設置為UTF-8。說明您可以根據需求調整以下內容,以更好地設置JVM內存參數。
JAVA_OPTS='-Djava.security.egd=file:/dev/./urandom -server -Xms512m -Xmx512m -Dfile.encoding=UTF-8'
按
Esc
鍵,輸入:wq
,按Enter
鍵保存并關閉文件。為文件添加可執行權限。
sudo chmod +x /usr/local/tomcat/bin/setenv.sh
設置Tomcat自啟動腳本。
運行以下命令,下載Tomcat自啟動腳本文件。
重要該腳本來源于社區,僅供參考。阿里云對其可靠性以及操作可能帶來的潛在影響,不做任何暗示或其他形式的承諾。如果您運行wget命令下載失敗,您可以通過瀏覽器訪問
https://raw.githubusercontent.com/oneinstack/oneinstack/master/init.d/Tomcat-init
直接獲取腳本內容。wget https://raw.githubusercontent.com/oneinstack/oneinstack/master/init.d/Tomcat-init
運行以下命令,移動并重命名
Tomcat-init
。sudo mv Tomcat-init /etc/init.d/tomcat
運行以下命令,為
/etc/init.d/tomcat
添加可執行權限。chmod +x /etc/init.d/tomcat
獲取安裝的JDK路徑。運行以下命令,獲取Java二進制文件的真實路徑,其父目錄則為安裝的JDK路徑。
readlink -f $(which java)
說明例如執行命令后返回
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.432.b06-2.0.2.1.al8.x86_64/jre/bin/java
,則安裝的JDK路徑為/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.432.b06-2.0.2.1.al8.x86_64
。運行以下命令,設置啟動腳本
JAVA_HOME
。重要腳本中JDK的路徑信息必須與您安裝的JDK路徑保持一致,否則Tomcat會啟動失敗。
sudo sed -i 's@^export JAVA_HOME=.*@export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.432.b06-2.0.2.1.al8.x86_64@' /etc/init.d/tomcat
依次運行以下命令,設置Tomcat開機自動啟動,并啟動Tomcat。
sudo systemctl daemon-reload sudo systemctl start tomcat sudo systemctl enable tomcat
啟動后,您可以執行
sudo systemctl status tomcat
查看Tomcat當前狀態,返回active(running)
則說明Tomcat啟動成功。驗證環境配置。
在本地瀏覽器地址欄中,輸入
http://公網IP:8080
,成功進入Tomcat歡迎頁,則說明環境配置成功。說明若輸入
http://公網IP:8080
后無法顯示下述頁面,請檢查安全組,確保入方向已放行8080端口。若您修改過Tomcat的端口,請將8080替換為修改后的端口,并檢查安全組是否放行該端口。
若您想上傳本地項目進行測試,可以將WAR包上傳至Tomcat的網站根目錄(本文中默認為
/usr/local/tomcat/webapps
),并在瀏覽器輸入http://公網IP:8080/包名
訪問項目。具體操作,請參見上傳或下載文件(Linux)。
Windows
本文以安裝Apache Tomcat 9.0.97為例。
登錄Windows服務器。具體操作,請參見連接實例。
下載Tomcat。
訪問Tomcat官網,選擇相應的版本,下載安裝包。
解壓Tomcat壓縮包。
將下載的壓縮包解壓到您希望安裝Tomcat的位置。本文以
C:\Program Files
為例。獲取Tomcat安裝目錄。
解壓后,您可以進入解壓后的目錄,在地址欄獲取到Tomcat的安裝目錄。
配置環境變量。
右鍵單擊此電腦,選擇屬性。
在關于頁滾動至最下方,單擊高級系統設置。
單擊環境變量。
在系統變量區域,單擊新建,創建系統變量,完成后單擊確定。變量名為
CATALINA_HOME
,變量值為Tomcat安裝目錄,例如C:\Program Files\apache-tomcat-9.0.97
。在系統變量中找到
Path
變量,選中并單擊編輯。在編輯環境變量中單擊新建,添加
%CATALINA_HOME%\bin
。單擊兩次確定,保存環境變量配置。
啟動Tomcat。
進入Tomcat安裝目錄下的bin文件夾。
在路徑欄輸入
cmd
,按下回車,打開命令提示符。執行命令
startup.bat
啟動Tomcat,命令執行后,默認會打開一個新的命令提示符窗口,以顯示Tomcat的啟動日志信息,請勿關閉此窗口。
驗證Tomcat。
在本地瀏覽器輸入
http://公網IP:8080
,進入Tomcat歡迎頁,則說明Tomcat部署成功。說明若輸入
http://公網IP:8080
后無法顯示下述頁面,請您排查以下問題:請檢查安全組,確保入方向已放行8080端口。
請確認執行
startup.bat
命令啟動Tomcat后,默認打開的命令提示符窗口是否被關閉,若窗口已關閉,請您重新執行startup.bat
命令開啟此窗口。
若您想上傳本地項目進行測試,可以將WAR包上傳至Tomcat的網站根目錄(本文中默認為
C:\Program Files\apache-tomcat-9.0.97\webapps
),并在瀏覽器輸入http://公網IP:8080/包名
訪問項目。具體操作,請參見上傳或下載文件(Linux)。
后續操作
部署Java Web環境后,您可以考慮在服務器上配置網站,為ECS實例的公網IP地址綁定域名等。具體操作,請參見搭建網站。
您可以選擇合適的開發工具進行Web開發,如果您的應用需要使用數據庫存儲應用數據,可以在Web項目的相關配置文件(例如Properties文件)中添加數據庫配置,連接至數據庫。開發完成后,您可以將Java Web應用程序部署到Tomcat中(例如部署到Tomcat安裝目錄下的webapps目錄),部署和運行后,通過Web訪問您的應用。具體操作,請參見Tomcat 9 應用程序部署指南。
說明如果您使用的是其他版本的Tomcat,只需將URL中的版本號替換為相應版本即可。
若您需要上傳本地文件到ECS,具體操作,請參見上傳或下載文件(Linux)。
若您需要使用數據庫存儲和管理Web應用中的數據,可以使用云數據庫RDS MySQL,或在實例中部署MySQL數據庫,具體操作,請參見部署數據庫。
您可以考慮使用負載均衡SLB提高網站的可用性和性能。詳細信息,請參見快速入門。
您可以直接使用ECS的構建與部署功能,關聯代碼倉庫并進行構建部署,詳情請參見部署應用。
您也可以考慮通過云效建立CI/CD流程來持續集成,提高效率。詳細信息,請參見什么是云效。