Tomcat 的安装与优化

Tomcat服务器是一个免费的开源web应用服务器,属于轻量级应用服务器,在中小型系统和并发用户不是很多的场合中被普遍使用,是开发和测试JSP程序的首选。一般来说,Tomcat虽然和apache或者Nginx这些web服务器一样,具有处理HTML页面的功能,然而由于其处理静态页面的能力远不如apache或者Nginx,所以Tomcat一般是作为一个servlet和JSP容器,单独运行在后端。

关于Tomcat的目录及配置文件详解可参考官网:https://tomcat.apache.org/

一、部署Tomcat
准备工作:

? centos7.3服务器一台
? 下载所需用到的软件包:https://pan.baidu.com/s/1Meys8bsvBsdwVUYak9srKQ
? 提取码:5bic

1、开始部署:

[[email protected] /]# rpm -qa | grep jdk           # 检测rpm安装的jdk环境
copy-jdk-configs-1.2-1.el7.noarch
java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64
java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64
java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64
java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64
# 将带有headless的软件包卸载掉
[[email protected] /]# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64      # 将两个版本都卸载
[[email protected] /]# rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64
[[email protected] /]# mkdir tomcat
[[email protected] /]# cd tomcat/
[[email protected] tomcat]# rz          # xshell环境直接上传所需软件包
[[email protected] tomcat]# ls
apache-tomcat-8.5.35.tar.gz  jdk-8u211-linux-x64.tar.gz  tomcat  监控页面.txt
[[email protected] tomcat]# tar zxf jdk-8u211-linux-x64.tar.gz -C /usr/local/        # 将jdk软件包解压到指定目录
[[email protected] tomcat]# tar zxf apache-tomcat-8.5.35.tar.gz         # 解压Tomcat源码包
[[email protected] tomcat]# mv apache-tomcat-8.5.35 /usr/local/tomcat        # 移动Tomcat至指定路径并修改目录名为Tomcat
[[email protected] tomcat]# vim /etc/profile           # 编辑环境变量,在文件末尾添加如下几行
.............           // 省略部分内容
export JAVA_HOME=/usr/local/jdk1.8.0_211
export JRE_HOME=/usr/local/jdk1.8.0_211/jre
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
[[email protected] tomcat]# . /etc/profile           # 执行使之生效
[[email protected] /]# java -version            # 查看Java版本,确保已经安装成功
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
[[email protected] /]# /usr/local/tomcat/bin/startup.sh          # 启动Tomcat服务
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk1.8.0_211/jre
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[[email protected] /]# netstat -anput | grep 8080           # 查看端口是否正常监听
tcp6       0      0 :::8080                 :::*                    LISTEN      3712/java

可以使用客户端访问Tomcat服务器IP+8080端口,可以看到以下页面:


二、定义Tomcat多实例
所谓多实例,就是在一台服务器上运行多个Tomcat服务,所以,需要注意,在定义Tomcat的多实例时,千万不要出现端口冲突的情况

[[email protected] local]# cp -r tomcat tomcat2             # 将Tomcat 复制一份
[[email protected] local]# vim tomcat2/conf/server.xml         # 编辑复制的Tomcat主配置文件
#配置文件的所有端口号,除了带注释的外,都需要修改,
#只要配置项中带有“port”的,并且后面是数字的,都是端口号
#可自行根据情况进行更改
[[email protected] local]# /usr/local/tomcat2/bin/startup.sh             # 启动复制版Tomcat
Using CATALINA_BASE:   /usr/local/tomcat2
Using CATALINA_HOME:   /usr/local/tomcat2
Using CATALINA_TMPDIR: /usr/local/tomcat2/temp
Using JRE_HOME:        /usr/local/jdk1.8.0_211/jre
Using CLASSPATH:       /usr/local/tomcat2/bin/bootstrap.jar:/usr/local/tomcat2/bin/tomcat-juli.jar
Tomcat started.
[[email protected] local]# netstat -anput | grep 8081      # 看到已经开始监听
tcp6       0      0 :::8081                 :::*                    LISTEN      3936/java

可以使用客户端访问Tomcat服务器IP+8081端口,可以看到以下页面(由于是完全复制之前的Tomcat目录,所以看到的页面一样):

