Tomcat的简单介绍,安装,以及简单的配置运用

Tomcat介绍:

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。

当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。

Tomcat 的安装:



Tomcat基于java虚拟机运行事先要部署JDK

安装JDK的两种方法:

1.安装系统base源中的rpm包;

yum -y install java-1.8.0-openjdk-devel

java -version 显示java程序的版本信息

2.直接官网下载RPM包:

rpm -ivh jdk-8u144-linux-x64.rpm

注意:安装完成后,要配置JAVA_HOME环境变量,指向java的安装路径;

vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/latest
export PATH=$JAVA_HME/bin:$PATH
OpenJDK:AVA_HOME=/usr
Oracle JDK:JAVA_HOME=/usr/java/jdk_VERSION

安装Tomcat方法:

1.安装系统自带rpm包

yum install tomcat tomcat-lib tomcat-admin-webapps tomcat-docs-webapp tomcat-webapps
systemctl start tomcat.service
ss -tnlp #查看8080端口是否打开

rpm包安装的程序环境:

配置文件目录:/etc/tomcat

主配置文件:/etc/tomcat/server.xml

webapps存放位置:/var/lib/tomcat/webapps/

环境配置文件:/etc/sysconfig/tomcat 调整jdk内存使用大小等初始值

2.安装官网下载的tar包

