当前位置: 首页 > 科技观察

Linux平台下Tomcat的安装与优化

时间:2023-03-12 03:09:09 科技观察

Tomcat服务器是一个免费开源的Web应用服务器,是一个轻量级的应用服务器。广泛应用于中小型系统和并发访问用户不多的场合。用于开发和调试JSP程序的***。对于初学者来说,可以认为在一台机器上配置Apache服务器后,可以用来响应HTML(标准通用标记语言下的一种应用程序)页面的访问请求。Tomcat实际上是Apache服务器的扩展,但是它在运行时是独立运行的,所以当你运行tomcat时,它实际上是作为一个独立于Apache的进程运行的。一、Tomcat简介Tomcat服务器是一个免费开源的Web应用服务器,是一个轻量级的应用服务器。广泛应用于中小型系统和并发访问用户不多的场合。**。对于初学者来说,可以认为在一台机器上配置Apache服务器后,可以用来响应HTML(标准通用标记语言下的一种应用程序)页面的访问请求。Tomcat实际上是Apache服务器的扩展,但是它在运行时是独立运行的,所以当你运行tomcat时,它实际上是作为一个独立于Apache的进程运行的。诀窍在于,如果配置正确,Apache提供HTML页面,而Tomcat实际上运行JSP页面和servlet。另外,Tomcat与IIS等Web服务器一样,具有处理HTML页面的功能。此外,它还是一个Servlet和JSP容器。独立的Servlet容器是Tomcat的默认模式。但是,Tomcat处理静态HTML的能力不如Apache服务器。2、Tomcat安装准备:在安装Tomcat之前,必须先安装JDK。JDK的全称是JavaDevelopmentKit。是SUN公司免费提供的java语言的软件开发工具包。java源程序可以编译生成java字节码。只要安装了JDK,就可以使用JVM来解释这些字节码文件,从而保证了Java的跨平台性。在平台兼容性方面,JDK作为解释字节码文件并调用操作系统API实现相应功能的java虚拟机,与操作系统的数量密切相关,因此存在不同类型的版本。Tomcat也具有以上特点。所以需要提前下载JDK和Tomcat。JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/tomcat下载地址:http://tomcat.apache.org1。卸载系统自带的openjdk,安装jdk[root@tomcat1~]#rm-rf$(whichjava)[root@tomcat1~]#tarxfjdk-7u80-linux-x64.tar[root@tomcat1~]#mvjdk1。7.0_80//usr/local/java2.解压并安装Tomcat[root@tomcat1~]#tarxfapache-tomcat-8.5.20.tar.gz[root@tomcat1~]#mvapache-tomcat-8.5.20/usr/local/tomcat83。设置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-versionjavaversion"1.7.0_65"Java(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/java6.关闭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关闭Selinux8.Tomcat配置说明/usr/local/tomcat主目录(安装目录)bin存放tomcat在windows或linux平台启动或关闭的脚本文件conf存放Tomcat的各种全局配置文件,其中最重要的是server.xml和web.xmllib,里面存放着Tomcat运行所需要的库文件(JARS)。logs存放Tomcat执行时的LOG文件。)work存放jsp编译后生成的class文件[root@tomcat1~]#ls/usr/local/tomcat/conf/catalina.policy权限控制配置文件catalina.propertiestomcat属性配置文件context.xml上下文配置文件(selinux)logging.propertieslog日志相关配置文件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,提高并发处理能力#去掉注释-->#去掉注释,修改协议:#删除两个参数:(这是删除后的)#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-PrintXampTimeGCX:-Xloggc:../logs/gc.log》参数说明-Xms堆内存的初始大小,单位m,g-Xmx堆内存的最大允许大小,一般不大于物理内存的80%-XX:PermSize非堆内存初始大小,一般应用设置初始化为200m,***1024m就够了-XX:MaxPermSize非堆内存***允许大小-XX:+UseParallelGCThreads=8并行收集器线程数,同时有多少个线程垃圾收集,一般等于CPU个数-XX:+UseParallelOldGC指定老年代为并行收集-XX:+UseConcMarkSweepGCCMScollector(并发收集器)-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表示不限制文件类型