三、配置Tomcat自定义目录

[[email protected] /]# mkdir -p /data/project # 创建自定义网站根目录
[[email protected] /]# echo aaa > /data/project/index1.jsp # 编辑两个测试网页
[[email protected] /]# echo bbb > /data/project/index2.jsp
[[email protected] /]# vim /usr/local/tomcat/conf/server.xml # 编辑主配置文件
......................... // 省略部分内容
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
.................. # 找到Host元素,添加如下内容
<Context path = "/shop" docBase="/data/project" debug="0" reloadable="false" crossContext="true">
</Context>
</Host>
#上述的 <Context....> </Context>标签的另一种写法就是<Context......./>
#在上述添加的配置解释如下:
#Path:指出客户端访问的路径;
#docBase:指定网页的存放路径;
#Debug:指定debug的等级为0,输出信息最少,9提供最多的信息;
#reloadable:为true时表示当web.xml文件有改动的时候自动加载,不必重启服务;
#CorssContext:为true时,表示不同的context共享一个session(会话池);
[[email protected] /]# /usr/local/tomcat/bin/shutdown.sh # 执行此两条命令,重启服务使配置生效
[[email protected] /]# /usr/local/tomcat/bin/startup.sh

访问https://192.168.171.134:8080/shop/index1.jsp 验证

访问https://192.168.171.134:8080/shop/index2.jsp 验证

四、开启Tomcat目录遍历
在apache或Nginx中,它们的目录遍历是默认开启的,而Tomcat服务,它的目录遍历默认是关闭的,有些情况下,我们需要开启它的目录遍历功能
直接访问192.168.171.134:8080/shop/进行测试,会报错404:

开启tomcat的遍历功能:

[[email protected] /]# vim /usr/local/tomcat/conf/web.xml
...................                //省略部分内容
 <init-param>
            <param-name>listings</param-name>
            <param-value>true</param-value>            # 搜索false,找到此行,false修改为true即可
        </init-param>
[[email protected] /]# /usr/local/tomcat/bin/shutdown.sh          # 重启tomcat使配置生效
[[email protected] /]# /usr/local/tomcat/bin/startup.sh

重新访问192.168.171.134:8080/shop/ 进行测试:

五、Tomcat配置https

[[email protected] /]# keytool -genkey -v -alias tomcat -keyalg RSA -keystore /usr/local/tomcat/conf/tomcat.eystore -validity 36500     # 获取证书
Enter keystore password:           # 填写密钥
Re-enter new password:
What is your first and last name?      # 你的姓和名是什么?
  [Unknown]:  zyz
What is the name of your organizational unit?     # 你组织单位名称是什么?
  [Unknown]:  hh
What is the name of your organization?         # 您的组织名称是什么?
  [Unknown]:  test
What is the name of your City or Locality?    # 你的城市或地区的名字是什么?
  [Unknown]:  bj
What is the name of your State or Province?     # 你的州或省的名字是什么?
  [Unknown]:  bj
What is the two-letter country code for this unit?    # 这个单位的国家代号是什么?
  [Unknown]:  cn
Is CN=zyz, OU=, O=test, L=bj, ST=bj, C=cn correct?    # 是否确定?
  [no]:  y

Generating 2,048 bit RSA key pair and self-signed certificate (SHA256withRSA) with a validity of 36,50 days
    for: CN=zyz, OU=, O=test, L=bj, ST=bj, C=cn
Enter key password for <tomcat>
    (RETURN if same as keystore password):     # 直接回车即可
[Storing /usr/local/tomcat/conf/tomcat.keystore]
[[email protected] /]# vim /usr/local/tomcat/conf/server.xml
................               // 省略部分内容
#在service元素中添加如下内容
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true"
               keystoreFile="/usr/local/tomcat/conf/tomcat.keystore"       # 指定文件存放位置
               keystorePass="123.com" >      # 指定密钥
        </Connector>
[[email protected] /]# /usr/local/tomcat/bin/shutdown.sh        # 重启服务使配置生效
[[email protected] /]# /usr/local/tomcat/bin/startup.sh
[[email protected] /]# netstat -anput | grep 443            # 查看端口是否监听
tcp6       0      0 :::443                  :::*                    LISTEN      4795/java

