我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Linux中如何进行Tomcat安装与优化

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Linux中如何进行Tomcat安装与优化

这篇文章将为大家详细讲解有关Linux中如何进行Tomcat安装与优化,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

现在学习linux的人越来越多,但是有些知识点却懂得不是很多,针对这样的情况,小猿圈Linux讲师总结一些linux的知识点每天会分享给大家,今天分享的是Tomcat安装与优化详解,希望对你有所帮助。

首先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全称是JavaDevelopmentKit,是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

卸载系统自带的openjdk并安装jdk

[root@tomcat1 ~]# rm -rf $(which java)

[root@tomcat1 ~]# tar xf jdk-7u80-linux-x64.tar

[root@tomcat1 ~]# mv jdk1.7.0_80/ /usr/local/java

解压安装Tomcat

[root@tomcat1 ~]# tar xf apache-tomcat-8.5.20.tar.gz

[root@tomcat1 ~]# mv apache-tomcat-8.5.20 /usr/local/tomcat8

设置JAVA环境变量

[root@tomcat1 ~]# vim /etc/profile.d/java.sh

export JAVA_HOME="/usr/local/java" ##设置java根目录

export PATH=$PATH:$JAVA_HOME/bin:/usr/local/tomcat8/bin #在PATH环境变量中添加java跟目录的bin子目录

[root@tomcat1 ~]# . /etc/profile #将java.sh 脚本导入到环境变量,使其生效

运行java-version或者javac-version命令查看java版本

[root@tomcat1 ~]# java -version

java version "1.7.0_65"

Java(TM) SE Runtime Environment (build 1.7.0_65-b17)

Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

启动Tomcat

[root@tomcat1 ~]# /usr/local/tomcat7/bin/startup.sh

Using CATALINA_BASE: /usr/local/tomcat7

Using CATALINA_HOME: /usr/local/tomcat7

Using CATALINA_TMPDIR: /usr/local/tomcat7/temp

Using JRE_HOME: /usr/local/java

Using CLASSPATH: /usr/local/tomcat7/bin/bootstrap.jar:/usr/local/tomcat7/bin/tomcat-juli.jar

Tomcat started.

Tomcat 默认运行在8080端口

[root@tomcat1 ~]# netstat -anpt |grep :8080

tcp 0 0 :::8080 :::* LISTEN 3318/java

关闭Tomcat

[root@tomcat1 ~]# /usr/local/tomcat7/bin/shutdown.sh

浏览器访问测试 http://IP:端口

修改端口号

[root@tomcat1 ~]# vim /usr/local/tomcat8/conf/server.xml

修改端口:

8080 - 9528

8005 - 9529

8009 - 9530

[root@tomcat1 ~]# /usr/local/tomcat8/bin/startup.sh

[root@tomcat1 ~]# netstat -anpt | grep java

tcp 0 0 0.0.0.0:9528 0.0.0.0:* LISTEN 5625/java

tcp 0 0 127.0.0.1:9529 0.0.0.0:* LISTEN 5625/java

tcp 0 0 0.0.0.0:9530 0.0.0.0:* LISTEN 5625/java

注意:关闭防火墙和selinux安全机制,如果是阿里云服务器,控制台安全组需要放行TCP协议8080端口。

systemctl disable firewalld 永久关闭防火墙

systemctl stop firewalld 临时关闭防火墙

setenforce 0 关闭Selinux

Tomcat配置相关说明

/usr/local/tomcat 主目录(安装目录)

bin 存放windows或linux平台上启动或关闭的Tomcat的脚本文件

conf 存放Tomcat的各种全局配置文件,其中最主要的是server.xml和web.xml

lib 存放Tomcat运行需要的库文件(JARS)

logs 存放Tomcat执行时的LOG文件

webapps Tomcat的主要Web发布目录(包括应用程序事例)htdocs(html php)

work 存放jsp编译后产生的class文件

[root@tomcat1 ~]# ls /usr/local/tomcat/conf/

catalina.policy 权限控制配置文件

catalina.properties Tomcat属性配置文件

context.xml 上下文配置文件(selinux)

logging.properties 日志log相关配置文件

server.xml 主配置文件

tomcat-users.xml manager-gui管理用户配置文件(Tomcat安装后生成的管理界面,该文件可开启访问)

web.xml Tomcat的servlet,servlet-mapping,filter,MIME等相关配置

server.xml 主要配置文件,可修改启动端口,设置网站根目录,虚拟主机,开启https等功能。

三.Tomcat优化

禁用tomcat的AJP协议

[root@tomcat1 conf]# vim server.xml

注释:

<!-- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> -->

修改通讯模式BIO修改为NIO提高并发处理能力

#去掉注释

<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"

启用外部连接池

#去掉注释并修改maxThreads:

<!--

<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"

maxThreads="300" minSpareThreads="4"/>

-->

#去掉注释并修改protocol:

<Connector executor="tomcatThreadPool"

port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"

connectionTimeout="20000"

redirectPort="8443" />

#删除俩参数:

<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"/> (这是删除后的)

# <Connector executor="tomcatThreadPool"下面添加:

port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"

maxThreads="1000"

minSpareThreads="100"

maxSpareThreads="200"

acceptCount="1000"

disableUploadTimeout="true"

connectionTimeout="20000"

URIEncoding="UTF-8"

enableLookups="false"

compression="on"

compressionMinSize="2048"

compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,image/gif,image/jpg,image/png"

redirectPort="8443" />

JVM调优生产配置

