1. 程式人生 > >Tomcat 7.0 安裝 虛擬目錄 虛擬主機講解

Tomcat 7.0 安裝 虛擬目錄 虛擬主機講解

一.配置java環境

1.安裝tomcat 首先要安裝jdk 這裡我們配置jdk 7.0 在網上下載jdk 7.0 根據你的系統是多少位。

2.在環境變數中新增JAVA_HOME 就是我們解壓下來jdk存放的根路徑 :
C:\Program Files\Java\jdk1.7.0_79

3.在環境變數中新增CLASSPATH路徑 :
.%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

4.在path路徑中新增 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;


安裝完成之後,測試:
cmd->java
cmd->javac



二.配置tomcat環境

1.在環境變數中新增CATALINA_HOME: 就是我們解壓下來的根路徑:

D:\Program Files (x86)\Tomcat7.0\apache-tomcat-7.0.52-windows-x86\apache-tomcat-7.0.52

2.在環境變數path後面新增:

;%CATALINA_HOME%\lib;%CATALINA_HOME%\lib\servlet-api.jar;%CATALINA_HOME%\lib\jsp-api.jar

下面就配置好了所有的環境變數。

測試tomcat 是否配置成功:

到bin目錄下面,點選 start.bat檔案,如果未報錯且不閃退,在瀏覽器中輸入:http://localhost:8080/  出來介面則證明成功。

注意:

上面配置JAVA_HOME以及CATALINA_HOME變數是因為,start.bat在啟動tomcat時,會用到這兩個變數,如果沒有配置,就需要在
start.bat 以及shutdown.bat 上面加上:


SET JAVA_HOME=C:\Program Files\Java\jdk1.7.0_79
SET CATALINA_HOME=D:\Program Files (x86)\Tomcat7.0\apache-tomcat-7.0.52-windows-x86\apache-tomcat-7.0.52

三.更改Tomcat預設配置

1.修改Tomcat的預設監聽埠

我們找到conf下面的server.xml 檔案 ,找到connector 裡面的預設埠是8080,如果想要我們訪問地址時不加上埠,就將其改成80埠,因為http預設埠就是80.

這樣訪問時就不需要加上8080了。

2.修改Tomcat的預設站點

站點是具有特定結構的資料夾,在伺服器中肯定是資料夾的形式,在Tomcat用於站點的資料夾,可用於作為站點的資料夾必須有如下特點:擁有一個名為WEB-INF的子檔案

夾,該子資料夾下必須有一個名為web.xml的檔案,而且該xml檔案必須受約束與特定的DTD(web.xml內容可以參考webapps/ROOT/WEB-INF/web.xml)

我們找到server.xml下面的host結點,

 <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
		<Context path="lj" docBase="test2"/>
        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t "%r" %s %b" />

      </Host>

其中name就是域名或者ip,appBase就是主機空間地址這裡是相對地址

context節點中的path就是域名後面加上什麼 名字,docBase表示頁面程式存放的路徑。

例如:webapps下面有test程式資料夾。那麼想要訪問這個程式可以輸入:

http://localhost:8080/lj   或者 http://localhost:8080/test   都可以。  其中docBase這裡是相對路徑

Tomcat預設將http://localhost:埠/ 指向了上面<Host>  裡面appBase(上面是webapps,這裡可以改變) 下面的ROOT 的程式碼。

這也是為什麼我們啟動了Tomcat 輸入localhost:埠 出來的頁面就是ROOT下面的。

在部署專案時,我們只需要將編譯好的專案(符合Tomcat規定)放在webapps下面  (這裡的webapps和server.xml中的appBase中的webapps對應) 就可。不需要再新增

<context>節點,除非我們訪問時想要改變訪問輸入的名稱(更改path即可)。


3.修改預設頁面

Tomcat的conf目錄下面的web.xml檔案的最下面有預設頁面,

 <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

但是更改這裡,即更改了所有的專案。不推薦這樣做,只需要在對應的專案目錄中的web.xml更改目錄即可。


四.虛擬主機的配置

所謂虛擬主機,就是將一個或多個主機名(域名)和Tomcat所在的伺服器進行繫結。由於一個IP可以和多個域名進行幫定,我們大可以將不同的域名指向伺服器(指硬體)上的不同資料夾,造成一個伺服器(或者一個IP)多個主機的“虛擬主機”效果。
這個實現起來相當的簡單。只需要在server.xml檔案中新建Host節點,將其屬性進行不同設定即可

 #你的主機名(域名)1
 2 <Host name="localhost"  appBase="webapps"
 3            unpackWARs="true" autoDeploy="true"
 4            xmlValidation="false" xmlNamespaceAware="false"> 
 5 </Host> 
 6 #你的域名2
 7 <Host name="www.coderecord.org" appBase="主機空間地址" 
 8        unpackWARs="true" autoDeploy="true" 
 9        xmlValidation="false" xmlNamespaceAware="false">  
10        #域名3可以和域名2共用一個主機空間
11         <alias>coderecord.org</alias>
12         <Context path="" docBase="站點地址" debug="1" reloadable="true" allowLinking="true" />
13 </Host>

如果這樣做,那麼重啟Tomcat所有的專案都會重啟。
可以在一個伺服器中配置多個Tomcat,只需要將server.xml中的幾個相應的埠修改不同即可。

五.設定Tomcat管理員密碼

開啟Tomcat下面conf目錄下的tomcat-user.xml檔案。

<!--
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="role1" password="tomcat" roles="role1"/>
-->

其中只有tomcat,role1的角色。

這裡我們新增manager和admin角色。

<tomcat-users>   
           <role rolename="tomcat"/>   
           <role rolename="role1"/>   
           <role rolename="manager"/>   
           <role rolename="admin"/>   
           <user username="tomcat" password="tomcat" roles="tomcat"/>   
           <user username="both" password="tomcat" roles="tomcat,role1"/>   
           <user username="role1" password="tomcat" roles="role1"/>   
           <user username="admin" password="admin" roles="manager"/>   
    </tomcat-users> 
以及使用者名稱。