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 配置文件和一些文档 ...
随机推荐
- Laravel资源理由器跟隐式控制的对比及是怎样的吧?- Route::resource vs Route::controller
stackoverflow找到的问题:http://stackoverflow.com/questions/23505875/laravel-routeresource-vs-routecontrol ...
- Laravel 5.2错误-----Base table or view not found: 1146 Table
报出这个问题,我想就是数据库表名不对导致的. 为什么呢?感觉laravel太强大了,很专业的感觉. 因为它对单词命名的单复数区分的很清楚吧.laravel会自动的将模型名自动替换成名称的复数形式,然后 ...
- Django 笔记(五)自定义标签 ~ 映射mysql
创建简单标签: 1-3 或者 2-3 创建包含标签: 1-2或1-3或1-4(推荐) 包含标签使用: 2 和 4对应上面的使用方法 在虚拟环境中安装: pip install pymysql 在set ...
- Python-HTML转义字符
ISO Latin-1字符集: — 制表符Horizontal tab — 换行Line feed — 回车Carriage Return — Space ! ! — 惊叹号Exclamati ...
- CSS margin合并
外边距合并 块的顶部外边距和底部外边距有时被组合(折叠)为单个外边距,其大小是组合到其中的最大外边距 发生外边距合并的三种基本情况 1. 相邻的兄弟姐妹元素 <div id="marg ...
- Confluence 6 通过 SSL 或 HTTPS 运行 - 重定向所有的 URLS 到 HTTPS 的安全考虑
尽管现在 HTTPS 现在已经激活并且可用了.老的 HTTP URLs (http://localhost:8090)还是可以访问的.现在你需要重定向所有 URLs 到他们的 HTTPS 链接中.你可 ...
- Confluence 6 配置 Web 代理支持
这个页面中的相关平台中的内容是不被支持的.因此,Atlassian 支持不能保证能够为你提供任何支持.请注意,这个页面下面提供的信息仅为你提供参考同时也不能保证所有的的配置能正常工作.如果你按照本页面 ...
- 进程与程序 并行 并发 串行 阻塞 join函数
进程是正在运行的程序,程序是程序员编写的一对代码,也就是一堆字符,当这堆代码被系统加载到内存并执行,就有了进程. (需要注意的是:一个程序是可以产生多个程序,就像我们可以同时运行多个QQ程序一样,会形 ...
- SpringBoot图片上传(一)
简单描述:点击上传文件的图标,上传文件,上传成功后,图标编程上传的图片. 吐槽:文件上传下载这种东西,总是感觉莫名的虚-_-|| 也不知道是造了什么孽,(其实就是IO File这一块的知识了解的不太 ...
- laravel 不理解的call方法
返回结果: 原来是调用同控制器的这四个方法之一...vendor\zhiyicx\plus-question\src\API2\Controllers\UserQuestionController.p ...