tomcat编译安装

一、简介  

   1、tomcat简介:

Tomcat就是一个Java EE的不完整实现,是一个web容器,也可以成为web服务器。它只使用了Java EE附带的两个类库-----Servlet与JSP,Tomcat服务器是Apache组织开发的一种JSP引擎,同时支持Servlet,本身就具有WEB服务器的功能,但是在WEB服务器方面Tomcat处理静态的HTML页面不如Apache迅速,也没有Apache健壮,所以我们一般将Tomcat与Apache配合使用,让Apache处理静态页面的请求,Tomcat作为专门的JSP引擎,提供JSP解析。

Servlet和JSP:

JSP是一种脚本语言,语法简单,可以方便的嵌入到HTML中
Servlet必须需要硬编码进html中
//JSP 就是为了简化Java和Servlet的使用难度,同时通过扩展JSP标签(TAG)提供网页动态执行的能力
JSP与Servlet的关系
//当Web服务器(或Servlet引擎,应用服务器)支持JSP引擎时,JSP引擎会照着JSP的语法,将JSP文件转换成Servlet代码源文件,接着Servlet会被编译成Java可执行字节码(bytecode),并以一般的Servlet方式载入执行*.jsp文件 -jasper引擎-> *.java文件 -javac编译器-> .class (JVM运行)。

2、常见的web容器

商业版:
Sun GlassFish Enterprise Server
Sun Java System Web Server
JBoss Enterprise Application Platform
WebLogic Application Server
Caucho‘s Resin Server
WebSphere Application Server
NetWeaver
非商业版:
Apache Tomcat
Apache Geronimo
GlassFish
JBoss Application Server
Jetty

3、tomcat的体系结构

顶级组件:位于配置层次的顶级,并且彼此有严格的对应滚戏(Server,Service)
连接器:连接客户端(可以是浏览器或web服务器)请求至Servlet容器
容器:包含一组其他组件,如Engine、Host、Context
被嵌套的组件:位于一个容器当中,但不能包含其他组件(如Realm 领域、valve过滤认证       logger记录日志)
顶级组件
#1 服务器(server):Tomcat的一个实例,通常一个JVM只能包含一个Tomcat实例;因此,一台服务器上可以在启动多个JVM的情况下每一个JVM中启动一个Tomcat实例,每个实例分属于一个独立管理端口。这是一个顶级组件
#2 服务(service):一个服务组件通常包含一个引擎和此引擎相关联的一个或多个连接器。给服务命名可以方便管理员在日志文件中识别不同服务产生的日志。一个server可以包含多个service组件,但通常情况下只为一个service指派一个server
连接器类组件:
# 连接器(connectors):负责连接客户端(可以是浏览器或web服务器)请求至Servlet容器内的web应用程序,通常指的是接受客户发来请求的位置及服务器段分配的端口。默认端口通常是HTTP协议的8080,管理员可以根据自己的需要改变此端口。一个引擎可以连接多个连接器,但这些连接器必须使用不同的端口。默认的连接器是HTTP/1.1的Coyote,同时Tomcat也支持AJP、JServ和JK2连机器。
容器类组件:
#(1)引擎(Engine):通常指Cataliana Servlet引擎,它检查每一个请求的HTTP首部信息辨别此请求应该发往到哪个host或context,并将请求处理后的结果发送给客户端。一个引擎可以包含多个主机组件。
#(2)主机(Host):主机组件类似于Apache的虚拟主机,但Tomcat只支持基于FQDN的虚拟主机。至少一个主机组件。
#(3)上下文(Context):Context组件式最内层组件,代表Web应用程序本身。配置一个Context最主要的就是指定Web应用程序的根目录,一遍Servlet容器能偶将用户请求发往正确的位置。Context组件也可以定义包含错误页,实现用户访问发生错误时提供友好的提示信息。
被嵌套类组件:
#(1)阀门(valve):可以定义在任何容器类的组件中,用来记录客户端请求/客户端IP地址和服务器等信息。
#(2)日志记录器(logger):可以用于除Context之外的任何容器中。记录日志
#(3)领域(Realm):用于用户的认证和授权

4、Tomcat连接器架构

# 基于Apache作为Tomcat前段的架构来讲,Apache通过mod_jk、mod_proxy模块与后端的Tomcat进行数据交换
apache与tomcat连接器通信的模块有两个:
1) mod_jk  : apache/1.3,  apache/2.0
2) mod_proxy : apache/2.2+
Tomcat的http连接器
# 1)基于java的http/1.1连接器;
# 2)基于java的高性能NIO HTTP/1.1连接器
# 3)基于C/C++研发的Native APR HTTP/1.1连接器 (需要额外编译安装)
Tomcat的连接器协议
# 1)http
# 2)ajp
Tomcat的工作模式
# 1)单独模式
# 2)进程间配置
# 3) 独立/网络配置