访问https://192.168.171.134 进行验证:

六、使用Tomcat实时监控JVM虚拟机资源使用情况

[[email protected] /]# vim /usr/local/tomcat/conf/server.xml
<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        <Context path = "/shop" docBase="/data/project" debug="0" reloadable="false" crossContext="true">
                # zai host元素中添加如下内容
        </Context>        <Context path = "/jiankong" docBase="/data/jiankong" debug="0" reloadable="flase" crossContext="true"/>
</Host>
[[email protected] /]# mkdir -p /data/jiankong        # 创建测试网站根目录
[[email protected] /]# vim /data/jiankong/index.jsp          # 编辑测试文件
<%
Runtime rtm = Runtime.getRuntime();
long mm = rtm.maxMemory()/1024/1024;
long tm = rtm.totalMemory()/1024/1024;
long fm = rtm.freeMemory()/1024/1024;

out.println("JVM memory detail info :<br>");
out.println("Max memory:"+mm+"MB"+"<br>");
out.println("Total memory: "+tm+"MB"+"<br>");
out.println("Free memory: "+fm+"MB"+"<br>");
out.println("Available memmory can be used is :"+(mm+fm-tm)+"MB"+"<br>");
%>
[[email protected] /]# /usr/local/tomcat/bin/shutdown.sh          # 重启服务使配置生效
[[email protected] /]# /usr/local/tomcat/bin/startup.sh

访问http://192.168.171.134:8080/jiankong/ 验证:

七、开启JMX远程调试功能

[[email protected] /]# vim /usr/local/tomcat/bin/catalina.sh            # 编辑此文件,跳转到306行
export JDK_JAVA_OPTIONS                # 在此行下面添加如下内容
CATALINA_OPTS=" $CATALINA_OPTS  -Dcom.sun.management.jmxremote  -Dcom.sun.management.jmxremote.port=8888 -Dcom.sun.management.jmxremote.ssl=false  -Dcom.sun.management.jmxremote.authenticate=true"
[[email protected] /]# cd /usr/local/jdk1.8.0_211/jre/lib/management/
[[email protected] management]# cp jmxremote.password.template jmxremote.password
[[email protected] management]# vim jmxremote.password
#跳转到最后一行添加如下内容
zyz     123.com
#由于是只读文件,所以需要wq!强制保存退出
[[email protected] management]# vim jmxremote.access
#在最后一行添加如下内容
zyz   readwrite               create javax.management.monitor.*,javax.management.timer.*               unregister
[[email protected] management]# chmod 600 jmxremote.password jmxremote.access         #必须修改其权限为600,否则会失败
[[email protected] management]# /usr/local/tomcat/bin/shutdown.sh       # 重启服务使配置生效
[[email protected] management]# /usr/local/tomcat/bin/startup.sh
[[email protected] /]# . /etc/profile          # 执行刷新变量
[[email protected] /]# jconsole         # 执行此命令

验证其远程调试功能,由于其需要图形化的支持,所以需要进入其图形化桌面环境,下面的操作不可以在xshell上进行了:

然后点击如下:

然后就可以看到如下界面,显示JVM虚拟机的使用情况:

八、开启mangent管理页面
1、在访问Tomcat的默认界面时,有一个“Manager App”的框,如下:

2、点击进入后,会看到以下403报错页面,我们需要复制它提示的代码:
此错误页面,已经将原因及该如何配置写的明明白白的。

3、配置开启它的manager管理页面:

[[email protected] /]# vim /usr/local/tomcat/conf/tomcat-users.xml
#在末尾添加如下两行
<role rolename="manager-gui"/>
<user username="tomcat" password="s3cret" roles="manager-gui"/>
</tomcat-users>       # 此行是结尾不必写
[[email protected] /]# vim /usr/local/tomcat/webapps/manager/META-INF/context.xml
<Context antiResourceLocking="false" privileged="true" >
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="192.168.171.134|192.168.171.1|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
                   #在上面“allow=”后添加允许访问的IP,以管道符“ | ”为分割
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>
[[email protected] /]# /usr/local/tomcat/bin/shutdown.sh
[[email protected] /]# /usr/local/tomcat/bin/startup.sh

