Tomcat 配置
一、Tomcat 基本介绍
1.关键目录
  a) bin
  该目录包含了启动、停止和启动其他的脚本,如startup.sh、shutdown.sh等;
  b) conf
  配置文件和一些文档定义规则,其中server.xml文件是tomcat容器的主要配置文件;
  c) logs
  该目录是默认的日志目录,其中控制台打印出来的内容,都会保存在catalina.log中;
  d) lib
  该目录下主要放置了servlet和jsp需要的jar包
  e) webapps
    1.放置web应用程序
    2.其中ROOT目录下存放的是tomcat的首页,如访问localhost:8080时,默认访问该目录下的index.html;
    3.docs中存放的是tomcat的官方文档;
    4.examples下是示例jsp应用程序
  f) 所有的配置信息都是在启动时读取,所以当修改配置信息之后,必须重启tomcat;

2.tomcat安装与启动
  a) 安装JDK Java工具
    1.download jdk-7u79-linux-x64.gz
    2.unzip jdk-7u79-linux-x64.gz -d /usr/local/jdk1.7.0_79
    3.ln -s /usr/local/jdk1.7.0_79/ /usr/local/jdk #创建软连接,方便下次版本升级

  b) 设置JDK环境变量
    1.echo "export JAVA_HOME=/usr/local/jdk1.7.0_79" >>/etc/profile
    2.echo "export JRE_HOME=${JAVA_HOME}/jre" >>/etc/profile
    3.echo "export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib" >>/etc/profile
    4.echo "export PATH=${JAVA_HOME}/bin:$PATH" >>/etc/profile
    5.source /etc/profile

  c) 安装tomcat

    1.download apache-tomcat-6.0.39.tar.gz
    2.tar -zxvf apache-tomcat-6.0.39.tar.gz -d /data1/tomcat
    3.echo "CATALINA_HOME=/usr/local/apache-tomcat-6.0.39" >>/data1/tomcat/apache-tomcat-6.0.39/bin/catalina.sh
    4.chmod +x /data1/tomcat/apache-tomcat-6.0.39/bin/*.sh
    5.tail -100f /data1/tomcat/../bin/logs/fantasia/ #查看日志
    6.netstat -ano | grep 8080 #查看端口是否被监听

  d) 启动、关闭Tomcat
    1.cd /data1/tomcat/../bin/
    2.sh catalina.sh 或者 sh startup.sh #启动tomcat
    3.sh shutdown.sh 或者 ps aux | grep 8080 | grep -v "grep" | awk '{print $2}' | xargs kill -9 #关闭tomcat

3.Tomcat 常见故障
  a) Http 端口冲突
    1.cause:#这种问题可能是已经启动了一个tomcat服务,当启动第二个时,端口已经被占用,就会报错。
    2.solve:#修改CATALINA_HOME/conf/server.xml中8080端口
    <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

  b) localhost 找不到
    1.cause:#这种情况可能是由于设置了网络代理
    2.solve:#修改浏览器的代理配置

4.Tomcat 可选组件
  a) Tomcat本地库:用于通过Http和AJP连接Tomcat
  b) Tomcat守护进程:Windows中安装成服务;Unix中安装成守护进程

二、部署Tomcat
  1.tomcat静态部署
    a) 静态部署是指在tomcat启动时部署
    b) 直接拷贝相应的web展开目录、或者war包(展开目录的意思就是tomcat可以直接访问的应用目录,是未经过压缩的。相反的就是war包,是一种经过压缩的web应用文件)
    c) 静态部署时,涉及到了一个变量appBase,这个变量标识了一个目录,该目录存放着部署的web应用
    d) 其中常用的几个选项:
      1.appBase #指定了部署的目录(就是webapps)
      2.autoDeploy #设置是否自动部署
      3.unpackWARs #设置了部署的形式,如果为true,则会以展开的形式部署;如果为false,则会以war包的形式部署
      4.设置以上的内容以后,当启动tomcat时,就会自动部署在appBase目录下的应用
    e) 部署顺序:
      1.部署上下文描述符(Context,在tomcat中,上下文就是一个web应用)
      2.部署展开的应用,如果部署目录中存在相应的war包,则检查是否比当前的应用更新;如果更新,则删除当前的应用,并解压该war包,得到最新的应用
      3.部署war包

  2.tomcat动态部署
    a) 动态部署是指在tomcat运行时自动部署
    b) 通过tomcat管理器或者其他工具(如TCD,tomcat client deployer)执行部署。
    c) 但是如果要使用TCD进行部署,那么就需要预先安装JDK和Ant,因为TCD中内置的是Ant的任务构建脚本;然后再下载TCD的部署包。
    e) 动态部署需要autoDeploy 参数为true,当设置了该属性后,tomcat会在其运行时支持如下操作:
      1.部署拷贝到appBase下的war文件
      2.部署拷贝到appBase下的war文件
      3.当提供一个更新的war包时,重新部署应用,会先删除当前存在的应用,再进行解压部署
      4.当/WEB-INF/web.xml被改写时,自动部署
      5.当web应用的context.xml上下文描述符被更新时,自动部署
      6.当CATALINA_HOME/conf下对应的应用的上下文描述符被更新时,自动部署
      7.当对应的docBase文档被删除时,自动部署。

Tomcat 配置篇的更多相关文章

  1. Linux配置tomcat (centos配置java环境 tomcat配置篇 总结三)

    ♣下载安装tomcat7 ♣设置启动和关闭 ♣设置用户名和密码 ♣发布java web项目 声明:这篇教程是建立在前两篇教程的基础上的,所以,还没安装工具和jdk,可以先看这个系列的前面两篇(去到文末 ...

  2. Linux配置mysql (centos配置java环境 mysql配置篇 总结四)

    ♣安装的几种方法和比较 ♣配置yum源 ♣安装mysql ♣启动mysql ♣修改密码 ♣导入.sql文件 ♣缓存设置 ♣允许远程登录(navicat) ♣配置编码为utf8  1.关于Linux系统 ...

  3. nginx+tomcat配置https

    nginx代理https后,应用redirect https变成http,很多页面报404.情况类似http://blog.sina.com.cn/s/blog_56d8ea900101hlhv.ht ...

  4. Tomcat 原理篇

    TOMCAT 原理篇一.Tomcat 组成(Tomcat 由以下组件组成) 1.server a) Server是一个Catalina Servlet容器: b) Server 可以包含一个或多个se ...

  5. Tomcat免安装版的环境变量配置以及Eclipse下的Tomcat配置和测试

    Tomcat是目前比较流行的开源且免费的Web应用服务器,在我的电脑上第一次安装Tomcat,再经过网上教程和自己的摸索后,将这个过程 重新记录下来,以便以后如果忘记了可以随时查看. 注意:首先要明确 ...

  6. Tomcat配置全攻略

    tomcat的的下载地址http://www.apache.org/dist/jakarta/tomcat-4/ 1.安装jdk,详细操作请参考本站windows 2k和redhat 8.0下java ...

  7. Tomcat配置与优化(内存、并发、管理)与性能监控

    原文链接:http://blog.csdn.net/xyang81/article/details/51530979 一.JVM内存配置优化 在开发当中,当一个项目比较大时,依赖的jar包通常比较多, ...

  8. Tomcat配置到JEE版eclipse中

    接我上篇文中的tomcat下载,及环境变量配置,http://blog.csdn.net/qq_40223688/article/details/79451468 这篇文章我就讲一下怎么把tomcat ...

  9. tomcat配置调优与安全总结

    http://vekergu.blog.51cto.com/9966832/1672931 tomcat配置调优与安全总结 作为运维,避免不了与tomcat打交道,然而作者发现网络上关于tomcat配 ...

随机推荐

  1. mongodb.open失效导致访问地址404

    今天做编辑文章功能的时候发现一个问题,编辑并保存完成后再次跳转到当前文章所在的地址,结果报404,打断点发现查询数据库的时候mongodb.open方法失效.百度后找到了原因: 编辑保存的时候打开了数 ...

  2. Linux系统相关

    1. 图形界面启动的是哪个运行级别? 而我们平时用的命令行模式又是哪个运行级别? 除了图形和命令行模式两个常用级别外,其他运行级别代表什么涵义?如何更改系统的运行级别?图形界面启动的是5级别,命令行模 ...

  3. 后台js

    Response.Write("<script>alert('该用户名不存在或密码错误或未参加教学活动,请重新输入!');history.back()</script> ...

  4. 我的django之旅(三)数据库和模型

    我的django之旅(三)模型和数据库 标签(空格分隔):模型 数据库 ORM 1.django ORM django内置了一套完整的解决方案,其中就包括他自己的ORM.可惜没有使用SQLAlchem ...

  5. CSS注意事项

    1.定义样式不能就加:隔开 当有定义的css样式并没有起作用的时候看看定义该样式前边有没有加“;”的如 p{};div{}

  6. document.cookie

    概念相关: cookie是存于用户硬盘上的一个文件,对应一个域名,当浏览器再次访问这个域名时,便使用这个cookie. cookie 可以跨越一个域名下的多个网页,但不能跨越多个域名使用. cooki ...

  7. secure_file_priv 配置项对数据导入导出的影响

    secure_file_priv  mysqld 用这个配置项来完成对数据导入导出的限制. 例如我们可以通过 select * from tempdb.t into outfile '/home/my ...

  8. sqlserver exists和in 与exists和not in

    1.exists 和 in 1.1 正常情况下exists和in的效果是一样的,如图试验 即使子查询中包含null也没有关系,依然可以正常使用 1.2 in 和 exists效率比较 先看in 由图中 ...

  9. OpenSSl 加密解密 示例(终于有编程实践了)

    OPenSSl的加密主要有三个重要的函数.看懂下面的代码就基本上知道该如何使用openssL来加密了. 不过注意,要先将libssl.so.1.0和libcrypto.so.1.0文件复制到执行的文件 ...

  10. php将会话保存在数据库里

    php默认把会话保存在临时文件中,保存在数据库中可以提高安全性,在共享主机服务器上,所有web站点都使用同一个临时目录,这意味着数十个程序都在同一位置进行文件读取的操作,我们很容易就编写一个脚本从这个 ...