设为首页 收藏本站
查看: 590|回复: 0

[经验分享] Tomcat安装、配置、案例分析

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2018-11-30 07:54:57 | 显示全部楼层 |阅读模式
  

一、安装tomcat
Tomcatweb container,通过java语言开发,所以必须运行在JREJDK上,一般安装JDK
         1.jdk安装,可以用sunopenjdk,这里用sun
  

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

  

  •   安装
    rpm -ivh jdk-8u65-linux-x64.rpm

  


  •   测试安装是否成功
    [root@ha111~]# service tomcat status
    Usage:tomcat {start|stop|restart}
    [root@ha111~]# 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元素有LoaderManagerRealmResourcesWatchedResource
      
          常用的属性定义有:

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



             
              

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

      
          2hostcontext区别

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

    •   HostappBase的子目录会优先于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实现;
      
      
      四、日志
    [root@ha111tomcat]# ls logs/
    catalina.2015-11-30.log      host-manager.2015-12-01.log  localhost_access_log.2015-11-30.txt
    catalina.2015-12-01.log      host-manager.2015-12-03.log  localhost_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.log  localhost.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的虚拟主机
      
    [root@BAIYU_179tomcat]# ls webapps/             #网站根目录
    docs  examples host-manager  manager  ROOT     #子应用程序
    [root@BAIYU_179tomcat]# ls webapps/host-manager/      
    images  index.jsp manager.xml  META-INF  WEB-INF  

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

    •   /webapp的根目录
    •   index.jsp:wepapp主页
    •   WEB-INF:当前webapp的私有资源目录,通常存放当前webapp自用的web.xmlcontext.xml
    •   classes:此webapp的私有类(tomcat自带的2webapp没有私有类,没有该目录)
    •   lib:webapp的私有类,被打包为jar格式的类(tomcat自带的2webapp没有私有类,没有该目录)
    •   META-INF:私有资源目录(可选的)
      
          手动添加测试应用程序:
          1)创建特定目录结构:
          [root@BAIYU_179webapps]# pwd
          /usr/local/tomcat/webapps     
          [root@BAIYU_179webapps]# 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
          [root@BAIYU_179webapps]# cd testapp/
          [root@BAIYU_179testapp]# 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 主要用来管理虚拟主机
      下面我们就来具休的配置一下,大家可以看到,你点击任何一个按钮都要输入用户名和密码的,在我们配置之前我们先来说一下,TomcatManager功能,
      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、用户授权
    注:先添加角色再添加用户和密码
    [root@BAIYU_179 tomcat]# ls conf/
    Catalina             context.xml         server.xml.orig        tomcat-users.xsd
    catalina.policy      logging.properties  tomcat-users.xml       web.xml
    catalina.properties  server.xml          tomcat-users.xml.orig
    [root@BAIYU_179 tomcat]# vim conf/tomcat-users.xml
    #在

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-641346-1-1.html 上篇帖子: Tomcat7安全加固指南 下篇帖子: tomcat停止失败 java.net.ConnectException: Connection refused
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表