tomcat部署多個站點方法
好處:
1.tomcat部署,更新一個站點不用重啟所有站點
2.tomcat啟動後的命令視窗,如果關閉,則tomcat服務不會掛掉
方法:
1.使用tomcat多例項部署方式,1個網站=1個tomcat例項=1個埠號;
2.將每個tomcat例項分別製作成不同的windows服務;
步驟:
現在我要部署2個網站,分別是ebm-web和ebm-mobile-web
1.下載tomcat,解壓後如圖:
2.在目錄下新建資料夾ebm-web,將除bin,lib以外的資料夾拖入ebm-web(為了實現多例項)
3.開啟conf/server.xml檔案進行修改,修改3個埠號(很關鍵!跟其他例項不能重複!!!);
(關閉tomcat的埠)
(網站埠)
(tomcat AJP埠,我也不知道是個啥)
還要在HOST節點下增加一個Context配置;
<Context path="" docBase="D:\tomcat\apache-tomcat-8.0.29\ebm-mobile-web\webapps" debug="0" reloadable="true" crossContext="true" sessionCookieName="ebm-mobile-web" />
上句標紅處要修改;(docBase為網站程式路徑,sessionCookieName是為了站點之間的session不會亂)
接下來把ebm-web專案內容拷貝到webapps下;(注意:直接拷裡面的內容,這樣我就直接訪問localhost:xxx了,而不是localhost:xxx/ebm-web);
然後到tomcat路徑下的/bin裡,在此處開啟命令列(shift+右鍵);
執行命令(建立windows服務):
set CATALINA_HOME=D:\tomcat\apache-tomcat-8.0.29 #設定環境變數CATALINA_HOME為當前tomcat根目錄 set CATALINA_BASE=D:\tomcat\apache-tomcat-8.0.29\ebm-web #設定環境變數CATALINA_BASE為當前tomcat例項目錄 service install ebm-web #此處ebm-web為windows服務名 Tomcat8.exe //US//ebm-web --Startup=auto #設定為開機自動啟動 #正式環境需要調整jvm記憶體(測試環境可不調),再執行下面的語句,分別表示初始記憶體和最大記憶體,單位為MB Tomcat8.exe //US//ebm-web --JvmMs=1024 --JvmMx=2048
成功的話,如下圖:
最後,開啟windows服務(工作管理員-服務)ebm-web就跑起來了;
接下來是ebm-mobile-web,重複上面的步奏,記得改埠之類的,上圖
刪除服務的命令為:
service.bat remove 你的服務名
注意:調整jvm記憶體
tomcat的預設記憶體比較小,可能會導致記憶體不足的異常,所以在正式環境我們需要將記憶體調大。
方法一:
在tomcat安裝目錄的bin目錄執行:
Tomcat8.exe //US//你的服務名稱 --JvmMs=1024 --JvmMx=2048
重啟你的服務。
方法二:
在tomcat的bin目錄找到service.bat檔案,用編輯器開啟,在檔案末尾找到JvmMs和JvmMx兩個引數,分別表示初始記憶體和最大記憶體大小,單位為MB,根據伺服器記憶體情況調大其數值,重新安裝你的服務才能生效。