useradd -r tomcat
tar xvf apache-tomcat-7.0.78.tar.gz -C /usr/local
cd /usr/local
ln -sv apache-tomcat-7.0.78 tomcat
chown -R tomcat:tomcat /usr/local/tomcat/*
cd tomcat/bin
vim /etc/profile.d/tomcat.sh
export CATALINA_BASE=/usr/local/tomcat
export PATH=$CATALINA_BASE/bin:$PATH
catalina.sh –help
catalina.sh start

tomcat程序环境:

tomcat的目录结构:

bin:脚本,及启动时用到的类;

conf:配置文件目录;主配置文件server.xml

lib:库文件,Java类库,jar;

logs:日志文件目录;

temp:临时文件目录;

webapps:webapp的默认目录;

work:工作目录;存放编译后的字节码文件;

tomcat的配置文件构成:

server.xml:主配置文件;

web.xml:每个webapp只有“部署”后才能被访问,它的部署方式通常由web.xml进行定义,其存放位置为WEB-INF/目录中;此文件为所有的webapps提供默认部署相关的配置;

context.xml:每个webapp都可以使用的配置文件,它通常由专用的配置文件context.xml

来定义,其存放位置为WEB-INF/目录中;此文件为所有的webapps提供默认配置;

tomcat-users.xml:用户认证的账号和密码文件;

catalina.policy:当使用-security选项启动tomcat时,用于为tomcat设置安全策略;

catalina.properties:Java属性的定义文件,用于设定类加载器路径,以及一些与JVM调优相关参数;

logging.properties:日志系统相关的配置

Tomcat 文件组成与结构:



Tomcat核心文件server.xml结构


<Server>

<Service>

<connector/>

<connector/>

<Engine>

<Host>

<Context/>

<Context/>

</Host>

<Host>

</Host>

</Engine>

</Service>

</Server>

每一个组件都由一个Java“类”实现,这些组件大体可分为以下几个类型:

顶级组件:Server

服务类组件:Service

连接器组件:http, https, ajp(apache jserv protocol)

容器类:Engine, Host, Context 部署应用程序的组件

被嵌套类:valve, logger, realm, loader, manager, …

集群类组件:listener, cluster, …

JSP WebAPP的组织结构:

/: webapps的根目录

index.jsp:主页;

WEB-INF/:当前webapp的私有资源路径;通常用于存储当前webapp的 web.xml和context.xml配置文件;

META-INF/:类似于WEB-INF/;

classes/:类文件,当前webapp所提供的类;

lib/:类文件,当前webapp所提供的类,被打包为jar格式;

webapp归档格式:

.war:webapp 归档文件

.jar:EJB的类打包文件(类库);

.rar:资源适配器类打包文件;

.ear:企业级webapp;

部署(deploy)webapp的相关操作:



deploy:将webapp的源文件放置于目标目录(网页程序文件存放目录),配置tomcat服务器能够基于web.xml和context.xml文件中定义的路径来访问此webapp;将其特有的类和依赖的类通过class loader装载至JVM;

部署有两种方式:

自动部署:auto deploy

手动部署:

冷部署:把webapp复制到指定的位置,而后才启动tomcat;

热部署:在不停止tomcat的前提下进行部署;

部署工具:manager、ant脚本、tcd(tomcat client deployer)等;

undeploy:拆除(反部署),停止webapp,并从tomcat实例上卸载webapp;

start:启动处于停止状态的webapp;

stop:停止webapp,不再向用户提供服务;其类依然在jvm上;

redeploy:重新部署;

实验:手动提供一测试类应用,并冷部署:

环境:centos7服务器一台

  1. 准备:关闭防火墙,和selinux
  2. Tomcat安装:
yum install tomcat tomcat-lib tomcat-admin-webapps tomcat-docs-webapp tomcat-webapps

3.构建配置文件

mkidr -pv /usr/share/tomcat/webapps/test/{classes,lib,WEB-INF,META-INF}

手动创建文件/usr/share/tomcat/webapps/test/index.jsp


<%@ page language="java" %>

<%@ page import="java.util.*" %>

<html>

<head>

<title>Test Page</title>

</head>

<body>

<% out.println("hello world");

%>

</body>

</html>

#systemctl start tomcat.service

4.访问测试:

5.配置manager热部署工具

vim  /etc/tomcat/tomcat-users.xml  #添加两行

点击Manager   App

输入用户名:tomcat 密码:tomcat

管理界面如图:

6.实现热部署

本文以Java应用solo-2.2.0.war为例:

上图中,把 solo-2.2.0.war上传,然后Deploy

部署成功界面:

时间: 2024-08-03 12:21:39

Tomcat的简单介绍,安装,以及简单的配置运用的相关文章

Rabbitmq 简单介绍,安装和go客户端使用

Rabbitmq 简单介绍,安装和go客户端使用 1,消息队列介绍 1.1 什么是消息队列? 消息队列(英语:Message queue)是一种进程间通信或同一进程的不同线程间的通信方式,软件的贮列用来处理一系列的输入,通常是来自用户.消息队列提供了异步的通信协议,每一个贮列中的纪录包含详细说明的数据,包含发生的时间,输入设备的种类,以及特定的输入参数,也就是说:消息的发送者和接收者不需要同时与消息队列互交.消息会保存在队列中,直到接收者取回它.消息队列,一般我们会简称他为MQ(Message

JBoss 系列九十六:JBoss MSC - 简单介绍及一个简单示例

什么是 JBoss MSC JBoss MSC 即 JBoss Modular Service Container,是第三代 JBoss 产品 JBoss 7和WildFfly的内核,JBoss MSC 替换了之前的 JMX Kernel 和 MicroContainer,它主要特定可以总结如下三点: 高并发容器(A highly concurrent state machine) 无多相位,设计简单(No multiple phases, much simpler) 不依赖 JMX 和 Jav

Adaline神经网络简单介绍和MATLAB简单实现

Adaline神经网络 Adaline利用了最小二乘法的思想,相较于感知机神经网络,对于数据的线性可分的要求更低一些,可以允许一些异常数据. 上面描述了迭代求解的过程,但是在x0(k+1)这里没看懂,如果是更新θ应该是w0(k+1)才对.应该是PPT有错. 我们来说明下迭代求解需要注意的地方. 首先,将θ并入到w中去,因为θ前面的系数始终是1,所以x也多了一列,这一列都是1. x=[1,x1,x2,?,xn]Tw=[θ,w1,?,wn] 然后是迭代的结束条件.在代码实现中,是计算w(k?1)与w

数据库连接池简单介绍和 C3P0的JDBC配置

前面一节我们介绍了怎样利用jdbc连接数据库,已经实现了数据库的连接,可是在实际的项目开发中,能够发现基本上都使用了数据库连接池技术.为什么要使用数据库连接池呢?根源在于对数据库连接的低效管理 答: 普通的JDBC数据库连接,用户请求一次查询的时候就会向数据库发起一次连接.运行完后就断开连接,这种方式会消耗大量的资源和时间.数据库的连接资源并没有得到非常好的重复利用. 若是同一时候有几百人甚至几千人在线.频繁地进行数据库连接操作,这将会占用非常多的系统资源,严重的甚至会造成server的奔溃.这

神经进化学的简单介绍和一个简单的CPPN(Compositional Pattern Producing Networks)DEMO

最近迷上神经进化(Neuroevolution)这个方向,感觉是Deep Learning之后的一个很不错的研究领域.该领域的一个主导就是仿照人的遗传机制来进化网络参数与结构.注意,连网络结构都可以进化,就是不像是传统的神经网络,结构是提前定义好的. 最近这个领域研究的比较多的是 弗罗里达大学的Stanley教授,主要的贡献有NEAT,HyperNEAT以及Novelty Search,有兴趣的可以去google之. NEAT与HyperNEAT都是一种indirect coding算法,目的在

elasticsearch简单的安装以及集群配置详解

首先要确保有java8的环境,安装方法如下(centos) 1 wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.rpm 2

IPSec VPN 简单介绍以及站点到站点配置

Vpn的连接模式 1)  传输模式 从数据的发出到接收,中间的传输过程全部是加密的(隐藏) 不保护目标和源IP地址(可见) 截获后可以看见目的IP地址和源IP地址,但是看不见里面的数据 多用于一个局域网内通信 2)  隧道模式 隐藏整个数据包 添加一个新的包头,,封装VPN设备的IP地址信息 截获后,既无法看见数据内容,又无法看到通信双方的地址 多用于,总公司和分公司之间通信 VPN的类型: 1)  站点到站点 通过隧道模式在VPN网关之间保护两个或多个站点之间的流量 对于终端用户来说,在VPN

MongoDB —— Windows环境安装与简单使用

公司使用mongodb 来做数据库的功能,第一次使用,所以自己去研究了下MongoDB的官网和相关资料,本地windows环境搭建了一个MongoDB的简单数据库,话不多说,进入正题 一.下载MongoDB 1.MongoDB官网:点击打开 2.下载地址:MongoDB 下载 MongoDB官网提供了很多个下载版本,现在最新的是3.2版本的,并且有linux的,也有windows不同操作系统的,我本机是win 64位的,所以下载了mongodb-win32-x86_64-2008plus-ssl

iOS开发拓展篇-XMPP简单介绍

iOS开发拓展篇-XMPP简单介绍 一.即时通讯简单介绍 1.简单说明 即时通讯技术(IM)支持用户在线实时交谈.如果要发送一条信息,用户需要打开一个小窗口,以便让用户及其朋友在其中输入信息并让交谈双方都看到交谈的内容 有许多的IM系统,如AOL IM.Yahoo IM. MSN以及QQ,它们最大的区别在于各自通讯协议的实现,所以即时通讯技术的核心在于它的传输协议 协议用来说明信息在网络上如何传输,如果有了统一的传输协议,那么应当可以实现各个IM之间的直接通讯,为了创建即时通讯的统一标准,目前已

iOS开发UI篇-UIWindow简单介绍

iOS开发UI篇—UIWindow简单介绍 一.简单介绍 UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的view,最后将控制器的view添加到UIWindow上,于是控制器的view就显示在屏幕上了 一个iOS程序之所以能显示到屏幕上,完全是因为它有UIWindow.也就说,没有UIWindow,就看不见任何UI界面 补充:UIWindow是创建的第一个视图控件(创建的第一个