Day20-tomcat
tomcat
一、Java及tomcat简介
二、安装JDK及tomcat
1.安装jdk
安装jdk很简单,首先下载网上的jdk安装包,我这边下载的是jdk-8u221-linux-x64.tar.gz。
①解压:tar -axvf jdk-8u221-linux-x64.tar.gz
②配置环境变量
#vim /etc/profile
#在文件的最后加上下面的行,注意JAVA_HOME=是你的JDK安装目录。
export JAVA_HOME=/usr/java/jdk-8u221-linux-x64.tar.gz。
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
③重新载入配置
source /etc/profile
③查看版本,验证是否安装成功
#java -version

2.安装tomcat
安装tomcat跟安装jdk一样,先下载安装包然后解压。我这边下载的版本是 apache-tomcat-8.5.41.tar.gz。
① 解压
tar -zxvf apache-tomcat-8.5.41.tar.gz
②设置软连接
ln apache-tomcat-8.5.41.tar.gz>tomcat -sv
②配置环境变量(与jdk差不多)
#vim /etc/profile.d/tomcat
#在文件中写入
export CATALINA_HOME=/usr/local/tomcat
export PATH=$CATALINA_HOME/bin:$PATH
③重新载入配置
source /etc/profile.d/tomcat.sh
④验证配置
#catalina.sh -version

⑤tomcat启动,停止,检查语法。
catalina.sh start/stop/confightest
三、tomcat的配置
1.tomcat配置文件 ./tomcat/conf:
①sever.xml 核心配置文件
②context.xml 为部署于此toncat实例上的所有web应用长须提供默认配置文件,每个webapp都可以使用自己独有的
context.xml文件,文件通常放置于webapp目录的META-INF子目录中。常用于定义会话管理区、Ream、以及JDBC等。
③web.xml 为所有部署于此tomcat实例上的所有web程序提供默认部署描述符的。通常用于webapp提供基本的severlet定义和MIME映射表等
④tomcat-user.xml
⑤catalina.policy 当tomcat基于-security选项启动的时候,tomcat会读取此配置文件,此配置文件是JAVA安全策略配置文件,通常用于配置访问codebase或某些JAVA类的访问权限。
⑥catalina.properties JAVA的属性定义文件,设定类加载器路径、安全包列表。和一些调整性能的参数信息。
⑦loggin.properties 定义日志相关信息,例如日志级别、文件路径等