客户端验证:
重新点击,即可提示输入密码:


4、下拉页面,可以通过war包添加自定义的目录:
准备war包

[[email protected] test]# cat index.jsp
test
test
test
test
test
test
...................
[[email protected] test]# jar -cvf test.war index.jsp
added manifest
adding: index.jsp(in = 80) (out= 10)(deflated 87%)

在web图形界面,添加war包:


客户端可以访问TomcatIP+8080端口+/test进行访问测试,其内容就是我们做的war包中的内容,如下:

九、开启host-mangent管理页面

[[email protected] /]# vim /usr/local/tomcat/conf/tomcat-users.xml
..........         //   在末尾处添加如下两行
<role rolename="admin-gui"/>
<user username="zyz" password="123.com" roles="admin-gui"/>
</tomcat-users>
[[email protected] /]# vim /usr/local/tomcat/webapps/host-manager/META-INF/context.xml
<Context antiResourceLocking="false" privileged="true" >
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="192.168.171.134|192.168.171.1|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
                 在allow后添加允许的IP,以“|”分隔开
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>

客户端验证:


十、Tomcat的运行日志切割
cronolog是一个第三方的日志切割工具,比较方便快捷,是日志切割的一大利器。这里就使用这个第三方工具。

[[email protected] tomcat]# tar zxf cronolog-1.6.2.tar.gz      # 解包
[[email protected] tomcat]# cd cronolog-1.6.2/
[[email protected] cronolog-1.6.2]# ./configure && make && make install          # 编译并安装
[[email protected] cronolog-1.6.2]# which cronolog       # 确保可以查到cronolog这个命令
/usr/local/sbin/cronolog
[[email protected] cronolog-1.6.2]# vim /usr/local/tomcat/bin/catalina.sh       # 编辑此文件
搜索touch    并注释掉:# touch "$CATALINA_OUT"
跳转到470行左右修改
org.apache.catalina.startup.Bootstrap "[email protected]" start 2>&1 | /usr/local/sbin/cronolog /usr/local/tomcat/logs/test.%Y-%m-%d.out >> /dev/null &
注释掉:#   >> "$CATALINA_OUT" 2>&1 "&"
[[email protected] cronolog-1.6.2]# /usr/local/tomcat/bin/shutdown.sh           # 重启验证
[[email protected] cronolog-1.6.2]# /usr/local/tomcat/bin/startup.sh
[[email protected] logs]# ls            # 确保有test.2020-01-12.out
catalina.2020-01-12.log      localhost.2020-01-12.log             test.2020-01-12.out
catalina.out                 localhost_access_log.2020-01-12.txt
host-manager.2020-01-12.log  manager.2020-01-12.log

十一、定义Tomcat 404错误返回的页面
默认情况,客户端访问Tomcat服务器上一个不存在的目录时,会提示404错误,而且会将我们Tomcat的版本信息等显示出来,这是我们比较忌讳的,默认的404返回的错误页面如下:

解决办法就是,将404状态码进行重定向,以便我们自定义返回的页面信息,如下:

[[email protected] logs]# cat /usr/local/tomcat/webapps/ROOT/error.jsp
Access Error...
[[email protected] logs]# vim /usr/local/tomcat/conf/web.xml
  version="3.1">                # 在22行附近添加如下内容
<error-page>
<error-code>404</error-code>
<location>/error.jsp</location>
</error-page>
[[email protected] /]# /usr/local/tomcat/bin/shutdown.sh       # 重启验证
[[email protected] /]# /usr/local/tomcat/bin/startup.sh 

再次访问一个不存在的页面进行验证:

十二、Tomcat的内存优化

[[email protected] ~]# vim /usr/local/tomcat/bin/catalina.sh    #编辑此文件

#!/bin/sh          #在第一行下面添加以下内容
JAVA_OPTS="-Dfile.encoding=UTF-8
-server
-Xms1023M
-Xmx1024M
-XX:NewSize=512M
-XX:MaxNewSize=1020M
-XX:NewRatio=2
-XX:ParallelGCThreads=15
-XX:+DisableExplicitGC"
#添加完成后,保存退出后,重启Tomcat后,即可生效,
#可以通过之前的实时监控JVM虚拟机资源使用进行查看验证
#若是在Tomcat 8.0之前的版本,还可以在上面添加以下两个配置项,8.0以后的版本就被移除了:
#-XX:PermSize=256M
#-XX:MaxPermSize=356M

