posts - 40,  comments - 187,  trackbacks - 0
          ?
          前些時日,出于某種需要,需要同時啟動多個Tomcat服務器,在網上查了半天,才找到解決的辦法,拿出來分享一下,嘿嘿。

          我所用Tomcat服務器都為zip版,非安裝版。以兩個為例:
          安裝第二個Tomcat完成后,到安裝目錄下的conf子目錄中打開server.xml文件,查找以下三處:

          ? (1) 修改http訪問端口(默認為8080端口)
          ?????????
          <Connector???className="org.apache.coyote.tomcat4.CoyoteConnector"???port="8080"??
          ???????????????????????????????minProcessors
          ="5"???maxProcessors="75"
          ???
          ????????????????????????????????enableLookups
          ="true"???redirectPort="8443"
          ???
          ????????????????????????????????acceptCount
          ="100"???debug="0"???connectionTimeout="20000"
          ???
          ????????????????????????????????useURIValidationHack
          ="false"???disableUploadTimeout="true"???/>
          ?

          (大概在86行左右)將8080修改為第一個tomcat不在使用的端口號。此處所設的端口號即是以后訪問web時所用的端口號。 ?

          ? (2) 修改Shutdown端口(默認為8005端口)
          ???
          <Server?port="8005"?shutdown="SHUTDOWN"?debug="0">

          ?
          ?
          (大概在13行左右)將8005修改為沒有在使用的端口號,例如8095???

          ? (3) 修改JVM啟動端口(默認為8009端口)
          ?????????
          ? < Connector??? className ="org.apache.coyote.tomcat4.CoyoteConnector" ???
          ????????????????????????????????port
          ="8009" ???minProcessors ="5" ???maxProcessors ="75"
          ???
          ????????????????????????????????enableLookups
          ="true" ???redirectPort ="8443"
          ???
          ????????????????????????????????acceptCount
          ="10" ???debug ="0" ???connectionTimeout ="20000"
          ??
          ????????????????????????????????useURIValidationHack
          ="false"
          ???
          ???????????????????????????????protocolHandlerClassName
          ="org.apache.jk.server.JkCoyoteHandler" />

          ? (大概在107行左右)將8009修改為沒有在使用的端口號,例如8099???
          ???
          這樣就沒問題了。

          ????????????????????????????????????????????
          THE END
          ?
          ?
          posted on 2007-01-15 16:56 小立飛刀 閱讀(60454) 評論(19)  編輯  收藏 所屬分類: JavaEE Servers

          FeedBack:
          # re: 如何同時啟動多個Tomcat服務器
          2007-01-16 13:46 | hcom
          不知道啟動多個tomcat,和開啟多個tomcat實例有什么區別?

          就像weblogic,可以只安裝一個,但可以開啟多個實例。  回復  更多評論
            
          # re: 如何同時啟動多個Tomcat服務器
          2007-01-16 18:09 | 小雪飛刀
          @hcom
          您的意思是在一個Tomcat服務器下,部署多個Application嗎?當然可以啦!
          比如我在同一個Tomcat下
          部署了app1和app2兩個應用,
          http端口設為8080,
          我就可以通過http://localhost:8080/app1
          http://localhost:8080/app2 兩個地址訪問我的服務。

          而我文中的意思是一臺PC或Server上同時啟動多個Tomcat服務器。
          如我同時啟動了兩個Tomcat服務器,其http端口分別為8888,9999。并在每個Tomcat上部署了app1和app2兩個應用,
          我就可以通過http://localhost:8888/app1
          http://localhost:8888/app2 兩個地址訪問我的服務。
          也可以通過http://localhost:9999/app1
          http://localhost:9999/app2 兩個地址訪問我的服務。

          不知道這樣能不能回答您的問題呢?:-)
            回復  更多評論
            
          # re: 如何同時啟動多個Tomcat服務器
          2007-01-17 08:53 | 新5963
          你這樣只能是在一個jdk下面,假如你的機器上有兩個JDK1.4 和1.5,tomcat4和TOMCAT5.5,你要怎么配置?

          tomcat4只能和JDK1.4搭配,TOMOCAT5.5和JDK1.5搭配  回復  更多評論
            
          # re: 如何同時啟動多個Tomcat服務器
          2007-01-17 14:24 | zhyiwww
          @新5963
          各用各的jdk,各用各的端口就可以了。
          配置端口就是為了不讓端口沖突,否則tomcat就不能啟動。
          至于tomcat使用的jdk就在tomcat/bin中的startup.bat和shutdown.bat中用
          set JAVA_HOME= 進行配置  回復  更多評論
            
          # re: 如何同時啟動多個Tomcat服務器
          2007-01-19 13:10 | hcom
          我在網上看到好多人說,前端用一個apache 后面跑幾個tomcat實例,可以實現負載均衡。是不是指用一個apache處理靜態頁面和轉發請求到后面的幾個tomcat處理呀?這樣做能夠提高系統的并發能力?  回復  更多評論
            
          # re: 如何同時啟動多個Tomcat服務器
          2007-01-19 15:53 | 小雪飛刀
          # re: 如何同時啟動多個Tomcat服務器
          2007-01-19 15:59 | 小雪飛刀
          Apache 和 Tomcat都可以做為獨立的WEB服務器來用,apache功能強大、高效,但并不能支持JSP及serlet。Tomcat是Sun和Apache合作做出來的JSP Server,Tomcat目前已經成為Apache主要的Servlet和JSP的引擎。Tomcat在設計上是以獨立的Server執行,而不像Jserv是附在Apache中,這樣就更可以發揮在servlet中,非HttpServlet的能力。Tomcat是Java程序,所以只要有JDK就可以使用,不需要考慮操作系統平臺。

          作為WEB服務器擴展的Tomcat服務器有一些問題需要說明: 當處理靜態頁面時,Tomcat不如Apache迅速;Tomcat不象Apache一樣可配置; Tomcat不象Apache一樣強壯。基于以上原因,一個現實的網站使用一個Apache作為Web服務器,為網站的靜態頁面請求提供服務;并使用Tomcat服務器作為一個Servlet/JSP插件,顯示網站的動態頁面。

          采用apache+tomcat這樣的結構才具有更特出的優點,主要體現在具有更好的可擴展性和安全性。這種類型的站點的主要特點是每一個頁面都可能是動態生成的,但這些數據中主要部分還是靜態的(比如,各類圖像GIF、JPG、PNG,流式媒體等),這種結構的優點是兼有可擴展性和安全性。
            回復  更多評論
            
          # re: 如何同時啟動多個Tomcat服務器
          2007-03-20 09:54 | realcode
          呵呵,同時啟動兩個tomcat服務要用在什么地方呢?
          估計只有在做對比測試時才會用到,一般應該用不到吧?  回復  更多評論
            
          # re: 如何同時啟動多個Tomcat服務器
          2007-03-20 11:19 | 小雪飛刀
          @realcode
          其實我當初配兩個tomcat,是為了用不同的JDK版本測試同一個Application。一般來說,您可以把多個Application部在一個tomcat下就行了。
            回復  更多評論
            
          # re: 如何同時啟動多個Tomcat服務器[未登錄]
          2007-12-12 10:45 | sun
          想問一下,如果我可以同時在8888,9999端口訪問我的同一個app。
          是否會出現數據訪問不一致的情況??
            回復  更多評論
            
          # re: 如何同時啟動多個Tomcat服務器
          2007-12-12 11:22 | 小立飛刀
          @sun
          那就需要看您的應用的數據源是否相同了,如果不同,肯定是數據不一致了。建議您在Tomcat中配置應用的數據源。
            回復  更多評論
            
          # re: 如何同時啟動多個Tomcat服務器[未登錄]
          2007-12-15 05:29 | sun
          樓主,還有一個問題需要請教:
          hcom 說的意思不是在一個tomcat下部署多個app,他的意思是安裝一個tomcat,啟動多個實例,例如我可以只安裝一個tomcat但是經過配置,可以達到開啟多個服務的目的,例如:http://localhost:8081/app1
          http://localhost:8082/app1
          而安裝多個tomcat也可以達到以上的目的,我也是關于這個不清楚  回復  更多評論
            
          # re: 如何同時啟動多個Tomcat服務器
          2007-12-17 11:42 | 小立飛刀
          @sun
          啟動多個Tomcat服務,Tomcat的版本可以不同,可以分別升級,這幾個Tomcat里的應用不會互相影響,并且web應用運行于多個JVM中;
          啟動多個Tomcat實例,Tomcat的版本相同,web應用也是分別運行在不同的JVM上。

          PS:tomcat如何在一個程序版本上運行多個instance

          tomcat有個環境變量CATALINA_BASE,用來指定一個目錄,tomcat是依據該目錄的內容來實現大部分的啟動工作的,包括我們最關心的web app的加載,該目錄由conf,logs,shared,webapps,work,temp子目錄組成。這樣,為每個instance新建一個目錄,配置好其內容(注意同樣要修改server.xml使端口不一樣),然后在啟動每個instance時使CATALLINA_BASE指向該instance對應的目錄,就能實現啟動多個instance的目的??梢栽趇nstance對應的目錄下寫一個startup.bat來完成該instance的啟動工作,該腳本使用腳本所在的目錄作為CATALINA_BASE,可以在從任何目錄下運行,并且保留了tomcat啟動腳本的參數:
          @echo off set CMD_LINE_ARGS= :setArgs if ""%1""=="""" goto doneSetArgs set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1 shift goto setArgs :doneSetArgs set EXECUTABLE=%CATALINA_HOME%\bin\startup.bat set CATALINA_BASE=%~dp0 call "EXECUTABLE" %CMD_LINE_ARGS%  回復  更多評論
            
          # re: 如何同時啟動多個Tomcat服務器
          2008-05-15 10:43 | ok了
          謝謝你的文章,我把問題解決了.  回復  更多評論
            
          # re: 如何同時啟動多個Tomcat服務器
          2008-05-15 14:46 | 小立飛刀
          @ok了
          客氣了
            回復  更多評論
            
          # re: 如何同時啟動多個Tomcat服務器
          2009-04-03 15:36 | wj
          解壓版怎么運行?  回復  更多評論
            
          # re: 如何同時啟動多個Tomcat服務器
          2009-04-07 09:39 | 小立飛刀
          @wj
          如果是Window系統的話,可以在系統環境變量里配置一下Tomcat的路徑,如:D:\Tomcat\apache-tomcat-5.5.23\bin。然后直接運行\tomcat\bin\startup.bat就行了。

          另外 喜歡命令行模式的 可以在命令行輸入 catalina run,如:
          >cd d:\tomcat\bin
          D:\tomcat\bin>catalina run

            回復  更多評論
            
          # re: 如何同時啟動多個Tomcat服務器[未登錄]
          2013-08-15 16:04 | kk
          @realcode
          根據業務不同,所以才會啟動2兩個tomcat  回復  更多評論
            
          # re: 如何同時啟動多個Tomcat服務器[未登錄]
          2016-03-17 09:24 | 小西
          倆個同樣的tomcat,兩個同樣的jdk這樣的配置怎么能,同時啟動倆個tomcat。已啟動就報jvm,請問如何修改呢?  回復  更多評論
            
          <2008年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          生存或毀滅,這是個必答之問題:是否應默默的忍受坎苛命運之無情打擊,還是應與深如大海之無涯苦難奮然為敵,并將其克服。此二抉擇,究竟是哪個較崇高?

          常用鏈接

          留言簿(12)

          隨筆分類(43)

          相冊

          收藏夾(7)

          朋友的博客

          電子資料

          搜索

          •  

          積分與排名

          • 積分 - 302757
          • 排名 - 192

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 大安市| 贵港市| 北宁市| 长春市| 泸州市| 扶余县| 梁山县| 延川县| 仪陇县| 万盛区| 桂阳县| 丹巴县| 诏安县| 运城市| 普安县| 荥经县| 启东市| 育儿| 旺苍县| 枣强县| 镇康县| 稷山县| 色达县| 肥乡县| 阳山县| 西城区| 枞阳县| 石首市| 盐池县| 阿巴嘎旗| 祁东县| 罗甸县| 台湾省| 香港| 新安县| 龙里县| 西华县| 汝城县| 靖宇县| 衡水市| 莎车县|