编辑catalina.sh配置文件

[root@tomcat1 ~]# vim /usr/local/tomcat8/bin/catalina.sh

# OS specific support. $var _must_ be set to either true or false.下面添加

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:+UseConcMarkSweepGC

CMS收集器(并发收集器)

-XX:+UseCMSCompactAtFullCollection

开启内存空间压缩和整理,防止过多内存碎片

生产配置实例

#server.xml配置文件下:

[root@tomcat1 ~]# vim /usr/local/tomcat8/conf/server.xml

# <Connector executor="tomcatThreadPool"下面添加:

port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"

maxThreads="1000"

minSpareThreads="100"

maxSpareThreads="200"

acceptCount="1000"

disableUploadTimeout="true"

connectionTimeout="20000"

URIEncoding="UTF-8"

enableLookups="false"

compression="on"

compressionMinSize="2048"

compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,image/gif,image/jpg,image/png"

redirectPort="8443" />

#参数说明:

org.apache.coyote.http11.Http11NioProtocol:调整工作模式为Nio

maxThreads:最大线程数,默认150。增大值避免队列请求过多,导致响应缓慢。

minSpareThreads:最小空闲线程数。

maxSpareThreads:最大空闲线程数,如果超过这个值,会关闭无用的线程。

acceptCount:当处理请求超过此值时,将后来请求放到队列中等待。

disableUploadTimeout:禁用上传超时时间

connectionTimeout:连接超时,单位毫秒,0代表不限制

URIEncoding:URI地址编码使用UTF-8

enableLookups:关闭dns解析,提高响应时间

compression:启用压缩功能

compressionMinSize:最小压缩大小,单位Byte

compressableMimeType:压缩的文件类型

关于Linux中如何进行Tomcat安装与优化就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Linux中如何进行Tomcat安装与优化

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux中如何进行Tomcat安装与优化

这篇文章将为大家详细讲解有关Linux中如何进行Tomcat安装与优化,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。现在学习linux的人越来越多,但是有些知识点却懂得不是很多,针对这样的情
2023-06-05

linux平台下Tomcat的安装与优化方法

这篇文章主要讲解了“linux平台下Tomcat的安装与优化方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux平台下Tomcat的安装与优化方法”吧!Tomcat 服务器是一个免费
2023-06-06

如何进行Linux中RedHat 7.6 安装

今天就跟大家聊聊有关如何进行Linux中RedHat 7.6 安装,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。开始安装为了日后排查问题时,不出现乱码,所以此处选择英文配置安装选项选
2023-06-05

Linux中JDK,Tomcat,MySQL如何安装

这篇文章给大家分享的是有关Linux中JDK,Tomcat,MySQL如何安装的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1 J2SDK的安装 先去java.sun.com上下载Linux上的JDK,我下的是6
2023-06-10

Linux下如何进行OpenSSL的安装与使用

这篇文章主要为大家分析了Linux下如何进行OpenSSL的安装与使用的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“Linux下如何进行OpenSSL的安装
2023-06-28

Linux中如何使用OneinStack进行PHP安装

这篇文章主要介绍“Linux中如何使用OneinStack进行PHP安装”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux中如何使用OneinStack进行PHP安装”文章能帮助大家解决问题。
2023-07-05

如何进行Linux 磁盘I/O优化

如何进行Linux 磁盘I/O优化,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。概述分享下关于linux磁盘I/0方面的优化,中间插一个rac方面的报错解决。文件系统优化*
2023-06-16

如何进行linux内存的Hugepages优化

本篇文章给大家分享的是有关如何进行linux内存的Hugepages优化,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Hugepages是从Linux kernal 2.6后被
2023-06-06

linux系统如何进行gcc安装

linux系统如何进行gcc安装,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。GCC简介:GCC是以GPL许可证所发行的自由软件,也是GNU计划的关键部分。GCC的初衷是为GN
2023-06-28

如何进行JVM虚拟机中Java的编译期优化与运行期优化

这篇文章将为大家详细讲解有关如何进行JVM虚拟机中Java的编译期优化与运行期优化,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。java编译期优化java语言的编译期其实是一段不确定的操作过
2023-06-02

如何进行Linux性能分析和优化

如何进行Linux性能分析和优化,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。前言一般互联网的项目都是部署在linux服务器上的,如果linux服务器出了问题,那么咱们平时
2023-06-15

如何进行Linux系统安全强化

这期内容当中小编将会给大家带来有关如何进行Linux系统安全强化,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。选择正确的Linux发行版选择一个好的Linux发行版有很多因素。 避免分发冻结程序包,因为它
2023-06-15

如何在MySQL中进行SQL优化

在MySQL中进行SQL优化的方法有很多,以下是一些常见的方法:使用索引:确保表中经常查询的列上有索引,以加快查询速度。可以使用EXPLAIN语句分析查询执行计划,查看是否在索引上进行了扫描。避免使用SELECT *:只查询需要的列,避免
如何在MySQL中进行SQL优化
2024-04-09

Linux下如何安装elementary优化工具

这篇文章将为大家详细讲解有关Linux下如何安装elementary优化工具,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。elementary 优化工具elementary Tweaks Tool是专为
2023-06-27

Linux系统如何进行Centos 7.6安装

这篇文章给大家介绍Linux系统如何进行Centos 7.6安装,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。记录安装CentOS 7.6系统过程一、安装准备(安装实体机服务器需要):1.服务器在安装系统前需要将新服务
2023-06-05

编程热搜

目录