A. [轉]Tomcat部署web應用的幾種方法
tomcat部署web應用主要有以下幾種方式: 1.拷貝你的WAR文件或者你的web應用文件夾(包括該web的所有內容)到$CATALINA_BASE/webapps目錄下。 2.為你的web服務建立一個只包括context內容的XML片斷文件,並把該文件放到$CATALINA_BASE/webapps目錄下。這個 web應用本身可以存儲在硬碟上的任何地方。這種context片斷提供了一種便利的方法來部署web應用,你不需要編輯server.xml,除非你想 改變預設的部署特性,安裝一個新的web應用時不需要重啟動Tomcat。3.同方法2,只是將context片斷放在CATALINA_BASE\conf\Catalina\localhost目錄下.這種方法比方法2要有效,筆者經過多次實驗發現方法2不如後面這種方法好用.前者多次出現系統打不開的情況. 4.直接在server.xml中</Host前加上Context片斷,使用這種方法時,tomcat會自動在 CATALINA_BASE\conf\Catalina\localhost目錄下生成一個文件片斷.方法同方法3具有同樣效果.這種方式需要將 ROOT目錄刪除才行. 另外,為了讓tomcat只運行conf/server.xml中指定的web應用,可以有以下幾種辦法:實現一: 1)將要部署的WEB應用放在webapps以外的路徑, 並在server.xml相應的context中的docBase指定. 2)刪除webapps中的所有文件夾, 以及conf/catalina/localhost下所有xml文件. 注: webapps是server.xml中的Host元素的appBase屬性的值.實現二: 1) 修改server.xml中Host元素的屬性, 添加或修改: deployXML="false" deployOnStartup="false" autoDeploy="false"2) 含義: deployXML="false": 不部署conf/catalina/localhost下的xml相應的WEB應用 deployOnStartup="false" : tomcat啟動時, 不部署webapps下的所有web應用 autoDeploy="false": 避免tomcat在掃描改動時, 再次把webapps下的web應用給部署進來
B. 如何整合Apache和Tomcat部署Web應用
1、准備,下載需要的文件。這里假定你已經正確安裝配置好了JDK。
到Apache官方網站下載所需要的文件:
httpd-2.2.0.tar.gz
apache-tomcat-5.5.12.tar.gz
jakarta-tomcat-connectors-1.2.15-src.tar.gz
其中httpd和jakarta-tomcat-connectors為源碼包,apache-tomcat為二進制包。
2、安裝Apache。
# tar xzvf httpd-2.2.0.tar.gz
# cd httpd-2.2.0
# ./configure --prefix=/usr/local/apache2 --enable-so
# make
# make install
3、安裝Tomcat。
# cp apache-tomcat-5.5.12.tar.gz /usr/local/
# cd /usr/local
# tar xzvf apache-tomcat-5.5.12.tar.gz
# ln -s apache-tomcat-5.5.12 tomcat
4、編譯生成mod_jk。
# tar xzvf jakarta-tomcat-connectors-1.2.15-src.tar.gz
# cd jakarta-tomcat-connectors-1.2.15-src/jk/native
# ./configure --with-apxs=/usr/local/apache2/bin/apxs
# make
# cp ./apache-2.0/mod_jk.so /usr/local/apache2/moles/
5、配置。
在/usr/local/apache2/conf/下面建立兩個配置文件mod_jk.conf和workers.properties。
C. 怎樣將web發布到tomcat中
將web發布到tomcat中
第一種方式:利用Tomcat自動部署
利用Tomcat自動部署方式是最簡單的、最常用的方式。若一個web應用結構為D:\workspace\WebApp\AppName\WEB-INF\*,只要將一個Web應用的WebContent級的AppName直接扔進%Tomcat_Home%\webapps文件夾下,系統會把該web應用直接部署到Tomcat中。
第二種方式:利用控制台進行部署
若一個web應用結構為D:\workspace\WebApp\AppName\WEB-INF\*,利用控制台進行部署的方式如下:進入tomcat的manager控制台的deploy區域——在Context path中鍵入"XXX"(可任意取名)——在WAR or Directory URL:鍵入D:\workspace\WebApp\AppName (表示去尋找此路徑下的web應用)——點擊deploy按鈕。 然後在%Tomcat_Home%\webapps路徑下將會自動出現一個名為XXX的文件夾,其內容即是D:\workspace\WebApp\AppName的內容,只是名字是XXX而已(這就是前面在Context path鍵入XXX的結果)。
D. 如何在Linux下使用Tomcat部署Web應用
環境
Windows 7 + RedHat Linux 9 + VWWare 8.0 + SSH 3.2.9 + Putty 0.62 + MySQL 5.1 + Tomcat 6.0.35 + JDK 1.6.27
問題
Linux下通過Tomcat部署Web項目
解決
1.將Windows下開發的項目打包成WAR包,將項目使用的資料庫導出為SQL文件;
2.Linux下安裝JDK、Tomcat、MySQL;
參考以下文章:
Linux下J2EE環境搭建(一)——JDK安裝
http://www.linuxidc.com/Linux/2013-01/77795.htm
Linux下J2EE環境搭建(四)——安裝Tomcat
http://www.linuxidc.com/Linux/2013-01/77795p4.htm
Linux下MySQL安裝詳解
http://www.linuxidc.com/Linux/2013-01/77802.htm
3.將項目WAR包放入Tomcat的webapps下;
4.啟動MySQL,創建資料庫,導入數據;
5.啟動Tomcat,訪問項目;
6.可以配置網路,讓外網也可以訪問。
注意事項
1. MySQL版本,盡量保持Windows和Linux的資料庫版本一致;
2. 編碼。
需要解決更多linux問題,詳情請看 http://www.linuxprobe.com/chapter-00.html
望採納
E. tomcat伺服器中的web應用程序部署在哪個物理位置
在Tomcat中部署Java Web應用程序有兩種方式:靜態部署和動態部署。
一、靜態部署
靜態部署指的是我們在伺服器啟動之前部署我們的程序,只有當伺服器啟動之後,我們的Web應用程序才能訪問。以下3中方式都可以部署:
1、將PetWeb目錄拷貝到$CATALINA_HOME\webapps下,然後啟動伺服器就可以了。這種方式比較簡單,訪問地址如下:http://localhost:8080/PetWeb/
2、這種方式可以不必將PetWeb目錄拷貝到webapps下,直接在F:\部署。方法如下,更改$CATALINA_HOME\conf\server.xml文件,在<host>標簽內添加<Context>標簽,內容如下:
<Context docBase="F:/PetWeb" reloadable="false" path="/Pet"/>
其中reloadable="false"表示當應用程序中的內容發生更改之後伺服器不會自動載入,這個屬性在開發階段通常都設為true,方便開發,在發布階段應該設置為false,提高應用程序的訪問速度。docBase為路徑,可以使用絕對路徑,也可以使用相對路徑,相對路徑相對於webapps。path屬性的值是訪問時的根地址。訪問地址如下:http://localhost:8080/Pet/ 。
3、這種方式和第二種方式差不多,但是不是在Server.xml文件中添加Context標簽,而是在$CATALINA_HOME\conf\Catalina\localhost中添加一個xml文件,如Pet.xml,內容如下:
<Context
docBase="F:/PetWeb" reloadable="false"
/>大家可能發現和第二種方式差不多,但是缺少了path屬性,這種方式伺服器會使用.xml的名字作為path屬性的值。訪問地址如
下:http://localhost:8080/Pet/ 。
我們剛才是將PetWeb文件夾部署在了伺服器中,我們知道可以將Web應用程序的內容打成.war包,然後在部署在伺服器上。
部署Pet.war文件非常簡單,將剛才有docBase="F:\PetWeb"更改為docBase="F:\Pet.war"或者直接將其拷貝到
webapps下也可以。重新啟動伺服器就可以將Pet.war部署為一個Web應用程序了。如果你夠細心的話你會發現,伺服器將Pet.war文件解開,並且在webapps下面又生成了一個Pet文件夾,然後把Pet.war的內容拷貝到裡面去了。我們可以通過以下方式取消自動解包,配置方式如下:
<Context
docBase="F:/PetWeb" reloadable="false" unpackWAR="false"/> 。
F. 怎麼將web應用部署到tomcat中,tomcat是否需要配置環境變數
Tomcat部署Web應用方法總結
在Tomcat中部署Java Web應用程序有兩種方式:靜態部署和動態部署。
在下文中$CATALINA_HOME指的是Tomcat根目錄。
一、靜態部署
靜態部署指的是我們在伺服器啟動之前部署我們的程序,只有當伺服器啟動之後,我們的Web應用程序才能訪問。
以下3種方式都可以部署:(以PetWeb項目為例說明,PetWeb目錄假設是F:/PetWeb)
1.利用Tomcat自動部署
將PetWeb目錄拷貝到$CATALINA_HOME/webapps下,然後啟動伺服器就可以了,Tomcat啟動時將自動載入應用。
訪問地址如下:http://localhost:8080/PetWeb/
這種方式比較簡單,但是web應用程序必須在webapps目錄下。Tomcat的Webapps目錄是Tomcat默認的應用目錄,當伺服器啟動時,會載入所有這個目錄下的應用。
2.修改Server.xml文件部署
這種方式可以不必將PetWeb目錄拷貝到webapps下,直接在F:/部署。方法如下,更改$CATALINA_HOME/conf/server.xml文件,
找到以下內容:
Xml代碼:
1. <Context path
="/Pet" reloadable ="false" docBase
="F:/PetWeb" workDir ="d:/Mywebapps/emp" />
path:是訪問時的根地址,表示訪問的路徑;如上述例子中,訪問該應用程序地址如下:http://localhost:8080/Pet/
reloadable:表示可以在運行時在classes與lib文件夾下自動載入類包。其中reloadable="false"表示當應用程序中的內容發生更改之後伺服器不會自動載入,這個屬性在開發階段通常都設為true,方便開發,在發布階段應該設置為false,提高應用程序的訪問速度。
docbase:表示應用程序的路徑,注意斜杠的方向「/」。
docBase可以使用絕對路徑,也可以使用相對路徑,相對路徑相對於webapps。
workdir:表示緩存文件的放置地址
3.增加自定義web部署文件(推薦使用,不需要重啟Tomcat
)
這種方式和方法2差不多,但不是在Server.xml文件中添加Context標簽,而是在$CATALINA_HOME/conf/Catalina/localhost中添加一個xml文件,如Pet.xml.在Tomcat安裝目錄conf/Catalina
/localhost下,裡面有Tomcat自帶的三個應用,隨意復制其中的一個XML文件,然後修改docbase指向你自己的應用程序,並把文件名改名,各參數參見方法2中的<Context>標簽的參數,或者你也可以自己新建一個XML文件。(注意此文件名將作為Context中的path屬性值,不管文件里的path屬性值如何設置也是無效的
),將以下內容復制過去,修改相應路徑即可。
Xml代碼:
1. <Context path
="/Pet" docBase ="F:/PetWeb"
2. debug ="0"
privileged ="true" reloadable ="false"
>
3. </Context>
訪問地址如下:http://localhost:8080/Pet/
註: Web應用以.war文件的形式部署
可以將JSP程序打包成一個war包放在目錄下,伺服器會自動解開這個war包,並在這個目錄下生成一個同名的文件夾。一個war包就是有特性格式的jar包,它是將一個Web程序的所有內容進行壓縮得到。
我們剛才是將PetWeb文件夾部署在了伺服器中,我們知道可以將Web應用程序的內容打成.war包,然後在部署在伺服器上。打包請參考如下步驟:
1、打開命令提示符(cmd)
2、設置jdk環境變數
3、在命令提示符中進入項目文件夾F:/PetWeb後,鍵入如下命令:jar cvfPet.war */ .
(注意最後有個「. 」)。這樣在F:/PetWeb下應該有Pet.war文件。(也可以打包到指定的地方,命令如下:jar
cvf d:/Pet.war */.)
部署Pet.war文件非常簡單,將剛才xml文件中的docBase
="F:/PetWeb"更改為docBase ="F:/Pet.war"或者直接將其拷貝到webapps目錄下就可以。然後重新啟動伺服器就可以將Pet.war部署為一個Web應用程序了。
如果你夠細心的話你會發現,伺服器將Pet.war文件解開,並且在webapps下面又生成了一個Pet文件夾,然後把Pet.war的內容拷貝到裡面去了。我們可以通過以下方式取消自動解壓縮,將xml配置文件中的unpackWAR屬性設置為"false"
即可。
二、動態部署
動態部署是指可以在伺服器啟動之後部署web應用程序,而不用重新啟動伺服器。動態部署要用到伺服器提供的manager.war文件,如果在$CATALINA_HOME/webapps/下沒有該文件,你必須去重新下載tomcat,否則不能完成以下的功能。要想使用該管理程序必須首先編輯$CATALINA_HOME/conf/tomcat-users.xml文件,內容如下:(關於這個文件的更多內容,請參考
Java Web應用程序的安全模型二)
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager"/>
<user username="coresun" password="coresun"roles="manager"/>
<user username="tomcat" password="tomcat"roles="tomcat"/>
<user username="both" password="tomcat"roles="tomcat,role1"/>
<user username="role1" password="tomcat"roles="role1"/>
</tomcat-users>
然後在瀏覽器中鍵入如下地址:http://localhost:8080/
,應該看到一個加菲貓了吧。點擊左邊的Tomcat Manager鏈接,提示輸入用戶名和密碼,本文都是coresun,然後可以看到以下頁面:
(1)Context Path(option):中輸入/Pet
(2)XML Configration file URL中要指定一個.xml文件,比如我們在F:/下建立一個Pet.xml文件,內容如下:<Context reloadable
="false" / >。docBase不用寫了,因為要在下一個文本框中填入。或者更簡單點,這個文本框什麼都不填。
(3)WAR or Directory URL:中鍵入F:/PetWet或者F:/Pet.war都可以,然後點擊Deploy按鈕,看看上面是不是已經看到了你web應用程序,名字就是你ContextPath(option):中的名字。
(4)如果你部署.war文件還有更加簡單的方式,下面還有個Select WAR file upload點擊瀏覽選擇.war文件,然後點擊Deploy也可以。
讓tomcat只運行conf/server.xml中指定的web應用
可以有以下2種辦法:
實現一:
1)將要部署的WEB應用放在webapps以外的路徑,
並在server.xml相應的Context 中的docBase指定.
2)刪除webapps中的所有文件夾,
以及conf/catalina/localhost下所有xml文件.
注: webapps是server.xml中的Host 元素的appBase屬性的值.
實現二:
修改server.xml中Host 元素的屬性,
添加或修改:
deployXML ="false"
deployOnStartup ="false"
autoDeploy ="false"
含義:
deployXML ="false"
: 不部署conf/catalina/localhost下的xml相應的WEB應用
deployOnStartup ="false"
:tomcat啟動時,
不部署webapps下的所有web應用
autoDeploy ="false"
:避免tomcat在掃描改動時,
再次把webapps下的web應用給部署進來.
註:
Tomcat中webapps目錄下不能直接存放網頁格式的文件,否則無法訪問到該文件,必須有子目錄才能訪問該網頁文件。
例如:我們直接將index.html放在webapps目錄中,通過瀏覽器http://localhost:8080/index.html是無法訪問到index.html的。而必須要webapps/petweb/index.html才可以通過http://localhost:8080/petweb/index.html訪問到index.html頁面。
G. 請問一個Web應用部署到Tomcat伺服器上之後的目錄結構是怎樣的
把服務部署到tomcat上有多種方法,有的直接把編譯後的應用拷貝到tomcat的webapps目錄下面,有的是導出成.war文件拷貝到webapps下面,這樣的話啟動tomcat會自動生成一個同名的應用文件夾裡面會有tomcat解壓後的應用目錄,還有些不用拷貝到webapps目錄下,通過tomcat的server配置指定任意的文件夾為web應用的發布目錄。
基本上目錄結構是這樣的,首先根目錄就是以你的項目名稱命名的文件夾,根目錄下面會有各種前台展示相關的代碼文件,比方說包含jsp文件、css文件、js文件、image文件等前台展示相關的文件夾或文件都可以放在根目錄下面,根目錄下面還有一個WEB-INF文件夾,該文件夾下是一些應用配置文件:web.xml、應用庫文件夾lib文件夾該文件夾下是應用用到的一些第三方jar包、應用編譯文件夾:class,該文件夾下是你的應用開發中的src目錄下面的所有java文件或者其他配置文件的編譯後的文件目錄,目錄結構跟你的開發src目錄結構一致。
H. 如何在Linux下使用Tomcat部署Web應用
一般都在windows下開發的,現在部署到linux下:
1,將項目達成war包(用eclipse,項目右鍵--Export--選擇warfile)
2,將tomcat(用winSCP當然你也可以用secureCRT,用securCRT需要建立sftp(即上傳文件的目錄),用puttomcat命令)考到ilunx對應的目錄下
3,然後將項目的war包放到tomcat的webapps目錄下
4,啟動tomcat(命令:./startup.sh(linux下啟動tomcat是.sh文件而非.bat文件))遇到問題如下:運行./startup.sh是報錯-bash:./startup.sh:Permissiondenied原因:沒有運行.sh的許可權解決:chmod777*.sh755代表用戶對該文件擁有讀,寫,執行的許可權,同組其他人員擁有執行和讀的許可權,沒有寫的許可權,其他用戶的許可權和同組人員許可權一樣。777代表,user,group,others,都有讀寫和可執行許可權。獲得許可權後再運行./startup.sh命令時報錯:原因:該文件需要一個運行環境(即配置jdk環境變數)解決:JAVA_HOME=/usr/java/jdk1.6.0_25/(當然這個目錄根據自己的jdk安裝目錄)然後在運行./startup.sh提示:UsingCATALINA_BASE:/usr/local/sarft/apache/apache-tomcat-6.0.29UsingCATALINA_HOME:/usr/local/sarft/apache/apache-tomcat-6.0.29UsingCATALINA_TMPDIR:/usr/local/sarft/apache/apache-tomcat-6.0.29/tempUsingJRE_HOME:/usr/java/jdk1.6.0_25/UsingCLASSPATH:/usr/local/sarft/apache/apache-tomcat-6.0.29/bin/bootstrap.jar如果提示以上信息表明tomcat啟動成功!大功告成,運行項目,正常跑起!PS:這個應該屬於很初級的,不過對於本人來說,畢竟是第一次,從發現問題,到解決問題也許到了一些。