添加的各个配置项解释如下:

-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线程池的优化

[[email protected] /]# vim /usr/local/tomcat/conf/server.xml    # 编辑zh主配置文件
<Service name="Catalina">     # 在53行下面添加如下内容
        <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="500" minSpareThread="4"/>
<Connector port="8080" protocol="HTTP/1.1"       # 在69行下面添加如下内容
                executor="tomcatThreadPool"

上述Excutor重要参数说明:

  • name:共享线程池的名字,这是connector为了共享线程池要引用的名字,该名称必须唯一
  • namePrefix:在JVM上,每运行线程都可以有一个name字符串,这一属性为线程池中每个线程的name字符串设置了一个前缀,Tomcat将把线程号追加到这一前缀后面,默认值为tomcat-exec-
  • maxThreads:该线程池可以容纳的最大线程数,默认200
  • minSpareThreads:Tomcat应该始终打开的最小不活跃线程数,默认25
  • Connector参数说明
  • executor:表示使用参数值对应的线程池。

十四、修改Tomcat服务的请求方式

Tomcat支持的三种请求方式:BIO、NIO、APR。

  • BIO:阻塞式I/O操作,Tomcat7以下版本默认情况下是以bio模式运行的,每个请求都要创建一个线程来处理,线程开销比较大,不适用高并发的场景,性能也最低;
  • NIO:基于缓冲区,能提供非阻塞I/O操作,和传统的BIO相比,具备更好的并发性能
  • APR(Apache portable run-time libraries):简单理解,就是从操作系统级别解决异步IO问题,大幅度的提高服务器的处理和相应性能,也是Tomcat运行高并发的首选模式

APR提供的主要功能模块包括:内存分配及内存池、原子操作、文件I/O、锁、内存映射、哈希表、网络I/O、轮询、进程及线程操作等等,通过采用APR,Tomcat可以获得高度可扩展性以及优越的性能,并且可以更好的与本地服务器技术集成,从而可以使Tomcat作为一款通用的Web服务器使用,而不仅仅作为轻量级应用服务器。在这种情况下,Java将不再是一门侧重于后端的编程语言,也可以更多的用于成熟的Web服务器平台。

1、更改其请求方式为NIO(注意:Tomcat8以上版本,默认使用的就是NIO模式,不需要额外修改 )

[[email protected] /]# vim /usr/local/tomcat/conf/server.xml    # 编辑zh主配置文件
<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"           # 修改为nio
                executor="tomcatThreadPool"
               connectionTimeout="20000"
               redirectPort="8443" />

重启后,查看其“catalina.out”日志,有以下字样,则表示是在nio接收请求处理方式,如下(我这里在上面对catalina.out进行了日志切割,所以需要查看切割后的日志文件):

2、更改其请求方式为APR模式
启用这种模式稍微麻烦一些,需要安装一些依赖库,下面是基于centos 7.3环境的Tomcat/8.5.35进行配置。
安装apr动态库:

[[email protected] /]# yum -y install apr-devel openssl-devel gcc make
[[email protected] /]# cd /usr/local/tomcat/bin/
[[email protected] bin]# tar zxf tomcat-native.tar.gz
[[email protected] bin]# cd tomcat-native-1.2.18-src/native/
[[email protected] native]# ./configure && make && make install
#编译安装完成后,apr动态库默认安装在/usr/local/apr/lib目录下。

配置APR本地库到系统共享库搜索路径中:
设置LD_LIBRARY_PATH和LD_RUN_PATH环境变量,指向/usr/local/apr/lib目录,可配置到/etc/profile文件中。如下:

