tomcat配置介绍
第一节java的介绍
java需要一个java的运行环境
JDK:包含了好几个java组件,包含类库(API) 开发工具(java) jvm(java虚拟机)JRE(类库)
tomcat:开源 企业级应用, 基于JDK 上的
tomcat自身也是一个web服务器,一般用来服务动态资源
作为JSP容器,包含以下组件:
1 每一个tomcat运行的一个进程叫做一个server,一台服务器上可以作行多个server,每个server监听在不同的端口上,
2 engine引擎:用于存放java代码,并把该代码加以运行得到结果的 类似JVM (java虚拟机)
3连接器:connector:连接器与引擎之间是一一对应的,适用于
service组件:把一个或多个连接器与一个引擎连接起来,一个service可以有多个连接器但只有一个引擎
主机:在一个引擎内部是有多个主机的(虚拟主机)可以基于主机名,端口,ip来定义虚拟主机,一般使用主机名来定义
安装tomcat首先需要安装JDK:
1 JDK又分为两种: openjdk oraclejdk
centos7有自带openJDK
安装jdk
yum install java-1.8.0-openjdk-devel
java –version 查看版本

所有应用环境会通过$JAVA_HOME 来找java的安装目录
设定环境变量
设定;vim /etc/prodile.d/java.sh
export JAVA_HOME=/usr
2种 安装oracle官方jdk 需要到oracle官方站点下

jdk安装在/usr/java
vim /etc/profile.d/java.sh 编写运行环境
#!/bin/bash
export JAVA_HOME=/usr/java/latest
export PATH=$JAVA_HOME/bin:$PATH

tomcat工作流程:
index.jsp(页面) –它有jsper这个程序翻译为------index_jsp.java -----由javac编辑器转为类文件-----index_jsp.class ------在引擎上运行(jvm上)
安装tomcat
yum install tomcat -y

tomcat一些可安装组件

安装web相关的包:
# yum install tomcat-webapps tomcat-admin-webapps tomcat-docs-webapp
安装后可以直接启动,运行tomcat是以java进程运行的,监听8080端口
访问 :192.168.1.104:8080
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:日志系统相关的配置;
每一个组件都由一个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格式
这站点放在cd /var/lib/tomcat/webapps/
如作业test测试页面
创建目录

创建主页面
vim test/index.jsp
<%@ page language="java" %>
<%@ page import="java.util.*" %>
<html>
<head>
<title>Test Page</title>
</head>
<body>
<% out.println("hello world");
%>
</body>
</html>
将test目录放在/var/lib/tomcat/webapps/ 这个目录下
启动服务:
systemctl start tomcat.service

在tomcat的页面首部有两个界面
1 manager:是管理应用程序的
2 host-maneger:是管理虚拟主机的 ,能完成虚拟主机的增删改 ,完成热部署
这两个访问首先需要设定用户认证,在tomcat-user.xml
# vim /etc/tomcat/tomcat-users.xml
<role rolename="manager-gui"/>
<user username="tomcat" password="tomcat" roles="manager-gui"/>
启动服务讲可以访问了
host manager 可以在线管理虚拟主机 这种定义的虚拟主机重启服务就没有了,需要定义在配置文件中
tomcat的常用组件配置:
1 Server:代表tomcat instance,即表现出的一个java进程;监听在8005端口,只接收“SHUTDOWN”。各server监听的端口不能相同,因此,在同一物理主机启动多个实例时,需要修改其监听端口为不同的端口;
2 Service:用于实现将一个或多个connector组件关联至一个engine组件;
3 Connector组件:负责接收请求,常见的有三类http/https/ajp;
进入tomcat的请求可分为两类:
1 来自客户端直接的请求
2 来自其他服务器反代的请求
如:
nginx --> http connector --> tomcat
httpd(proxy_http_module) --> http connector --> tomcat
httpd(proxy_ajp_module) --> ajp connector --> tomcat
配置文件:
对于connector连接器类的属性: 连接器配置
port="8080"
protocol="HTTP/1.1" 协议
connectionTimeout="20000"
address:监听的IP地址;默认为本机所有可用地址;
maxThreads:最大并发连接数,默认为200;
enableLookups:是否启用DNS查询功能;
acceptCount:等待队列的最大长度
Engine组件:Servlet实例,即servlet引擎,其内部可以一个或多个host组件来定义站点; 通常需要通过defaultHost来定义默认的虚拟主机;
Host组件:位于engine内部用于接收请求并进行相应处理的主机或虚拟主机,
示例:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
</Host>
host 下的配置说明:
(1) appBase:此Host的webapps的默认存放目录,指存放非归档的web应用程序的目录或归档的WAR文件目录路径;可以使用基于$CATALINA_BASE变量所定义的路径的相对路径相对程序根目录
(2) autoDeploy:在Tomcat处于运行状态时,将某webapp放置于appBase所定义的目录中时,是否自动将其部署至tomcat
如定义一个虚拟主机: www.xiao.com
mkdir -pv /appdata/xiao
mkdir -pv /appdata/xiao/ROOT/{lib,classes,WEB-INF}
配置主机
<Host name="www.xiao.com" appBase="/appdata/webapps" unpackWARs="true" autoDeploy="true"/>

