1. 程式人生 > >《阿里雲伺服器搭建》------部署多個tomcat,防止jenkins與專案共用一個埠

《阿里雲伺服器搭建》------部署多個tomcat,防止jenkins與專案共用一個埠

本系列教程的搭建環境為阿里雲伺服器,其他伺服器可作為參考。

本文主要講述實現兩個tomcat的獨立使用,拆分jenkins和實際專案共用tomcat的問題

首先,我們知道真實的專案環境中,不可能只存在一個tomcat,或者換句話說,A專案在部署後需要重啟,那麼就需要重啟tomcat,而如果B專案也在這個tomcat下,那麼A需要重啟tomcat的時候,B專案只能停止執行。但是這是不科學,也是不合理的。因此就需要將每個專案獨立部署在不同的tomcat下面,本文主要講述安裝多個tomcat,,來完成這個實現,後續可能會用tomcat多節點,叢集的方式來實現。

在前面文章中,我們已經有了一個80埠的tomcat,下面我們需要在開放一個8880埠的tomcat

1.複製tomcat到另外一位位置

  1. 先進入到原來tomcat的安裝目錄下面,然後用命令 cp -r apache-tomcat-8.5.35 /root 將該tomcat檔案複製到根目錄下面。
    在這裡插入圖片描述
    複製完成。
    在這裡插入圖片描述
    2.然後我們進入到這個新的apache-tomcat-8.5.35目錄下的conf資料夾
    cd /root/apache-tomcat-8.5.35/conf
    在這裡插入圖片描述

2.然後我們用vi server.xml命令,修改server.xml配置和第一個不同的啟動、關閉監聽埠。修改後儲存就好。

<Server port="8005" shutdown="SHUTDOWN">
<!-- 屬性說明
    port:指定一個埠,這個埠負責監聽關閉Tomcat的請求
    shutdown:向以上埠傳送的關閉伺服器的命令字串-->
<Connector port="80" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true" />
    <!-- 屬性說明
        port:伺服器聯結器的埠號,該聯結器將在指定埠偵聽來自客戶端的請求。
        enableLookups:如果為true,則可以通過呼叫request.getRemoteHost()進行DNS查詢來得到遠端客戶端的實際主機名;
                    若為false則不進行DNS查詢,而是返回其ip地址。
        redirectPort:伺服器正在處理http請求時收到了一個SSL傳輸請求後重定向的埠號。
        acceptCount:當所有可以使用的處理請求的執行緒都被用光時,可以放到處理佇列中的請求數,超過這個數的請求將不予處理,而返回Connection refused錯誤。
        connectionTimeout:等待超時的時間數(以毫秒為單位)。
        maxThreads:設定在監聽埠的執行緒的最大數目,這個值也決定了伺服器可以同時響應客戶請求的最大數目.預設值為200。
        protocol:必須設定為AJP/1.3協議。
        address:如果伺服器有兩個以上IP地址,該屬性可以設定埠監聽的IP地址,預設情況下,埠會監聽伺服器上所有IP地址。
        minProcessors:伺服器啟動時建立的處理請求的執行緒數,每個請求由一個執行緒負責。
        maxProcessors:最多可以建立的處理請求的執行緒數。
        minSpareThreads:最小備用執行緒 。
        maxSpareThreads:最大備用執行緒。
        debug:日誌等級。
        disableUploadTimeout:禁用上傳超時,主要用於大資料上傳時。
    -->
  <Connector port="8009" 
               enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
    <!-- 負責和其他HTTP伺服器建立連線。在把Tomcat與其他HTTP伺服器整合時就需要用到這個聯結器。 -->

把上面的這幾個埠改了,不要與第一個衝突就ok
port=”8005” shutdown=”SHUTDOWN” 8005改為8006
Connector 下面的 port=”80” 改為 8880 redirectPort=”8443” ——18443
裡面的8009改為8010

下面是我修改的內容,可以參考(其他沒有修改的內容就沒有貼出來)

<Server port="8006" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
  <!-- Security listener. Documentation at /docs/config/listeners.html
  <Listener className="org.apache.catalina.security.SecurityListener" />
<Connector port="8880" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="18443" />
<Connector executor="tomcatThreadPool"
               port="8880" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="18443" />
    <Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />
  1. 上面我們增加了8880埠,接下來我們需要給伺服器開放8880埠。(參考前文:《阿里雲伺服器搭建》------ 安裝Tomcat 裡面的第10步驟。在檔案中增加下面內容即可。)
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 8880 -j ACCEPT

  2. 然後我們需要在阿里雲伺服器上面開放8880埠。(參考前文:《阿里雲伺服器搭建》------ 安裝Tomcat 裡面的第14步驟。在檔案中增加下面內容即可。)

  3. 最後切換到該tomcat下的bin目錄中,執行./startup.sh命令即可。

  4. 最後我們就可以用8880埠來訪問tomcat下面的專案了,這樣而就可以和80埠中jenkins區別開來。

【阿里雲伺服器搭建】系列教程

《阿里雲伺服器搭建》------ 安裝jdk
《阿里雲伺服器搭建》------ 安裝Tomcat
《阿里雲伺服器搭建》------ 安裝MySql
《阿里雲伺服器搭建》------ 安裝Jenkins
《阿里雲伺服器搭建》------ 安裝Git
《阿里雲伺服器搭建》------ 安裝Maven
《阿里雲伺服器搭建》------ 實現Linux和Jenkins的連結
《阿里雲伺服器搭建》------ 實現Jenkins和github之間自動化部署專案
《阿里雲伺服器搭建》------ 實現Github和本地倉庫連結
《阿里雲伺服器搭建》------ 實現Jenkins和github之間自動化部署Maven web專案
《阿里雲伺服器搭建》------ 部署多個tomcat,防止jenkins與專案共用一個埠