webapp  server与java技术基础
java技术基础及tomcat入门
tomcat配置详解
tomcat配置及案例

一、Java技术基础

二、tomcat的安装

安装tomcat步骤:卸载掉自带的OpenJD---安装 JDK1.7---安装Tomcat---配置Tomcat为daemon方式启动

    (一)、下载相关安装包

  注:可以先进入 #cd /usr/local/ /进里面后再下载(也可以根据自己情况而定)

  1、下载jdk (cenots6.5默认带openjdk, yum list all | grep jdk 查看)

  2、下载Tomcat

  (二)、安装JDK和Tomcat

  注:可以先进入 #cd /usr/local/ /再执行下面的命令

  1、编译安装Jdk

  #chmod 777 jdk-7u9-linux-i586-rpm.bin

  #./jdk-6u41-linux-i586-rpm.bin

  #按提示完成操作,默认安装路径应该是/usr/java/jdk1.7.0_09

  2、配置jdk(定义Java环境变量)

  #vi /etc/profile  

  在尾部添加:

  export JAVA_HOME=/usr/java/jdk1.7.0_09/

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

  export LASSPATH=.:/usr/java/jdk1.7.0_09/lib:/usr/java/jdk1.7.0_09/jre/lib:$CLASSPATH

  #source /etc/profile

      或者  vi /etc/profile.d/java.sh 

            JAVA_HOME=/usr/java/latest/

         PATH=$JAVA_HOME/bin:$PATH

            exprot JAVA_HOME PATH

              #. /etc/profile.d/java.sh

  #java -version /测试安装的Java 出现如下所示的

  [root@centos bin]# java -version

  java version "1.7.0_09"

  Java(TM) SE Runtime Environment (build 1.7.0_09-b02)

  Java HotSpot(TM) Client VM (build 20.14-b01, mixed mode, sharing)

  (如果出现差不多没有关系,因为我是VM安装的多少会有点差别)

  (三)、安装Tomcat

  #tar zxvf apache-tomcat-7.0.35.tar.gz -C /usr/local        #解压

  #ls -sv apache-tomcat-7.0.35  tomcat       #创建软连接

  #cd /tomcat/bin/      # 打开此目录

  #chmod 777 *.sh       #加777权限

  #catalina.sh start       #启动

  (四)、验证结果

  访问 http://192.168.1.251:8080 /访问地址 IP:8080 如果访问不了

  #/etc/init.d/iptables stop /停用防火墙 再访问看看

     (五)、将tomcat服务设置为守护进程  

     配置Tomcat为daemon方式启动

    将daemon.sh 拷贝到启动目录,安装服务,测试服务:

    先编译安装 commons-daemon :

    先安装gcc,因为编译的时候要用到 

    yum install gcc 

    创建tomcat用户,用来运行tomcat服务:

    在生产环境用 root 是不安全的,所以 

    useradd -s /sbin/nologin tomcat

    chown -R tomcat:tomcat /usr/local/tomcat

    做为 service,和操作系统一起启动

    # tar -xzvf commons-daemon-native.tar.gz

    # cd commons-daemon-1.0.10-native-src/unix

    # ./configure

    # make

    # cp jsvc ../..

    # cd ../..

    cp daemon.sh  /etc/init.d/tomcat

    chmod 755  /etc/init.d/tomcat

    chkconfig --add tomcat

    chkconfig tomcat on

    chkconfig --list tomcat

    显示:   tomcat 0:off 1:off 2:on 3:on 4:on 5:on 6:off  ← 确认2~5为on的状态就OK

    启动Tomcat: service tomcat start

    增加防火墙配置,允许8080端口:

     # vi /etc/sysconfig/iptables

    在允许ssh的下面增加一条:

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT 

    保存,重启iptables服务 :

    # service iptables restart 

三、tomcat配置详解  

        每个java项目运行起之后,都表现为一个jvm进程;

查看tomcat版本:#cataline.sh version