四、toncat“部署”
①部署是指将webapp及其所一来的类库等装载进tomcat实例上,以便接受用户请求
②部署方式:
静态部署:在tomcat启动之前进行的webapp部署
动态方式:在不打断tomcat运行的前提下,
五、安装JDK及tomcat
1.安装jdk
安装jdk很简单,首先下载网上的jdk安装包,我这边下载的是jdk-8u221-linux-x64.tar.gz。
①解压:tar -axvf jdk-8u221-linux-x64.tar.gz
②配置环境变量
#vim /etc/profile
#在文件的最后加上下面的行,注意JAVA_HOME=是你的JDK安装目录。
export JAVA_HOME=/usr/java/jdk-8u221-linux-x64.tar.gz。
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
③重新载入配置
source /etc/profile
③查看版本,验证是否安装成功
#java -version
2.安装tomcat
安装tomcat跟安装jdk一样,先下载安装包然后解压。我这边下载的版本是 apache-tomcat-8.5.41.tar.gz。
① 解压
tar -zxvf apache-tomcat-8.5.41.tar.gz
②设置软连接
ln apache-tomcat-8.5.41.tar.gz>tomcat -sv
②配置环境变量(与jdk差不多)
#vim /etc/profile.d/tomcat
#在文件中写入
export CATALINA_HOME=/usr/local/tomcat
export PATH=$CATALINA_HOME/bin:$PATH
③重新载入配置
source /etc/profile.d/tomcat.sh
④验证配置
#catalina.sh -version 
⑤tomcat启动,停止,检查语法。
catalina.sh start/stop/confightest
六、tomcat的配置
1.tomcat配置文件 ./tomcat/conf:
①sever.xml 核心配置文件
②context.xml 为部署于此toncat实例上的所有web应用长须提供默认配置文件,每个webapp都可以使用自己独有的
context.xml文件,文件通常放置于webapp目录的META-INF子目录中。常用于定义会话管理区、Ream、以及JDBC等。
③web.xml 为所有部署于此tomcat实例上的所有web程序提供默认部署描述符的。通常用于webapp提供基本的severlet定义和MIME映射表等
④tomcat-user.xml
⑤catalina.policy 当tomcat基于-security选项启动的时候,tomcat会读取此配置文件,此配置文件是JAVA安全策略配置文件,通常用于配置访问codebase或某些JAVA类的访问权限。
⑥catalina.properties JAVA的属性定义文件,设定类加载器路径、安全包列表。和一些调整性能的参数信息。
⑦loggin.properties 定义日志相关信息,例如日志级别、文件路径等
七、tomcat“部署”
①解析:部署是指将webapp及其所一来的类库等装载进tomcat实例上,以便接受用户请求
②部署类型:
静态部署:在tomcat启动之前进行的webapp部署
动态方式:在不打断tomcat运行的前提下,通过tomcat manager或其他的命令工具进行部署
③部署过程
Deploy:将webapp的源文件放置在目标目录,配置tomcat服务器能够基于某contcxt路径访问此webapp,并将其特有的类由类加载器进行装载等
Redeploy:重新部署,主要用于升级
Undeploy:取消部署,停止应用程序并从tomcat实例上一处其部分文件和部署名。
Stop:停止已经部署的webapp。
Start:将停止的webapp启动起来。
④部署方式:
Tomcat Manager
ANT脚本
TDC
⑤个别类归档部署方式:
war类归档:这类归档就是将归档文件复制到$CATALINA_BASE/webapps/目录中,并重启tomcat,一般来说tomcat会自动展开,也可以使用Tomcat manager 进行热部署。
八、webapp(应用程序)体系结构:
webapp有固定的组织格式,是一种层次型目录结构,通常包含了servlet代码文件。jsp页面文件、类文件、部署描述符文件等,一般会打包成归档格式。
/:web应用程序的根目录,也就是webapp下的ROOT
/WEB-INF:此webapp的私有资源目录,通常web.xml和context.xml放置于此。
/WEB-INF/classes:此为webapp自有类目录。
/WEB-INF/lib:此为webapp自有能够被打包为jar格式的类。
webapp的归档格式:
①EJB归档的扩展名为.jar
②web应用程序的归档扩展名为.war
③资源适配器的扩展名为.rar
④企业级应用程序的扩展名.ear
⑤web服务的扩展名为.ear或。war
九、tomcat架构
主要架构
用户请求--->web服务器(这里可以是apche,nginx和tomcat自带web服务器)--->serlet connet
注意:这里如果用的是apache,那么就是用户请求发过来,apahce接受后通过通信模块(mod_jk,proxy)与后端tomcat的连接器连接。
1.apache与tomcat相连
①apache端的连接器通信模块:
mod_jk:apache/1.3,apache/2.0
mod_proxy:apache/2.2+
2.tomcat连接协议版本:
http(这里包括两个,一个是http,一个是https)
ajp
3.环境架构
LAMT(linux+apache+tomcat):
apahce(mod_jk,ajp) +tomcat(ajp connector)
apache(mod_proxy,(http,https,ajp))+tomcat(http,https,ajp)
LNMT(linux+nginx+tomcat)
nginx+tomcat(http,https)
十、tomca主配置文件详解
tomcat的配置主要是依赖于server.xml
顶级类:server
容器类:engine,host,context
服务类:service
连接器:connector
http,ssl,ajp(apachje,jserv,portocol)
被嵌套类:valve,logger,realm
<server>#表示一个实例
<service>#service主要作用是将连接器跟引擎关联起来
<connector>#连接器(可以包含多个连接器)
</connector>
<engine>#引擎(一个service只能包含一个引擎)
<host>#虚拟主机
<context />#类似路劲别名
<context />#可以出现多次
</host>
<host>
</host>
</engine>
<service>
</server>
十一、自带:app
sever status:
状态查看
app部署
host manager:
虚拟主机管理
Day20-tomcat的更多相关文章
- Day20 javaWeb监听器和国际化
day20 JavaWeb监听器 三大组件: Servlet Listener Filter Listener:监听器 初次相见:AWT 二次相见:SAX 监听器: 它是一个接口,内容由我们来 ...
- Tomcat一个BUG造成CLOSE_WAIT
之前应该提过,我们线上架构整体重新架设了,应用层面使用的是Spring Boot,前段日子因为一些第三方的原因,略有些匆忙的提前开始线上的内测了.然后运维发现了个问题,服务器的HTTPS端口有大量的C ...
- docker——容器安装tomcat
写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...
- Tomcat shutdown执行后无法退出进程问题排查及解决
问题定位及排查 上周无意中调试程序在Linux上ps -ef|grep tomcat发现有许多tomcat的进程,当时因为没有影响系统运行就没当回事.而且我内心总觉得这可能是tomcat像nginx一 ...
- 记一次tomcat线程创建异常调优:unable to create new native thread
测试在进行一次性能测试的时候发现并发300个请求时出现了下面的异常: HTTP Status 500 - Handler processing failed; nested exception is ...
- Linux CentOS 配置Tomcat环境
一.下载Tomcat 下载Tomcat方式也有两种,可以参考我的前一篇博文Linux CentOS配置JDK环境,这边就不再赘述. 二.在Linux处理Tomcat包 1.创建tomcat文件夹 mk ...
- 在Linux虚拟机下配置tomcat
1.到Apache官网下载tomcat http://tomcat.apache.org/download-80.cgi 博主我下载的是tomcat8 博主的jdk是1.8 如果你们的jdk是1.7或 ...
- tomcat开发远程调试端口以及利用eclipse进行远程调试
一.tomcat开发远程调试端口 方法1 WIN系统 在catalina.bat里: SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compi ...
- Eclipse中启动tomcat报错java.lang.OutOfMemoryError: PermGen space的解决方法
有的项目引用了太多的jar包,或者反射生成了太多的类,异或有太多的常量池,就有可能会报java.lang.OutOfMemoryError: PermGen space的错误, 我们知道可以通过jvm ...
- mac下安装及配置tomcat
mac下的软件不像windows下的程序那样写注册表,对于tomcat的安装来说,在mac下是名符其实的绿色软件,具体操作如下: 1.到 apache官方主页 下载完整 tar.gz文件包.(没有专门 ...
随机推荐
- 基于Unix Socket的可靠Node.js HTTP代理实现(支持WebSocket协议)
实现代理服务,最常见的便是代理服务器代理相应的协议体请求源站,并将响应从源站转发给客户端.而在本文的场景中,代理服务及源服务采用相同技术栈(Node.js),源服务是由代理服务fork出的业务服务(如 ...
- Html5 部分帮助文档 未完待续
W3cSchoolH5帮助文档 Video属性 视频播放效果 Video标签 src视频得目录 controls属性提供添加 播放 和音量控件 当然呢 不设置宽和高得话 视频会很大 Video还可以 ...
- 实验一 Linux系统与应用准备(嵌入式Linux工程师的“修真之路”)
作业格式 项目 内容 这个作业属于哪个课程 这里是链接[https://edu.cnblogs.com/campus/nchu/2020SpringSystemAndApplication] 这个作业 ...
- 关于form表单:hover没有修改表单子元素样式
原来在写todolist的时候遇到的一个问题 是关于form表单的hover属性设置背景颜色 想要实现的效果如下: 但是一开始直接给form加hover选择器的时候是这样: 可以看到这样子直接加会使得 ...
- vnstat 流量统计 并附带一个小 php 查看流量的页面
安装apt-get install vnstat 配置到自动启动update-rc.d vnstat enable 启动/etc/init.d/vnstat start vnstat基本使用命令 vn ...
- Spring Boot从入门到精通(八)日志管理实现和配置信息分析
Spring Boot对日志的处理,与平时我们处理日志的方式完全一致,它为Java Util Logging.Log4J2和Logback提供了默认配置.对于每种日志都预先配置使用控制台输出和可选的文 ...
- django 从零开始 11 根据时间戳加密数据
django自带一个加密的方法signer,对数据进行一个加密 一般这种方式用于账号密码邮箱找回,或者token设置 class TimestampSigner(Signer): def timest ...
- 使用.Net Core编写命令行工具(CLI)
命令行工具(CLI) 命令行工具(CLI)是在图形用户界面得到普及之前使用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后,予以执行. 通常认为,命令行工具(CLI)没有 ...
- ASP.NET 开源导入导出库Magicodes.IE 完成Excel图片导入导出
Magicodes.IE Excel图片导入导出 为了更好的根据实际功能来迭代,从2.2的里程碑规划开始,我们将结合社区的建议和意见来进行迭代,您可以点此链接来提交您的意见和建议: https://g ...
- 面试官再问我如何保证 RocketMQ 不丢失消息,这回我笑了!
最近看了 @JavaGuide 发布的一篇『面试官问我如何保证Kafka不丢失消息?我哭了!』,这篇文章承接这个主题,来聊聊如何保证 RocketMQ 不丢失消息. 0x00. 消息的发送流程 一条消 ...