[[email protected] native]# vim /etc/profile              #编辑全局变量,在文件末尾写入以下两行
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib
export LD_RUN_PATH=$LD_RUN_PATH:/usr/local/apr/lib
[[email protected] native]# . /etc/profile        #重新加载环境变量
#重启验证
[[email protected] ~]# /usr/local/tomcat/bin/shutdown.sh
[[email protected] ~]# /usr/local/tomcat/bin/startup.sh
[[email protected] native]# vim /usr/local/tomcat/conf/server.xml
 <Connector port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol"     # xiugai修改为apr
                executor="tomcatThreadPool"
               connectionTimeout="20000"
               redirectPort="8443" />

原文地址:https://blog.51cto.com/14227204/2466232

时间: 2024-10-08 21:58:31

Tomcat 的安装与优化的相关文章

Tomcat基本安装和优化方法

简介 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选.对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求.实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的. Tomcat安装 安

Linux之tomcat 安装&配置&优化

Tomcat简介: 1.Tomcat就是用来解析jsp程序的一个软件 .(jsp是一种编程语言,即JAVA) 2.Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由   Apache.Sun和其他一些公司及个人共同开发而成. 3.Tomcat是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开   发和调试JSP程序的首选. Tomcat的安装分为两个步骤:安装JDK和安装Tomca

转-Tomcat 8 安装和配置、优化

https://github.com/judasn/Linux-Tutorial/blob/master/Tomcat-Install-And-Settings.md Tomcat 8 安装 Tomcat 8 安装 官网:http://tomcat.apache.org/ Tomcat 8 官网下载:http://tomcat.apache.org/download-80.cgi 此时(20160207) Tomcat 8 最新版本为:apache-tomcat-8.0.32.tar.gz 我个

Tomcat安装与优化

Tomcat安装与优化 1.安装jdk环境 最新的JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html  没账号注册一个,很快的 前版本的JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html 这里选择Linux64位后缀tar.

Tomcat介绍及性能优化

一.Tomcat简单介绍: Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选. 版本介绍:现在版本更新到 Apache Tomcat 8.x,但是Apache Tomcat 7.x是目前开发的焦点.Apache Tomcat 7.x它在汲取了Tomcat 6.0.x优点的基础上,实现了对于Servlet 3.0.JSP 2.2和EL 2.2等特性的支持. 除此以外的改进列表如下:

HappyAA服务器部署笔记1(nginx+tomcat的安装与配置)

这是本人的服务器部署笔记.文章名称叫"部署笔记1"的原因是之后我对这个进行了改进之后,会有"部署笔记2","部署笔记3"...循序渐进,估计应该是这样的:) 概述与设计 nginx安装 nginx基本使用 nginx的配置 tomcat的安装与配置 部署程序 待续 概述与设计 主机使用阿里云主机,配置不高,但前期应该够用,以后有需要的话再升级. 主要的业务逻辑是用java实现,并用tomcat承载,但大家知道tomcat并不适合作为大量的静态资源

Tomcat的配置及优化

Tomcat 服务器是基于Apache 软件基金会项目开发的一个免费的开放源代码的Web 应用服务器它是开发和调试JSP 程序的首选,主要用在中小型系统和并发访问用户不是很多的场合,实际Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个Apache 独立的进程单独运行的,应用方面Apache 为HTML页面服务,而Tomcat实际上运行JSP 页面Servlet另外,Tomcat和IIS.Apache等Web服务器一样,具有处理HTM

linux服务之tomcat的安装及配置

CentOS 6.6下安装配置Tomcat环境 [日期:2015-08-25] 来源:Linux社区  作者:tae44 [字体:大 中 小] 实验系统:CentOS 6.6_x86_64 实验前提:防火墙和selinux都关闭 实验软件:apache-tomcat-8.0.24 jdk-8u60-linux-x64 jeecms-v6 一.安装JAVA环境 1.安装JAVA: wget http://download.Oracle.com/otn-pub/java/jdk/8u60-b27/j

【技巧】Tomcat生产服务器性能优化

1. 服务器资源 对于高并发情况下会有大量的运算,那么CPU的速度会直接影响到处理速度. 内存在大量数据处理的情况下,将会有较大的内存容量需求,可以用-Xmx -Xms -XX:MaxPermSize等参数对内存不同功能块进行划分.我们之前就遇到过内存分配不足,导致虚拟机一直处于full GC,从而导致处理能力严重下降. 2. 开启内容压缩 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout