Tomcat服务器是一个免费的开放源代码的Web应用服务器

tomcat 服务器是一个免费的开放源代码的web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试jsp 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好apache 服务器,可利用它响应html(标准通用标记语言下的一个应用)页面的访问请求。实际上tomcat是apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与apache 独立的进程单独运行的。
一.tomcat介绍
tomcat 服务器是一个免费的开放源代码的web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试jsp 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好apache 服务器,可利用它响应html(标准通用标记语言下的一个应用)页面的访问请求。实际上tomcat是apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与apache 独立的进程单独运行的。
诀窍是,当配置正确时,apache 为html页面服务,而tomcat 实际上运行jsp 页面和servlet。另外,tomcat和iis等web服务器一样,具有处理html页面的功能,另外它还是一个servlet和jsp容器,独立的servlet容器是tomcat的默认模式。不过,tomcat处理静态html的能力不如apache服务器。
二.tomcat安装
安装前准备:
在安装tomcat之前必须先安装jdk,jdk全称是 java development kit,是sun公司免费提供的java语言的软件开发工具包,其中包含java虚拟机(jvm),编写好的java源程序经过编译可生产java字节码,只要安装了jdk,就可以利用jvm解释这些字节码文件,从而保证了java的跨平台性。
在平台兼容性方面,jdk作为解释字节码文件并根据此调用操作系统的api实现对应功能的java虚拟机,与操作系统位数密切相关,因此存在不同类型的版本,tomcat也具有上述特征,所以需要预先下载好jdk和tomcat
jdk下载地址:
http://www.oracle.com/technetwork/java/javase/downloads/
tomcat下载地址:http://tomcat.apache.org
1.卸载系统自带的openjdk并安装jdk
[root@tomcat1~]#rm-rf$(whichjava)[root@tomcat1~]#tarxfjdk-7u80-linux-x64.tar[root@tomcat1~]#mvjdk1.7.0_80//usr/local/java
2.解压安装tomcat
[root@tomcat1~]#tarxfapache-tomcat-8.5.20.tar.gz[root@tomcat1~]#mvapache-tomcat-8.5.20/usr/local/tomcat8
3.设置java环境变量
[root@tomcat1~]#vim/etc/profile.d/java.shexportjava_home=/usr/local/java##设置java根目录exportpath=$path:$java_home/bin:/usr/local/tomcat8/bin#在path环境变量中添加java跟目录的bin子目录[root@tomcat1~]#./etc/profile#将java.sh脚本导入到环境变量,使其生效
4.运行 java -version 或者 javac -version 命令查看java版本
[root@tomcat1~]#java-versionjavaversion1.7.0_65java(tm)seruntimeenvironment(build1.7.0_65-b17)javahotspot(tm)64-bitservervm(build24.65-b04,mixedmode)
5.启动tomcat
[root@tomcat1~]#/usr/local/tomcat7/bin/startup.shusingcatalina_base:/usr/local/tomcat7usingcatalina_home:/usr/local/tomcat7usingcatalina_tmpdir:/usr/local/tomcat7/tempusingjre_home:/usr/local/javausingclasspath:/usr/local/tomcat7/bin/bootstrap.jar:/usr/local/tomcat7/bin/tomcat-juli.jartomcatstarted.tomcat默认运行在8080端口[root@tomcat1~]#netstat-anpt|grep:8080tcp00:::8080:::*listen3318/java
6.关闭tomcat
[root@tomcat1~]#/usr/local/tomcat7/bin/shutdown.sh浏览器访问测试http://ip:端口
7.修改端口号
[root@tomcat1~]#vim/usr/local/tomcat8/conf/server.xml修改端口:8080-95288005-95298009-9530[root@tomcat1~]#/usr/local/tomcat8/bin/startup.sh[root@tomcat1~]#netstat-anpt|grepjavatcp000.0.0.0:95280.0.0.0:*listen5625/javatcp00127.0.0.1:95290.0.0.0:*listen5625/javatcp000.0.0.0:95300.0.0.0:*listen5625/java注意:关闭防火墙和selinux安全机制,如果是阿里云服务器,控制台安全组需要放行tcp协议8080端口。systemctldisablefirewalld永久关闭防火墙systemctlstopfirewalld临时关闭防火墙setenforce0关闭selinux
8.tomcat 配置相关说明
/usr/local/tomcat主目录(安装目录)bin存放windows或linux平台上启动或关闭的tomcat的脚本文件conf存放tomcat的各种全局配置文件,其中最主要的是server.xml和web.xmllib存放tomcat运行需要的库文件(jars)logs存放tomcat执行时的log文件webappstomcat的主要web发布目录(包括应用程序事例)htdocs(htmlphp)work存放jsp编译后产生的class文件[root@tomcat1~]#ls/usr/local/tomcat/conf/catalina.policy权限控制配置文件catalina.propertiestomcat属性配置文件context.xml上下文配置文件(selinux)logging.properties日志log相关配置文件server.xml主配置文件tomcat-users.xmlmanager-gui管理用户配置文件(tomcat安装后生成的管理界面,该文件可开启访问)web.xmltomcat的servlet,servlet-mapping,filter,mime等相关配置server.xml主要配置文件,可修改启动端口,设置网站根目录,虚拟主机,开启https等功能。
三.tomcat优化
1.禁用tomcat的ajp协议
[root@tomcat1conf]#vimserver.xml注释:
2.修改通讯模式bio修改为nio提高并发处理能力
#去掉注释 3.启用外部连接池
#去掉注释并修改maxthreads: #去掉注释并修改protocol:#删除俩参数:(这是删除后的)#
4.jvm调优生产配置
编辑catalina.sh配置文件[root@tomcat1~]#vim/usr/local/tomcat8/bin/catalina.sh#osspecificsupport.$var_must_besettoeithertrueorfalse.下面添加java_opts=-server-xms1024m-xmx2048m-xx:permsize=512m-xx:maxpermsize=512m-xx:+useconcmarksweepgc-xx:+useparallelgcthreads=8-xx:cmsinitiatingoccupancyfraction=80-xx:+usecmscompactatfullcollection-xx:cmsfullgcsbeforecompaction=0-xx:-printgc-xx:-printgcdetails-xx:-printgctimestamps-xloggc:../logs/gc.log参数描述-xms堆内存初始大小,单位m、g-xmx堆内存最大允许大小,一般不要大于物理内存的80%-xx:permsize非堆内存初始大小,一般应用设置初始化200m,最大1024m就够了-xx:maxpermsize非堆内存最大允许大小-xx:+useparallelgcthreads=8并行收集器线程数,同时有多少个线程进行垃圾回收,一般与cpu数量相等-xx:+useparalleloldgc指定老年代为并行收集-xx:+useconcmarksweepgccms收集器(并发收集器)-xx:+usecmscompactatfullcollection开启内存空间压缩和整理,防止过多内存碎片
5.生产配置实例
#server.xml配置文件下:[root@tomcat1~]#vim/usr/local/tomcat8/conf/server.xml##参数说明:org.apache.coyote.http11.http11nioprotocol:调整工作模式为niomaxthreads:最大线程数,默认150。增大值避免队列请求过多,导致响应缓慢。minsparethreads:最小空闲线程数。maxsparethreads:最大空闲线程数,如果超过这个值,会关闭无用的线程。acceptcount:当处理请求超过此值时,将后来请求放到队列中等待。disableuploadtimeout:禁用上传超时时间connectiontimeout:连接超时,单位毫秒,0代表不限制uriencoding:uri地址编码使用utf-8enablelookups:关闭dns解析,提高响应时间compression:启用压缩功能compressionminsize:最小压缩大小,单位bytecompressablemimetype:压缩的文件类型