tomcat的安装目录:

bin: 

conf: 

server.xml, 主配置文件

tomcat-users.xml, 用户账号文件(用户认证)

web.xml(部署描述符),

部署:deployment

logs: 日志, log4j

lib: 库文件,类库

temp: 临时文件位置

webapps: 部署应用程序的根路径

work: 工作目录


tomcat的配置文件:

server.xml: 主配置文件

context.xml:每个webapp都有其配置文件,通常位于webapp目录下的WEB-INF目录中,通常用于定义会话管理器、Realm以及JDBC等;此配置文件是用于为部署在当前tomcat实例上的所有的webapp提供默认配置;

web.xml: 为部署在当前tomcat实例上的所有的webapp提供默认部署描述符;通常用于为webapp提供基本的servlet定义和MEM映射表;

tomcat-users.xml:

catalina.policy: 当基于-security选项启动tomcat实例时会读取此配置文件;用于定义JAVA的安全策略,配置访问codebase或某些Java类的权限;

catalina.properties: Java属性定义的文件,用于设定类加载器路径、安全包列表,以及一些调整jvm性能的相关参数的信息;

logging.properties: 定义日志相关的配置信息,如日志级别、文件路径等;


tomcat的主配置文件:

组件:由java类实现;有些组件实现的方式不止一种;有些组件可以实现嵌套别的组件;


顶级类组件:server(代表一个tomcat实例)

服务类组件:service

容器类组件:engine(代表一个web container), host, context

连接器组件:connector

http, ssl, ajp(apache jserv protocol)

被嵌套类组件:valve, logger, realm

<server port="8005" shutdown="shutdown">

    <service>

        <connector>

        <connector>

        ……

            <engine>

                <host>

                    <context>

                    </contest>

                    ……

                  </host>

              </engine>

    </service>

</server>


tomcat自带的两webapp:

manager: 管理器

输出状态信息

部署webapp

host-manager: 主机管理器


tomcat的应用程序必须被“部署”才能够被访问:

部署:是指将webapp及其所依赖的类库等装载进tomcat实例,以便接收用户请求的操作过程;


部署方式:

静态方式(冷部署):在tomcat启动之前进行的部署;

动态方式(热部署):在不打断tomcat实例运行的前提下,通过tomcat manager或其它的部署工具进行的部署;具体的部署工具:

Tomcat Manager

ANT脚本

TCD: tomcat client deployer


部署相关的操作:

Deploy: 将webapp的源文件放置于目标目录、配置tomcat服务器能够基于context中定义的路径来访问此webapp,并将其特有的类通过class loader装载到tomcat实例上;

Redeploy: 重新部署,常用于升级时;

Undeploy: 反部署,停止webapp,并从tomcat实例移除其部分文件和部署名;

Stop: 停止;

Start: 启动


webapp应用程序:有多种归档格式

.war: web应用程序

.jar: EJB类

.rar: 资源适配器

.ear:企业级应用程序


webapp体系结构:

webapp的特定组织格式,是一种层次型目标结构;通常包含了servlet代码文件、jsp页面文件、类文件、部署描述符文件等等;


/: webapp的根目录

/WEB-INF: 当前webapp的私有资源目录,通常web.xml和context.xml都放置于此目录中;

/classes: 此webapp私有的类

/lib: 此webapp私有的,被打包为jar格式的类;

/META-INF: 

创建一个应用程序:

#mkdir /tomcat/webapps -pv   #自定义网站路径

#mkdir test  #cd test        #创建应用程序目录

#mkdir WEB-INF/{classes,lib} -pv

#vi index.jsp (编辑网页内容)

#vi /usr/local/tomcat/conf/server.xml   #因为自定义网站路径,所有得修改主配置文件,定义虚拟主机添加host段,

    <Host name="www.magedu.com"  appBase="/tomcat/webapps" >

          unpackWARs="true"    autoDeploy="true">

    </Host>