tomcat伺服器部署多專案方法

weixin_34321977發表於2015-11-25

下面將簡單總結一下如何在同一臺伺服器上部署多個tomcat服務。
我知道的總共有如下兩種方法:其中a也就是單一tomcat的話,如果啟動或者停止服務的話,所有的專案都會受影響。b方法的話彼此互不影響,就是麻煩些,大家可以根據自己情況選擇方案。
a. 單一tomcat,web專案部署在一個tomcat下
b. 多tomcat,web專案分別部署在不同tomcat下

一、單一tomcat方案

1、 Tomcat的Webapps目錄是Tomcat預設的應用目錄,當伺服器啟動時,會載入所有這個目錄下的應用。所以可以將程式打包成一個 war包放在目錄下,伺服器會自動解開這個war包,並在這個目錄下生成一個同名的資料夾。一個war包就是有特性格式的jar包,它是將一個web程式的所有內容進行壓縮得到。具體如何打包,可以使用許多開發工具的IDE環境,如Eclipse等。也可以用 cmd 命令:jar -cvf mywar.war myweb
webapps這個預設的應用目錄也是可以改變。開啟Tomcat的conf目錄下的server.xml檔案,找到下面內容,將appBase修改即可。

    <Host name="localhost" appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
            ```

2、在server.xml中指定
     在Tomcat的配置檔案中,一個Web應用就是一個特定的Context,可以通過在server.xml中新建Context裡部署一個JSP應用程式。開啟server.xml檔案,在Host標籤內建一個Context,內容如下。

在tomcat中的conf目錄中,在server.xml中的,<host/>節點中新增:
```xml
    <Context path="/hello" docBase="D:\ workspace\hello\WebRoot" debug="0" privileged="true">
    </Context>
    <Context path="/myapp" reloadable="true" docBase="D:\myapp" workDir="D:\myapp\work"/>
    <Context path="/sms4" docBase="D:\workspace\sms4\WebRoot"/>

說明:
path是虛擬路徑;
docBase 是應用程式的物理路徑;

二、多tomcat方案

1、下載tomcat.zip版軟體,分別解壓到兩個目錄,如tomcat1和tomcat2;
2、tomcat1的server.xml檔案的埠設定保持預設不變;
3、按照如下方法修改tomcat2的server.xml檔案中3個埠:

    <Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" />
    ```
8080修改為與tomcat1中不同的埠(確保設定的埠未被使用),如9090;
```xml
    <Server port="8005" shutdown="SHUTDOWN" debug="0">
    ```
8005埠修改為與tomcat1中不同的埠(確保設定的埠未被使用),如9005;
```xml
    <Connector port="8009" enableLookups="false" redirectPort="8443" debug="0" protocol="AJP/1.3" />
    ```
8009埠修改為與tomcat1中不同的埠(確保設定的埠未被使用),如9009;
    儲存server.xml檔案並關閉。 
    4、修改tomcat1中的服務名稱以備安裝;修改tomcat1中bin目錄下的service.bat檔案;
    set SERVICE_NAME=Tomcat5H
    set PR_DISPLAYNAME=Apache Tomcat1
    5、修改tomcat1中的服務名稱以備安裝;修改tomcat2中bin目錄下的service.bat檔案;
    set SERVICE_NAME=Tomcat5S
    set PR_DISPLAYNAME=Apache Tomcat2
    6、安裝tomcat服務;開啟命令列,切換到tomcat1的bin目錄下,然後執行:service.bat install,系統會提示"The service 'Tomcat5H' has been installed."
    然後將當前目錄切換到tomcat1的bin目錄下,同樣執行:service.bat install,系統會提示"The service 'Tomcat5S' has been installed."
    7、開啟服務視窗,看到服務列表裡顯示有Apache Tomcat1和Apache Tomcat2兩個服務 
    8、啟動Apache Tomcat1和Apache Tomcat2,均可啟動成功! 
    9、開啟IE,輸入http://localhost:8080 和 http://localhost:9090 ,均可可以看到tomcat首頁。
    至此兩個tomcat服務在同一臺伺服器上完美執行。

相關文章