病毒泛滥,智能时代信息安全该如何保护
光照度记录仪的产品用途是怎样的
自动驾驶技术的发展迅猛,不过要实现大规模收益,还需再等十年
人脸识别技术的优缺点及其在实际应用中的影响
加密货币和区块链企业历来的并购情况分析
Tomcat服务器是一个免费的开放源代码的Web应用服务器
如何拆卸麦克风的指示灯
5G商业化终端必需先行
基于GT-POWER软件的柴油机可调两级增压系统仿真
北方华创募集资金总额不超过20亿元投两大产业化项目 将进一步提升现有高端集成电路设备的产业化能力
Diodes新款逻辑器件采微型封装,大幅节省便携产品空间
雄芯一号芯片发布 智慧城市物联网感知体系升级换新
提高电感线圈Q值的七个小技巧是什么?详细讲解
Cray发布全新高扩展性存储系统 最高端版本每个机柜可达到16TB/s持续读写速度
个人局域网四大技术PK,蓝牙技术受青睐
一加5什么时候上市?一加5发布在即,一加5的所有消息看这里就够了
英特尔发布傲腾H20混合式固态盘
苹果iOS 13.3正式发布,优化4G信号和无线充电
买iPhone的理由不多了,国产机加油!
NTC转1-5V/2-10V热敏电阻(NTC)温度传感器变送器 RS485通信