5、Tomcat的组织结构

<Server>      顶层元素,代表一个服务器
  <Service>  顶层元素,是Connector的集合,只有一个Engine
      <Connectior/>        连接器类元素,代表通信接口
          <Engine>   容器类元素,为特定的Service组件处理所有客户请求,可包含多个Host
              <Host>    为特定的虚拟主机处理所有客户请求
                  <Context>     为特定的WEB应用处理所有客户请求
                  </Context>
              </Host>
          </Engine>
</Service>
</Server>

6、Tomcat配置文件

//Tomcat的配置文件默认存放在$CATALINA_HOME/conf目录中
server.xml: Tomcat的主配置文件,包含Service, Connector, Engine, Realm, Valve, Hosts主组件的相关配置信息;
web.xml:遵循Servlet规范标准的配置文件,用于配置servlet,并为所有的Web应用程序提供包括MIME映射等默认配置信息;
tomcat-user.xml:Realm认证时用到的相关角色、用户和密码等信息;Tomcat自带的manager默认情况下会用到此文件;在Tomcat中添加/删除用户,为用户指定角色等将通过编辑此文件实现;
catalina.policy:Java相关的安全策略配置文件,在系统资源级别上提供访问控制的能力;
catalina.properties:Tomcat内部package的定义及访问相关的控制,也包括对通过类装载器装载的内容的控制;Tomcat在启动时会事先读取此文件的相关设置;
logging.properties: Tomcat通过自己内部实现的JAVA日志记录器来记录操作相关的日志,此文件即为日志记录器相关的配置信息,可以用来定义日志记录的组件级别以及日志文件的存在位置等;
#context.xml:所有host的默认配置信息;

二、安装tomcat

   1、安装配置JDK

       ①、安装JDK

下载:jdk-7u9-linux-x64.rpm

[[email protected] ~]# rpm -ivh jdk-7u9-linux-x64.rpm
Preparing...                ########################################### [100%]
1:jdk                    ########################################### [100%]

      ②、配置JDK的环境变量

[[email protected] ~]# find / -name java    //查找JDK的安装路径
/usr/java
/usr/java/jdk1.7.0_09/jre/bin/java
/usr/bin/java
/etc/pki/java
[[email protected] ~]# vim /etc/profile.d/java.sh    //配置环境变量
//添加如下内容
export JAVA_HOME=/usr/java/jdk1.7.0_09
export PATH=$JAVA_HOME/bin:$PATH
[[email protected] ~]# source /etc/profile.d/java.sh  //重读,立刻生效

     ③、验证JDK

[[email protected] ~]# java -version
java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)

  2、安装配置tomcat

       下载:apache-tomcat-7.0.42.tar.gz

    ①、解压tomcat

[[email protected] ~]# tar xf apache-tomcat-7.0.42.tar.gz -C /usr/local/
[[email protected] local]# ln -sv apache-tomcat-7.0.42/ tomcat
`tomcat‘ -> `apache-tomcat-7.0.42/‘

    ②、配置tomcat环境变量路径

[[email protected] ~]# vim /etc/profile.d/tomcat.sh
export JAVA_HOME=/usr/local/tomcat
export PATH=$JAVA_HOME/bin:$PATH
[[email protected] ~]# source /etc/profile.d/tomcat.sh

    ③、验证tomcat

[[email protected] ~]# catalina.sh -h
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/tomcat
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Usage: catalina.sh ( commands ... )
commands:
  debug             Start Catalina in a debugger
... ...
... ...

    ④、启动tomcat

[[email protected] ~]# catalina.sh start
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/tomcat
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

    ⑤、查看日志

[[email protected] local]# cat /usr/local/tomcat/logs/catalina.out

    ⑥、为Tomcat提供启动脚本

[[email protected] ~]# vim /etc/init.d/tomcat
#!/bin/sh
# Tomcat init script for Linux.
# chkconfig: 2345 96 14
# description: The Apache Tomcat servlet/JSP container.
JAVA_HOME=/usr/java/jdk1.7.0_09/
CATALINA_HOME=/usr/local/tomcat/
export JAVA_HOME CATALINA_HOME
# export CATALINA_OPTS="-Xms128m -Xmx256m"
# Java使用的内存:-Xms128m默认分配的内存大小,-Xmx256m最大使用的内存。
exec $CATALINA_HOME/bin/catalina.sh $*
[[email protected] ~]# chmod +x /etc/init.d/tomcat

    ⑦、开机启动

