《阿里雲伺服器搭建》------部署多個tomcat,防止jenkins與專案共用一個埠
本系列教程的搭建環境為阿里雲伺服器,其他伺服器可作為參考。
本文主要講述實現兩個tomcat的獨立使用,拆分jenkins和實際專案共用tomcat的問題
首先,我們知道真實的專案環境中,不可能只存在一個tomcat,或者換句話說,A專案在部署後需要重啟,那麼就需要重啟tomcat,而如果B專案也在這個tomcat下,那麼A需要重啟tomcat的時候,B專案只能停止執行。但是這是不科學,也是不合理的。因此就需要將每個專案獨立部署在不同的tomcat下面,本文主要講述安裝多個tomcat,,來完成這個實現,後續可能會用tomcat多節點,叢集的方式來實現。
在前面文章中,我們已經有了一個80埠的tomcat,下面我們需要在開放一個8880埠的tomcat
1.複製tomcat到另外一位位置
- 先進入到原來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" />
-
上面我們增加了8880埠,接下來我們需要給伺服器開放8880埠。(參考前文:《阿里雲伺服器搭建》------ 安裝Tomcat 裡面的第10步驟。在檔案中增加下面內容即可。)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8880 -j ACCEPT
-
然後我們需要在阿里雲伺服器上面開放8880埠。(參考前文:《阿里雲伺服器搭建》------ 安裝Tomcat 裡面的第14步驟。在檔案中增加下面內容即可。)
-
最後切換到該tomcat下的bin目錄中,執行
./startup.sh
命令即可。 -
最後我們就可以用8880埠來訪問tomcat下面的專案了,這樣而就可以和80埠中jenkins區別開來。
【阿里雲伺服器搭建】系列教程
《阿里雲伺服器搭建》------ 安裝jdk
《阿里雲伺服器搭建》------ 安裝Tomcat
《阿里雲伺服器搭建》------ 安裝MySql
《阿里雲伺服器搭建》------ 安裝Jenkins
《阿里雲伺服器搭建》------ 安裝Git
《阿里雲伺服器搭建》------ 安裝Maven
《阿里雲伺服器搭建》------ 實現Linux和Jenkins的連結
《阿里雲伺服器搭建》------ 實現Jenkins和github之間自動化部署專案
《阿里雲伺服器搭建》------ 實現Github和本地倉庫連結
《阿里雲伺服器搭建》------ 實現Jenkins和github之間自動化部署Maven web專案
《阿里雲伺服器搭建》------ 部署多個tomcat,防止jenkins與專案共用一個埠