全部產品
Search
文件中心

Elastic Compute Service:手工部署Java Web項目

更新時間:Aug 22, 2018

適用對象

本文檔介紹如何使用一台基本配置的Elastic Compute Service 執行個體部署 Java Web 專案。適用於剛開始使用阿里雲進行建站的個人使用者。

配置要求

這裡列出的軟體版本僅代表寫作本文檔使用的版本。操作時,請您以實際軟體版本為準。

  • 作業系統:CentOS 7.4
  • Tomcat 版本:Tomcat 8.5.23
  • JDK 版本:JDK 1.8.0_141

安裝前準備

  • CentOS 7.4 系統預設開啟了防火牆。您可以關閉防火牆,也可以參考官網文檔在防火牆裡添加規則,放行 80、443 或 8080 通信埠入方向規則。

    • 關閉防火牆:

      1. systemctl stop firewalld.service
    • 關閉防火牆開機自啟動功能:

      1. systemctl disable firewalld.service
  • 建立一般使用者 www,運行 tomcat:

    1. useradd www
  • 在安全性群組中放行 8080 通信埠。具體操作,請參考 添加安全性群組規則

  • 建立網站根目錄:

    1. mkdir -p /data/wwwroot/default
  • 新建 Tomcat 測試頁面:

    1. echo Tomcat test > /data/wwwroot/default/index.jsp
    2. chown -R www.www /data/wwwroot

下載原始碼

  1. wget https://mirrors.aliyun.com/apache/tomcat/tomcat-8/v8.5.23/bin/apache-tomcat-8.5.23.tar.gz

說明:原始碼版本會不斷升級。您可以在 https://mirrors.aliyun.com/apache/tomcat/tomcat-8/ 目錄下獲取合適的安裝包地址。

  1. wget http://mirrors.linuxeye.com/jdk/jdk-8u141-linux-x64.tar.gz

說明:原始碼版本會不斷升級。您可以在 http://mirrors.linuxeye.com/jdk/ 目錄下獲取合適的安裝包地址。

安裝 JDK

按以下步驟安裝 JDK。

  1. 新建一個目錄:

    1. mkdir /usr/java
  2. 解壓 jdk-8u141-linux-x64.tar.gz 到 /usr/java。

    1. tar xzf jdk-8u141-linux-x64.tar.gz -C /usr/java
  3. 設定環境變數:

    1. 編輯 /etc/profile:vi /etc/profile

    2. i 鍵進入編輯模式。

    3. 在 /etc/profile 檔案中添加以下資訊:

      1. #set java environment
      2. export JAVA_HOME=/usr/java/jdk1.8.0_141
      3. export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
      4. export PATH=$JAVA_HOME/bin:$PATH
    4. Esc 鍵退出編輯模式,輸入 :wq 保存並關閉檔案。

  4. 載入環境變數:source /etc/profile

  5. 查看 jdk 版本。當出現 jdk 版本資訊時,表示 JDK 已經安裝成功。

    1. java -version
    1. java version "1.8.0_141"
    2. Java(TM) SE Runtime Environment (build 1.8.0_141-b15)
    3. Java HotSpot(TM) 64-Bit Server VM (build 25.141-b15, mixed mode)

安裝 Tomcat

按以下步驟安裝 Tomcat。

  1. 依次運行以下命令解壓 apache-tomcat-8.5.23.tar.gz,重新命名 Tomcat 目錄,並設定使用者權限。

    1. tar xzf apache-tomcat-8.5.23.tar.gz
    2. mv apache-tomcat-8.5.23 /usr/local/tomcat/
    3. 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 執行時的記錄檔。
  2. 配置 server.xml 檔案:

    1. 切換到 /usr/local/tomcat/conf/ 目錄:cd /usr/local/tomcat/conf/

    2. 重新命名 server.xml 檔案:mv server.xml server.xml_bk

    3. 建立一個新的 server.xml 檔案:

      1. 運行命令 vi server.xml

      2. i 鍵進入編輯模式。

      3. 添加以下內容:

        1. <?xml version="1.0" encoding="UTF-8"?>
        2. <Server port="8006" shutdown="SHUTDOWN">
        3. <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
        4. <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
        5. <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/>
        6. <Listener className="org.apache.catalina.core.AprLifecycleListener"/>
        7. <GlobalNamingResources>
        8. <Resource name="UserDatabase" auth="Container"
        9. type="org.apache.catalina.UserDatabase"
        10. description="User database that can be updated and saved"
        11. factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
        12. pathname="conf/tomcat-users.xml"/>
        13. </GlobalNamingResources>
        14. <Service name="Catalina">
        15. <Connector port="8080"
        16. protocol="HTTP/1.1"
        17. connectionTimeout="20000"
        18. redirectPort="8443"
        19. maxThreads="1000"
        20. minSpareThreads="20"
        21. acceptCount="1000"
        22. maxHttpHeaderSize="65536"
        23. debug="0"
        24. disableUploadTimeout="true"
        25. useBodyEncodingForURI="true"
        26. enableLookups="false"
        27. URIEncoding="UTF-8"/>
        28. <Engine name="Catalina" defaultHost="localhost">
        29. <Realm className="org.apache.catalina.realm.LockOutRealm">
        30. <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
        31. resourceName="UserDatabase"/>
        32. </Realm>
        33. <Host name="localhost" appBase="/data/wwwroot/default" unpackWARs="true" autoDeploy="true">
        34. <Context path="" docBase="/data/wwwroot/default" debug="0" reloadable="false" crossContext="true"/>
        35. <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
        36. prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t &quot;%r&quot; %s %b" />
        37. </Host>
        38. </Engine>
        39. </Service>
        40. </Server>
  3. 設定 JVM 記憶體參數:

    1. 運行命令 vi /usr/local/tomcat/bin/setenv.sh, 建立 /usr/local/tomcat/bin/setenv.sh。
    2. i 鍵進入編輯模式。
    3. 添加以下內容:

      1. JAVA_OPTS='-Djava.security.egd=file:/dev/./urandom -server -Xms256m -Xmx496m -Dfile.encoding=UTF-8'
    4. Esc 鍵退出編輯模式,輸入 :wq 保存並退出檔案。

  4. 設定 Tomcat 自啟動指令碼或直譯式程式。

    1. 下載指令碼或直譯式程式:wget https://github.com/lj2007331/oneinstack/raw/master/init.d/Tomcat-init

    2. 重新命名 Tomcat-init:mv Tomcat-init /etc/init.d/tomcat

    3. 添加執行許可權:chmod +x /etc/init.d/tomcat

    4. 運行以下命令,設定啟動指令碼或直譯式程式 JAVA_HOME。

      1. sed -i 's@^export JAVA_HOME=.*@export JAVA_HOME=/usr/java/jdk1.8.0_141@' /etc/init.d/tomcat
  5. 設定自啟動。

    1. chkconfig --add tomcat
    2. chkconfig tomcat on
  6. 啟動 Tomcat。

    1. service tomcat start
  7. 在瀏覽器地址欄中輸入 http://ip:8080 進行訪問。出現如圖所示頁面時表示安裝成功。

    1