h0945466 发表于 2018-11-30 07:54:57

Tomcat安装、配置、案例分析

  

一、安装tomcat
Tomcat是web container,通过java语言开发,所以必须运行在JRE或JDK上,一般安装JDK
         1.jdk安装,可以用sun或openjdk,这里用sun的
  

[*]  下载地址,下载linuxx64 rpm安装包即可
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
  

[*]  安装
rpm -ivh jdk-8u65-linux-x64.rpm
  


[*]  测试安装是否成功
# service tomcat status
Usage:tomcat {start|stop|restart}
# java -version
javaversion "1.8.0_65"
Java(TM)SE Runtime Environment (build 1.8.0_65-b17)
JavaHotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
有上述显示即安装成功

  

      2.环境变量设置

[*]   vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/latest
export PATH=$JAVA_HOME/bin:$PATH
[*]  生效
source /etc/profile.d/java.sh
       3、安装tomcat

[*]下载地址(这里用8.0的,apache-tomcat-8.0.28.tar.gz)

http://tomcat.apache.org/download-80.cgi
[*] 安装
tar xvzfapache-tomcat-8.0.28.tar.gz -C /usr/local/
ln -sv/usr/local/apache-tomcat-8.0.28/ /usr/local/tomcat

[*]环境变量设置
vim /etc/profile.d/tomcat.sh
export CATALINA_HOME=/usr/local/tomcat
export PATH=$CATALINA_HOME/bin:$PATH
[*]立即生效
source /etc/profile.d/tomcat.sh
[*]添加系统服务
vim /etc/init.d/tomcat



[*]#!/bin/sh
# Tomcat init script for Linux.
#
# chkconfig: 2345 96 14
# description: The Apache Tomcat servlet/JSPcontainer.
# JAVA_OPTS='-Xms64m -Xmx128m'
JAVA_HOME=/usr/java/latest#注意这些路径是否正确
CATALINA_HOME=/usr/local/tomcat#注意这些路径是否正确
export JAVA_HOME CATALINA_HOME#这句不加也可以,前面环境都设置好了就行
case $1 in
start)
exec $CATALINA_HOME/bin/catalina.sh start ;;
stop)
exec $CATALINA_HOME/bin/catalina.sh stop;;
restart)
$CATALINA_HOME/bin/catalina.sh stop
sleep 2
exec $CATALINA_HOME/bin/catalina.sh start ;;
*)
echo "Usage: `basename $0`{start|stop|restart}"
exit 1
;;
esac
[*] 修改默认监听的8080端口为80
vim /usr/local/tomcat/conf/server.xml



  

     在Tomcat中,每一个context定义也可以使用一个单独的XML文件进行,其文件的目录为$CATALINA_HOME/conf//。可以用于Context中的XML元素有Loader,Manager,Realm,Resources和WatchedResource。
  
      常用的属性定义有:

[*]  docBase:Web应用程序的存放位置;也可以使用相对路径,起始路径为此Context所属Host中appBase定义的路径;切记,docBase的路径名不能与相应的Host中appBase中定义的路径名有包含关系,比如,如果appBase为deploy,而docBase绝不能为deploy-bbs类的名字;
[*]  path:访问路径,相对于Web服务器根路径而言的URI;如果为空“”,则表示为此webapp的根路径;如果context定义在一个单独的xml文件中,此属性不需要定义;
[*]  reloadable:是否允许重新加载此context相关的Web应用程序的类;默认为false;
  
   注意:这里有3点很容易混淆
      1、appBase和docbase
  




         
        

      appbase 表示此虚拟主机下所有java应用的目录,该指令指定目录下的所有目录都会当作一个应用
   例如上面/test路径下的所有目录都作为一个应用,docbase表示一个应用的文件存放路径
   appbase设置与否其实关系不大,经测试可以设置为空,可以不设置,不设置时,默认会使用/usr/local/tomcat/webapps,此时能访问
到/usr/local/tomcat/webapps目录下的资源,所有建议还是要设置。
  
      2、host和context区别

[*]  host表示一个虚拟主机context表示虚拟主机下一个jsp的应用
[*]  sever.xml中每建立一个虚拟主机。都会在/usr/local/tomcat/conf/Catalina/新生成一个目录,安装好tomcat后,默认就有一个localhost的虚拟主机目录
  
      3、优先级

[*]  Host中appBase的子目录会优先于Context中的path,如果appBase下没有找到对应的path,则使用Context中配置的path做映射
  
      (7).Realm组件
  一个Realm表示一个安全上下文,它是一个授权访问某个给定Context的用户列表和某用户所允许切换的角色相关定义的列表。因
此,Realm就像是一个用户和组相关的数据库。定义Realm时惟一必须要提供的属性是classname,它是Realm的多个不同实现,用于
表示此Realm认证的用户及角色等认证信息的存放位置。
  