给它复制一个站点

重启服务
访问测试

www.xiao.com 基于域名访问可能需要在windows下的hosts文件中做域名解析
192.168.1.104 www.xiao.com
定义context组件,作用可以定义重定向,该组件定义在host组件中
如
在配置文件中定义:



访问: www.xiao.com/eshop
Valve组件:
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
Valve存在多种类型:
定义访问日志:org.apache.catalina.valves.AccessLogValve
定义访问控制:org.apache.catalina.valves.RemoteAddrValve
tomcat配置介绍的更多相关文章
- Tomcat 配置介绍
参数说明: maxThreads: 最大可以创建请求的线程数 minSpareThreads: 服务启动时创建的处理请求的进程数 Connector中的port: 创建服务器端的端口号,此端口监听用户 ...
- tomcat 配置
tomcat 安装完成之后,我们可以在器目录先看到有如下结构
- 图文解说:Nginx+tomcat配置集群负载均衡
图文解说:Nginx+tomcat配置集群负载均衡 博客分类: appserver nginxTomcatUbuntuLinux网络应用 作者:niumd Blog:http://ari.iteye ...
- Tomcat配置HTTPS方式生成安全证书
在Tomcat 6中配置SSL双向认证是相当容易的,本文将介绍如何使用JDK的keytool来为Tomcat配置双向SSL认证.并实现批量生成证书 系统需求:JDK 5.0Tomcat 6.0.16启 ...
- 02 - Tomcat配置
Tomcat配置 本文内容 介绍 Windows UNIX daemon 1.介绍 首选看Tomcat目录下的RUNNING.TXT 2.Windows平台下 可以选择下载windows instal ...
- tomcat配置虚拟主机
在眼下,非常多server都是一台server对外能够訪问非常多个javaEE的项目,这样的实现方式就须要在tomcat里面配置虚拟主机了!以下就说说怎样配置虚拟主机: 找到tomcat的安装文件夹, ...
- Web开发之tomcat配置及使用(环境变量设置及测试,一个简单的web应用实例)
Tomcat的配置及测试: 第一步:下载tomcat,然后解压到任意盘符 第二步:配置系统环境变量 tomcat解压到的D盘 (路径为: D:\tomcat), 配置环境变量: 启动tomcat需要两 ...
- eclipse中web项目部署以后jsp的java文件找不到问题(Tomcat配置serverlocations)
我的开发环境:eclipse kepler (4.3)+tomcat7.0.42. 在我想看eclipse中web项目jsp文件被tomcat转换成java以后的java源文件的位置,发现正常情况下的 ...
- Tomcat 配置篇
Tomcat 配置一.Tomcat 基本介绍 1.关键目录 a) bin 该目录包含了启动.停止和启动其他的脚本,如startup.sh.shutdown.sh等; b) conf 配置文件和一些文档 ...
随机推荐
- Windows中查看端口占用及关闭对应进程
开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID,之后在任务管理器(右键电脑屏幕的状态栏即可找到)中找到这个PID所对应的程序.如果任务管理器中没有PID ...
- 【原创】大叔经验分享(29)cdh5使用已存在的metastore数据库部署hive
cdh5.16.1使用的hive版本是hive-1.1.0+cdh5.16.1+1431,详见:https://www.cloudera.com/documentation/enterprise/re ...
- JMeter 中_time 函数的使用(时间戳、当前时间)
有时在接口测试时,其参数需要为时间戳或者是日期格式的数据.针对此问题,可以使用JMeter自带的_time 函数来解决以上问题 操作步骤: 1.通过函数助手,生成一个_time 函数: 2.如果参数为 ...
- tomcat占用cpu比较多
在Linux中当Tomcat启动后,我们只是去查看应用是否能够正常访问来判断Tomcat启动是否正常.一般情况下这样看是没有问题的,但是有时候我们会发现当Tomcat使用了一段时间后,开始出现CPU或 ...
- 整理六百篇web前端知识混总
9个有用的和免费的工具来支持动态网页开发 8个基本的引导工具的网页设计师 11款CSS3动画工具的开发 2016年某前端群题目答案参考 9最好的JavaScript压缩工具 创建响应式布局的10款优秀 ...
- socket-WebSocket HttpListener TcpListener 服务端客户端的具体使用案例
/// <summary>/// 启动服务监听的ip和端口的主线程/// </summary>/// <param name="tunnelPort" ...
- laravel zh-CN
位置: 调用:
- scss文件使用笔记
1.编写兼容性代码 例如透明度,兼容IE @mixin mOpacity($o){ opacity:$o/100; filter:alpha(opacity=$o); } //引用 .box{ @in ...
- A.Ocean的礼物线段树
A: Ocean的礼物 Time Limit: 2 s Memory Limit: 128 MB Submit My Status Problem Description 皇家理工存在一段很神 ...
- Sqoop使用,mysql,hbase,hive等相互转换
Sqoop 是一款用来在不同数据存储软件之间进行数据传输的开源软件,它支持多种类型的数据储存软件. 安装 Sqoop 1.下载sqoop并加mysql驱动包 http://mirror.bit.edu ...