1. 程式人生 > >Tomcat在Linux上的安裝

Tomcat在Linux上的安裝

tomcat

1、下載JDK和Tomcat

jdk下載地址:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

tomcat下載地址:
http://tomcat.apache.org/


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>
<host name="mail.163.com" appBase="/mailapps">
</host>
須設置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/>
<connector/>
...
<Engine>
<Host>
<Context/>
<Context/>
...
</Host>
<Host>
...
</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主要用於控制邏輯。


Tomcat在Linux上的安裝