[*]  JAASRealm:基于JavaAuthintication and Authorization Service实现用户认证;
[*]  JDBCRealm:通过JDBC访问某关系型数据库表实现用户认证;
[*]  JNDIRealm:基于JNDI使用目录服务实现认证信息的获取;
[*]  MemoryRealm:查找tomcat-user.xml文件实现用户信息的获取;
[*]  UserDatabaseRealm:基于UserDatabase文件(通常是tomcat-user.xml)实现用户认证,它实现是一个完全可更新和持久有效的MemoryRealm,因此能够跟标准的MemoryRealm兼容;它通过JNDI实现;
  
  
  四、日志
# ls logs/
catalina.2015-11-30.log      host-manager.2015-12-01.loglocalhost_access_log.2015-11-30.txt
catalina.2015-12-01.log      host-manager.2015-12-03.loglocalhost_access_log.2015-12-01.txt
catalina.2015-12-02.log      localhost.2015-11-30.log   localhost_access_log.2015-12-03.txt
catalina.2015-12-03.log      localhost.2015-12-01.log   manager.2015-11-30.log
catalina.out               localhost.2015-12-02.log   manager.2015-12-01.log
host-manager.2015-11-30.loglocalhost.2015-12-03.log   manager.2015-12-03.log
localhost_access_log.2015-11-26.txt    访问日志
localhost.2015-11-26.log错误和其它日志
manager.2015-11-26.log管理日志
catalina.2015-11-26.logTomcat启动或关闭日志文件  
  五、应用程序(webapp)结构
      tomcat自带有两个webapp(应用程序):

[*]  Manager:管理tomcat自身的应用
[*]  Host_manage:管理tomcat的虚拟主机
  
# ls webapps/             #网站根目录
docsexamples host-managermanagerROOT   #子应用程序
# ls webapps/host-manager/      
imagesindex.jsp manager.xmlMETA-INFWEB-INF  

  
  有特定组织形式、层次型目录结构:主要包含了servlet代码文件,JSP页面文件、类文件、部署描述文件等信息(创建一个app必须要有这些文件,文件可以为空但一定要有)
  

[*]  /:webapp的根目录
[*]  index.jsp:wepapp主页
[*]  WEB-INF:当前webapp的私有资源目录,通常存放当前webapp自用的web.xml和context.xml
[*]  classes:此webapp的私有类(tomcat自带的2个webapp没有私有类,没有该目录)
[*]  lib:此webapp的私有类,被打包为jar格式的类(tomcat自带的2个webapp没有私有类,没有该目录)
[*]  META-INF:私有资源目录(可选的)
  
      手动添加测试应用程序:
      1)创建特定目录结构:
      # pwd
      /usr/local/tomcat/webapps   
      # mkdir -pv testapp/{WEB-INF,lib,classes,META-INF}
      mkdir:已创建目录"testapp"
      mkdir:已创建目录"testapp/WEB-INF"
      mkdir:已创建目录"testapp/lib"
      mkdir:已创建目录"testapp/classes"
      mkdir:已创建目录"testapp/META-INF"
  
      2)创建/usr/local/tomcat/webapps/testapp/index.jsp
      # cd testapp/
      # vi index.jsp   
                     1
      2
      3
      4
      5    JSP test page.
      6
      7
      8   
      9
      10
  
                          3)访问http://localhost/testapp/index.jsp
  
  
  六、tomcat自带图形管理接口

[*]      manager 管理应用程序的部署及监控
[*]      host-manager 虚拟主机的管理
      我们先来看一下默认的图形配置界面,
  http://s2.运维网.com/wyfs02/M02/77/27/wKiom1ZkS5DgwJmpAAEebX8LgLo098.png
  注,大家注意看右上角,我用红色方框标记出来的,大家可以看有三个按钮,分别为

[*]  Server Status 主要用来查看服务器的状态
[*]  Manager App 主要用来管理应用程序的部署及监控
[*]  Host Manager 主要用来管理虚拟主机
  下面我们就来具休的配置一下,大家可以看到,你点击任何一个按钮都要输入用户名和密码的,在我们配置之前我们先来说一下,Tomcat的Manager功能,
  Manager的四个管理角色:

[*]  manager-gui - allows access to the HTML GUIand the status pages
[*]  manager-script - allows access to the textinterface and the status pages
[*]  manager-jmx - allows access to the JMXproxy and the status pages
[*]  manager-status - allows access to thestatus pages only
  下面我们就来启用manager功能:
      1、用户授权
注:先添加角色再添加用户和密码
# ls conf/
Catalina             context.xml         server.xml.orig      tomcat-users.xsd
catalina.policy      logging.propertiestomcat-users.xml       web.xml
catalina.propertiesserver.xml          tomcat-users.xml.orig
# vim conf/tomcat-users.xml
#在
页: [1]
查看完整版本: Tomcat安装、配置、案例分析