tomcat简单操作

网友投稿 269 2022-11-10

tomcat简单操作

Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个servelet容器,按照Sun microsystems提供的技术规范开发出来,Tomcat 8实现了对servlet 3.1和Javaserver page 2.3(JSP)的支持,并提供了作为web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat附加组件等

查看

JPS命令功能描述:jps是用于查有权限访问的hotspot虚拟机(jdk中带的虚拟机)的进程 命令语法: jps [options] [hostid] options:命令选项,用来对输出格式进行控制 -p 仅仅显示vm标识,不显示jar,class,main参数等信息 -m 输出主函数传入的参数 -l 输出应用程序主类完整package名称或jar完整名称 -v 列出jvm参数,-Xms20m -Xmx50m是启动程序指定的jvm参数与 -V 输出通过.hotsportrc或者-XX:Flags=指定的jvm参数 hostid:指定特定主机,可以使IP地址或域名,也可以指定具体协议,端口 [protocol:][//hostname][:port] [servername]

web.xml:Web应用程序配置文件,描述了 servlet 和其他的应用组件配置及命名规则。 classes:包含所需要的 class 文件,包括 servlet class 和其他的一些class,他们不能包含在 .jar文件中。 lib:存放web应用需要的各种JAR文件META-INF:用来配置应用程序、扩展程序、类加载器和服务

默认webapps目录结构docs:Tomcat帮助文档 examples:web应用实例 host-manager:主机管理 manager:应用管理 ROOT:默认站点根目录配置文件conf目录主要是用来存放tomcat的一些配置文件。server.xml 主配置文件 web.xml 与其他适用于整个web应用程序设置的配置文件 context.xml 默认的context设置,应用于安装了Tomcat的所有主机的所有部署内容 tomcat-users.xml用来配置管理tomcat的用户与权限catalina.xml Tomcat的安全防护策略文件组件

自定义目录

自定义一个监控页面,通过web查看运行性能(类似phpinfo) server.xml如下设置

远程监控Tomcat开启JMX远程调试功能

后台app manager做这个的时候要把catalina.sh里边写入的东西删除掉,否则Tomcat无法访问到页面

热部署tomcat的热部署实现原理:tomcat启动的时候会有启动一个线程每隔一段时间会去判断应用中加载的类是否发生变法(类总数的变化,类的修改),如果发生了变化就会把应用的启动线程停止掉,清除引用,并且把加载该应10-Tomcat.md 5/12/201918 / 23用的WebappClassLoader设为null,然后创建一个新的WebappClassLoader来重新加载应用。reloadable的作用是当你修改了jsp之后会自动编译class文件,等于即时生效,但是代价不低,适合本地开发调试,一般在开发阶段将reloadable的属性设置为true,有助于调试servlet和其他的class文件,但是由于这样会增加服务器的运行负载,损耗系统性能,在项目运行阶段将它设置为falsewar包部署直接将web项目文件(一般是复制生成的war包)复制到Tomcat的webapps目录如果Tomcat没有开启自解压,则将war包解压到webapps目录解压命令jar(解压到当前目录) jar -xf bdqnweb.war war包也可以使用unzip解压,使用unzip命令的时候,可以指定解压目录安全端口防护修改目标端口为不易猜测的端口,降低自动扫描软件发现到的几率后台管理删除默认的管理后台(如果不需要使用),降低被爆破和提权的风险删除webapp下的host-manager和manager目录禁用目录浏览修改 conf/web.xml文件,将listings改为false隐藏信息尽量避免暴露服务器的版本信息,隐藏错误页面。在配置中对一些常见的错误进行重定向,避免出现错误时Tomcat默认显示的错误页面暴露服务器和版本信息;必须确保程序根目录下的错误页面已经存在;vim conf/web.xml添加内容

404 /notfound.jsp

重启Tomcat,测试一下firefox 192.168.43.249:8088/aaaaaaaaaaaaaaa

注意:这里的意思是说,如果是404的错误就找/目录下的notfound.jsp,所以一定要知道自己的网页根目录在哪,并在这个目录下创建notfound.jsp页面,页面内容自己编辑 网页根目录是server.xml文件中 host 标签下的context标签里的docBase

403 /forbidden.jsp 404 /notfound.jsp 500 /systembusy.jsp

脚本权限收回去除其他用户对Tomcat的bin目录下的 shutdown.sh、startup.sh、catalina.sh的可执行权限,防止其他用户有Tomcat的权限 chmod -R 744 /usr/local/apache-tomcat-8.5.35/bin/日志规范开启Tomcat默认访问日志中的referer和user-agent记录,开启这两个是为了一旦出现安全问题,能够更好的根据日志进行问题排查[root@localhost apache-tomcat-8.5.35]# vim conf/server.xml原来是这样:

修改后的样子:

主机管理器的使用 (末尾添加)

定义错误页面

线程池优化

JAVA_OPTS="-Dfile.encoding=UTF-8-server-Xms1024M-Xmx1024M-XX:NewSize=512M-XX:MaxNewSize=1024M-XX:PermSize=256M-XX:MaxPermSize=356M-XX:NewRatio=2-XX:ParallelGCThreads=15-XX:+DisableExplicitGC"-Xms:表示 JVM初始内存大小,也可以说是Java 初始化堆的大小,-Xms 与-Xmx 设成一样的值,避免 JVM 反复重新申请内存,导致性能大起大落,默认值为物理内存的 1/64-Xmx:表示最大 Java 堆大小,当应用程序需要的内存超出堆的最大值时虚拟机就会提示内存溢出,并且导致应用服务崩溃,因此一般建议堆的最大值设置为可用内存的最大值的80%。 -Xmn:设置JVM最小内存(128-256就够了,一般不设置)-XX:NewSize:设置新生代内存大小。 新生代,对象新创建的时候分配的内存空间,老生代在垃圾回收器回收过后该对象依然没有被回收,该对象就会移动到老生代-XX:PermSize:设置持久代内存大小,用于存放静态文件,如今Java类、方法等。持久代对垃圾回收没有显著影响,但是有些应 用可能动态生成或者调用一些class,持久带也称为方法区,方法区存储每一个java类的结构信息:比如运行时常量池,字段和方法数据,构造函数和普通方法的字节码内容以及类、实例、接口初始化时需要使用到的特殊方法等数据,JDK8中已经把持久代(PermGen Space) 干掉了,取而代之的元空间(Metaspace)。Metaspace占用的是本地内存,不再占用虚拟机内存。-XX:MaxPermSize:设置最大值持久代内存大小,永久代不属于堆内存,堆内存只包含新生代和老年代-XX:NewRatio:改变新旧空间的比例,意思是新空间的尺寸是旧空间的1/8(默认为8)-XX:ParallelGCThreads 可用来增加并行度,需要多cpu-XX:+DisableExplicitGC:关闭System.gc(),简单理解就是关闭java中的内存回收机制

Tomcat的请求方式Tomcat支持三种接收请求的方式:BIO NIO APR1、BIO:每个请求都要创建一个线程来处理,线程开销比较大,不适用高并发的场景,性能也最低2、NIO:基于缓冲区,能提供非阻塞I/O操作,和传统的BIO相比,具备更好的并发性能3、APR(Apache portable run-time libraries):简单理解,就是从操作系统级别解决异步IO问题,大幅度的提高服务器的处理和相应性能,也是Tomcat运行高并发的首选模式APR提供的主要功能模块包括:内存分配及内存池、原子操作、文件I/O、锁、内存映射、哈希表、网络I/O、轮询、进程及线程操作等等,通过采用APR,Tomcat可以获得高度可扩展性以及优越的性能,并且可以更好的与本地服务器技术集成,从而可以使Tomcat作为一款通用的Web服务器使用,而不仅仅作为轻量级应用服务器。在这种情况下,Java将不再是一门侧重于后端的编程语言,也可以更多的用于成熟的Web服务器平台。Excutor重要参数说明:

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:2019年底中国运营商蜂窝物联网连接数将超过11亿
下一篇:日本NHK位于东京的后期制作设施音响升级工程详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~