[[email protected] ~]# chkconfig --add tomcat
[[email protected] ~]# chkconfig tomcat on
[[email protected] ~]# chkconfig --list tomcat
tomcat          0:off   1:off   2:on    3:on    4:on    5:on    6:off

    ⑧、测试脚本,查看记录日志

[[email protected] ~]# tail -f /usr/local/tomcat/logs/catalina.2014-05-08.log
May 08, 2014 9:17:26 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
May 08, 2014 9:17:26 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 2110 ms
May 08, 2014 9:17:26 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
May 08, 2014 9:17:26 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.42
May 08, 2014 9:17:26 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /usr/local/apache-tomcat-7.0.42/webapps/ROOT
May 08, 2014 9:17:53 PM org.apache.catalina.util.SessionIdGenerator createSecureRandom
INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [25,741] milliseconds.
May 08, 2014 9:17:53 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /usr/local/apache-tomcat-7.0.42/webapps/docs
May 08, 2014 9:17:53 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /usr/local/apache-tomcat-7.0.42/webapps/manager
May 08, 2014 9:17:53 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /usr/local/apache-tomcat-7.0.42/webapps/host-manager
May 08, 2014 9:17:54 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /usr/local/apache-tomcat-7.0.42/webapps/examples
May 08, 2014 9:17:54 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
May 08, 2014 9:17:54 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
May 08, 2014 9:17:54 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 28261 ms

       ⑨、测试,访问8080端口

Tomcat 目录文件:


[[email protected] ~]# cd /usr/local/tomcat/
[[email protected] tomcat]# ls
bin  conf  lib  LICENSE  logs  NOTICE  RELEASE-NOTES  RUNNING.txt  temp  webapps  work
[[email protected] tomcat]#

解释:

bin ——Tomcat执行脚本目录
conf ——Tomcat配置文件
lib ——Tomcat运行需要的库文件(JARS)
logs ——Tomcat执行时的LOG文件
temp ——Tomcat临时文件存放目录
webapps ——Tomcat的主要Web发布目录(存放我们自己的JSP,SERVLET,类)
work ——Tomcat的工作目录,Tomcat将翻译JSP文件到的Java文件和class文件放在这里。

⑩、配置tomcat的 Server status 、Manager App、Host Manager

[[email protected] ~]# vim /usr/local/tomcat/conf/tomcat-users.xml
<?xml version=‘1.0‘ encoding=‘utf-8‘?>
<tomcat-users>
<role rolename="manager-gui"/>
 <role rolename="admin-gui"/>
  <user username="tomcat" password="tomcat" roles="manager-gui,admin-gui"/>
</tomcat-users>
[[email protected] ~]# service tomcat stop
[[email protected] ~]# service tomcat start

   3、tomcat管理程序

测试:登录进去(user:tomcat   password:tomcat)

 

      ②、Manager APP ----可以管理web应用程序


    ③、Manager Host ---管理虚拟主机

   4、Tomcat上部署程序

①、本机安装mysql服务器与mysql客户端

[[email protected] ~]# yum -y install mysql-server mysql
[[email protected] ~]# service mysqld start
[[email protected] ~]# mysql
//授权用户
mysql> grant all on *.* to ‘root‘@‘localhost‘ identified by ‘mageedu‘;
mysql> flush privileges;

       ②、编辑server.xml配置文件,添加一个host和context

[[email protected] ~]# vim  /usr/local/tomcat/conf/server.xml
</Host>
       <Host name="www.test.com" appBase="/www/webapps" unpackWARS="true" autoDeploy="true">
                <Context path="" docBase="ROOT" reloadable="true" />
       <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                    prefix="localhost_access_log." suffix=".txt"
                        pattern="%h %l %u %t &quot;%r&quot; %s %b" />
      </Host>

③、配置web
       下载:JavaCenter_Home_2.0_GBK.tar.bz2

[[email protected] ~]# mkdir -pv /www/webapps/ROOT
[[email protected] ~]# tar xf JavaCenter_Home_2.0_GBK.tar.bz2
[[email protected] ~]# cd JavaCenter_Home_2.0_GBK
[[email protected] JavaCenter_Home_2.0_GBK]# mv ./* /www/webapps/ROOT

别忘了配置windows的hosts

点击进入管理平台

tomcat编译安装

时间: 2024-10-06 20:11:01

tomcat编译安装的相关文章

开发人员学Linux(5):CentOS7编译安装Nginx并搭建Tomcat负载均衡环境

1.前言在上一篇讲述了JMeter的使用,在本篇就可以应用得上了.本篇将讲述如何编译安装Nginx并利用前面的介绍搭建一个负载均衡测试环境.2.软件准备Nginx-1.12.0,下载地址:https://nginx.org/download/nginx-1.12.0.tar.gzTomcat8(本系列已介绍过如何下载和安装)JMeter(本系列已介绍过如何下载和使用)注:VirtualBox宿主机IP为"192.168.60.16,虚拟机IP为:192.168.60.198,虚拟机通过桥接方式接

开发人员学Linux(6):CentOS7编译安装MySQL5.17.8多实例及主从复制

1.前言上一篇讲述了如何在CentOS7下编译安装Nginx-1.12.0并如何配置反向代理,本篇将讲述如何编译安装MySQL5.7.18并配置多实例.2.准备2.1下载MySQL5.7.18源码注意最新版本的MySQL需要Boost才能编译安装,在MySQL提供的下载中有不带boost的源码,还有带boost的源码,如果下载不带boost的源码还需要再去下载boost源码,为省事起见,建议下载带boost的源码,下载地址:https://cdn.mysql.com//Downloads/MyS

Apache源码编译安装

精髓前言: 解析JAVA程序用:tomcat.resin.weblogic.jboss 解析.asp .aspx程序用:pws,iis  后端数据库为:sql server,access IP PV UV: IP:internet protocol    --internet协议 pv:page view         --访问量 uv:unique visitor      --独立访客 简单介绍cookie: cookie: 访问一个网站的时候,网站就会给你发一个cookie,独一无二的

Tomcat的安装和使用

Tomcat的安装和使用 =============================================================================== 概述: =============================================================================== Tomcat的安装及程序环境  1.安装Tomcat ★Tomcat binary release: # tar xf apache-tomcat

tomcat的安装和配置

目前有很多网站使用jsp的程序编写,所以解析jsp的程序就必须要有相关的软件来完成.Tomcat就是用来解析jsp程序的一个软件,Tomcat是Apache软件基金会的Jakarta项目中的一个核心项目,由Apache.Sun和其他一些公司和个人共同开发而成.因为Tomcat技术先进.性能稳定而且免费,因而深受Java爱好者的喜爱并得到部分软件开发商的认可,成为目前比较流行的web应用服务器.Tomcat是一个轻量级的应用服务器,在中小型系统和并发访问量不是很多的场合下被普遍使用,是开发和调试j

LNAMP服务器环境搭建(手动编译安装)

LNAMP服务器环境搭建(手动编译安装) 一.准备材料 阿里云主机一台,操作系统CentOS 6.5 64位 lnamp.zip包(包含搭建环境所需要的所有软件) http://123.56.144.36:8001/tools/lnamp.zip 二.确认环境 #确认CentOS YUM安装使用正常 yum clean all yum makecache #确认c gc gc-c++安装正常 yum install -y gc gcc gcc-c++ #确认安装环境需要的软件 yum insta

java+tomcat+apache安装整合,启动/关闭,添加开机启动服务

安装java1.8 #yum update    服务器更新源码包 #rpm -qa |grep -E '^open[jre|jdk]|j[re|dk]'  搜索任何版本的已安装JDK组件 java-1.8.0-openjdk-headless-1.8.0.60-2.b27.el7_1.x86_64 pygobject2-2.28.6-11.el7.x86_64 pygobject3-base-3.8.2-6.el7.x86_64 java-1.8.0-openjdk-1.8.0.60-2.b2

Centos 6.7 Tomcat基本安装测试

Tomcat基本安装测试 /==============================基本安装使用=========================================>/ Tomcat A 设置 安装jdk http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html下载JDK 1.1安装jdk ~]# rpm -ivh jdk-7u67-linux-x64.rpm Preparing.

生产线上的Nginx如何添加未编译安装模块

正在生产线上跑着web前端是nginx+tomcat,现在有这样一个需求,需要对网站的单品页面和列表页设置缓存,不同的页面设置不同的缓存,但是由于开始没有安装ngx_cache_purge这个模块,现在没法直接往配置文件里边写,这时候,就需要在线安装ngx_cache_purge此模块,下边就说下怎么在线编译安装新模块.安装步骤:1.首先看下内核和系统的版本号.[[email protected] ~]# uname -a Linux vmware1 2.6.18-308.el5 #1 SMP