天天看點

Tomcat在Linux上的安裝

1、下載下傳JDK和Tomcat

jdk下載下傳位址:

   http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

tomcat下載下傳位址:

2、jdk安裝和配置

(1)jdk安裝

yum localinstall jdk-8u151-linux-x64.rpm

(2)配置環境變量

vim /etc/profile.d/java.sh 

export JAVA_HOME=/usr/java/jdk1.8.0_151  定義路徑

export JRE_HOME=$JAVA_HOME/jre

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

. /etc/profile.d/java.sh

測試jdk:

#java -version   顯示java程式的版本資訊

openjdk version "1.8.0_102"

OpenJDK Runtime Environment (build 1.8.0_102-b14)

OpenJDK 64-Bit Server VM (build 25.102-b14, mixed mode)

3、安裝Tomcat

(1)、下載下傳:apache-tomcat-7.0.78.tar.gz 

#tar xvf apache-tomcat-7.0.78.tar.gz -C /usr/local/      解壓;

#ll /usr/local/ | grep tomcat     檢視解壓後的目錄;

(2)、為友善管理,建立軟連結;

ln -s /usr/local/apache-tomcat-8.5.11/ /usr/local/tomcat

(3)、建立環境配置腳本;

#vim /etc/profile.d/tomcat.sh

export PATH=$CATALINA_BASE/bin:$PATH

export CATALINA_BASE=/usr/local/tomcat

賦予執行權限;

#chmod +x /etc/profile.d/tomcat.sh

加載環境配置;

#source /etc/profile.d/tomcat.sh

(4)、啟動tomcat

#/usr/local/tomcat/bin/catalina.sh start 或 #catalina.sh start

檢視tomcat是否正常啟動

(5)、測試本地8080端口是否正常監聽

#curl -I 127.0.0.1:8080

(6)、通過浏覽器通路測試(需指定8080端口),注意selinux與iptables政策;

4.配置web管理帳号

   修改檔案conf/tomcat-users.xml,在<tomcat-users>元素中添加帳号密碼,需要指定角色.

   # vim /usr/local/tomcat/conf/tomcat-users.xml

     <tomcat-users>

      <role rolename="manager-gui"/>

      <role rolename="admin-gui"/>

       <user name="admin" password="admin" roles="manager-gui,admin-gui" />

     </tomcat-users>

   重新開機服務:/usr/local/tomcat/bin/catalina.sh stop-->/usr/local/tomcat/bin/catalina.sh start

5.配置web通路端口

   可以修改conf目錄下的檔案server.xml,修改Connector元素(Tomcat的預設端口是8080),需要重新啟動Tomcat服務生效.

   # vim /usr/local/tomcat/conf/server.xml

   <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 

6.Tomcat的目錄結構

   ·bin     //存放Tomcat的指令腳本檔案

   ·conf    //存放Tomcat伺服器的各種配置檔案,最主要是server.xml

   ·lib     //存放Tomcat伺服器支撐jar包

   ·logs    //存放日志檔案

   ·temp    //存放臨時檔案

   ·webapps //web應用所在目錄,外界通路web資源的存放目錄

   ·work    //Tomcat的工作目錄

7.web應用的目錄結構

   webapp                           -- web應用所在目錄

     |--- html, jsp, css, js檔案等  -- 這些檔案一般在web應用根目錄下,根目錄下的檔案外界可以直接通路.

     |--- WEB-INF 目錄              -- java類、jar包、web配置檔案存在這個目錄下,外界無法直接通路,由web伺服器負責調用.

           |--- classes 目錄        -- 類檔案,目前webapp所提供的類

           |--- lib 目錄            -- 類檔案,目前webapp所提供的類,被打包為jar格式

           |--- web.xml 檔案        -- web應用的配置檔案

部署(deploy)webapp的相關操作:

    deploy:将webapp的源檔案放置于目标目錄(網頁程式檔案存放目錄),配置tomcat伺服器能夠基于web.xml和context.xml檔案中定義的路徑來通路此webapp;将其特有的類和依賴的類通過class loader裝載至JVM;

        部署有兩種方式:

            自動部署:auto deploy;

            手動部署:

                冷部署:把webapp複制到指定的位置,而後才啟動tomcat;

            熱部署:在不停止tomcat的前提下進行部署;

            部署工具:manager、ant腳本、tcd(tomcat client deployer)等;                    

    undeploy:拆除(反部署),停止webapp,并從tomcat執行個體上解除安裝webapp;

    start:啟動處于停止狀态的webapp;

    stop:停止webapp,不再向使用者提供服務;其類依然在jvm上;

    redeploy:重新部署;

8.虛拟主機的配置

   指定虛拟主機名,修改conf/server.xml,添加<host>元素.

   <host name="hostname.domainname" appBase="/webapps">

     <Context path="/webapp" docBase="/webapps/webapp"/>

   </host>

   例:

   <host name="www.163.com" appBase="/webapps">

   <host name="mail.163.com" appBase="/mailapps">

   須設定DNS解析(hosts檔案或DNS系統).

9.web應用和虛拟目錄的映射

   可以修改xml配置檔案的<Context>元素來設定web應用和虛拟目錄的映射.

   ·conf/server.xml         //在<host>元素下添加<Context path="/webdir" docBase="/webappdir"/>,需要重新啟動Tomcat服務生效,不建議使用.

   ·conf/context.xml        //添加<Context>元素所有web應用有效,其存放位置為WEB-INF/目錄中;此檔案為所有的webapps提供預設配置.

   ·conf/[enginename]/[hostname]/context.xml.default  //[enginename]一般是Catalina,主機[hostname]的所有web應用有效.

   ·conf/[enginename]/[hostname]/   //在目錄下任意建一個檔案(擴充名xml),檔案名即為虛拟目錄名.多級目錄使用#分割. 

    <Context docBase="/webappdir"/>  //預設值web應用目錄可以定義為ROOT.xml,添加<Context docBase="/webappdir"/>,需重新啟動Tomcat伺服器.

   ·META-INF/context.xml    //可以将web應用放在webapps目錄下讓Tomcat伺服器自動映射,适用開發環境,實際運用環境中不用自動映射。如沒有修改配置檔案,web應用目錄為ROOT時則為預設web應用。

10.web應用首頁(welcome file)的配置

   修改web應用的配置檔案: [webapp]/WEB-INF/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>

Tomcat的核心元件:server.xml

            <Server>

                <Service>

                    <connector/>

                    ...

                    <Engine>

                        <Host>

                            <Context/>

                            ...

                        </Host>

                        ...

                    </Engine>

                </Service>

            </Server>

補充知識:

java中servlet和jsp差別:

①、JSP在本質上就是SERVLET,但是兩者的建立方式不一樣.

②、Servlet完全是JAVA程式代碼構成,擅長于流程控制和事務處理,通過Servlet來生成動态網頁很不直覺.

J3、SP由HTML代碼和JSP标簽構成,可以友善地編寫動态網頁.

是以在實際應用中采用Servlet來控制業務流程,而采用JSP來生成動态網頁.在struts架構中,JSP位于MVC設計模式的視圖層,而Servlet位于控制層.

①、JSP是Servlet技術的擴充,本質上就是Servlet的簡易方式。

②、JSP編譯後是“類servlet”。

③、Servlet和JSP最主要的不同點在于,Servlet的應用邏輯是在Java檔案中,并且完全從表示層中的HTML裡分離開

來。而JSP是Java和HTML組合成一個擴充名為.jsp的檔案。

④、JSP側重于視圖,Servlet主要用于控制邏輯。

本文轉自 優果馥思 51CTO部落格,原文連結:http://blog.51cto.com/youguofusi/2053806