Docker构建Tomcat Web服务器与Tomcat如何优化

admin3年前服务器70

Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持,Tomcat本身也是一个HTTP服务器,可以单独使用,apache是一个以C语言编写的HTTP服务器。Tomcat主要用来解析JSP语言。目前最新版本为9.0。

一、Tomcat安装配置

安装tomcat之前需要安装jdk (Java Development Kit) 是 Java 语言的软件开发工具包(SDK)),这里选择JDK1.8.0_151

1)启动Centos容器

[root@localhost~]#dockerrun-itd-p6022:22-p80:8080centos6.8/bin/bash

[root@localhost~]#dockerps-l

2)进入容器,安装wget

[root@localhost~]#dockerexec-it709fd5453c25/bin/bash

[root@709fd5453c25/]#yum-yinstallwget

3)下载JDK软件包

[root@709fd5453c25/]#wgetjdk-8u151-linux-x64.tar.gz

[root@709fd5453c25/]#tarzxfjdk-8u151-linux-x64.tar.gz

[root@709fd5453c25/]#mvjdk1.8.0_151//usr/local/

4)配置java环境变量,vim /etc/profile 添加如下语句:

exportJAVA_HOME=/usr/local/jdk1.8.0_151

exportCLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

exportPATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin

[root@709fd5453c25 /]# source /etc/profile //使环境变量立刻生效。

[root@709fd5453c25 /]# java -version //查看java版本,显示版本为1.8.0_151,证明安装成功。

下载tomcat源码包,这里下载的版本为apache-tomcat-7.0.82.tar.gz,下载完后解压:

[root@709fd5453c25/]#wgetapache-tomcat-7.0.82.tar.gz

[root@709fd5453c25/]#tarzxfapache-tomcat-7.0.82.tar.gz

[root@709fd5453c25/]#mvapache-tomcat-7.0.82/usr/local/tomcat

启动tomcat,命令为:/usr/local/tomcat/bin/startup.sh

查看ps -ef |grep tomcat 进程及端口是否存在

通过页面访问可以看到tomcat默认测试页面:(通过本机80端口映射容器的8080端口)

这个画面是默认网站,怎么来创建一个自己的网站页面呢,定义自己的发布目录,方法如下:在server.xml配置文件末尾加入如下行:(附截图)

在/data/webapps/www目录下,创建自己的jsp代码,重启tomcat即可访问。

延伸:Tomcat性能优化

线上环境使用默认tomcat配置文件,性能很一般,为了满足大量用户的访问,需要对tomcat进行参数性能优化,具体优化的地方如下:

Linux内核的优化

服务器资源配置的优化

Tomcat参数优化

配置负载集群优化

这里着重讲解tomcat参数的优化:server.xml文件,关闭DNS查询、配置最大并发等参数。

maxThreads:tomcat起动的最大线程数,即同时处理的任务个数,默认值为200

acceptCount:当tomcat起动的线程数达到最大时,接受排队的请求个数,默认值为100

当然这些值都不是越大越好,需要根据实际情况来设定。可以基于测试的基础上来不断的调优分析。Server.xml里面优化如下:

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

connectionTimeout="20000"

redirectPort="8443"

maxThreads="5000"

minSpareThreads="20"

acceptCount="1000"

disableUploadTimeout="true"

enableLookups="false"

URIEncoding="UTF-8"/>

Catalina.sh JVM参数优化,添加如下内容:

CATALINA_OPTS="$CATALINA_OPTS–Xms4000M–Xmx4000M–Xmn1000M-XX:SurvivorRatio=4-XX:+UseConcMarkSweepGC-XX:CMSInitiatingOccupancyFraction=82-DLOCALE=UTF-16LE-DRAMDISK=/-DUSE_RAM_DISK=ture-DRAM_DISK=true"

配置多个tomcat实例,方法也很简单,只需要在服务器上cp多个tomcat,然后修改三个端口和发布目录即可,然后分别启动即可。

为了提升整个网站的性能,还需要在tomcat前面架设nginx web反向代理服务器,用以提高用户高速访问。


免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

监听器控制程序lsnrctl跟踪trace file的示例分析

监听器控制程序lsnrctl跟踪tracefile的示例分析在Oracle数据库中,监听器是一个非常重要的组件。本文将介绍如何使用lsnrctl来跟踪tracefile,并分析一个示例。首先,我们需要...

网站解决和优化Server is too busy的一些方法

一般来说,当你的iis发生了诸如"http:1001 server is too busy"的错误时,是因为你的asp程序中开了过多的server.createobject请求,然...

小内存VPS使用优化杂记

初尝自从今年年初开始尝试使用 VPS 后,就喜欢上了这个折腾。在 VPS 的折腾路上用了好多个 VPS 提供商,基本都是 256 M内存的 VPS(因为这个内存的价位比较适合我,再高的内存就会感觉浪费...

开发网站的大致步骤是什么(开发网站的主要流程)

本文将为大家介绍开发网站的主要流程。计划中需要包含开发周期、预算、人员配置等信息,以便更好地控制整个开发过程。网站框架是指网站的结构、页面布局、导航方式等方面的设计。测试的目的是为了发现并修复网站中的...

vps远程服务器租用(vps远程服务器租用超级vps管理器)

VPS远程服务器租用及VPS远程服务器租用超级VPS管理器随着互联网的发展,越来越多的企业和个人需要使用远程服务器进行各种操作。本文将介绍如何租用VPS远程服务器以及如何使用超级VPS管理器。总之,租...

怎么搭建云服务器(怎么搭建云服务器环境)

云服务器是现代企业信息化建设的重要组成部分,它可以提供高效、稳定和安全的服务。但是,很多企业在搭建云服务器时会遇到一些问题,因此本文将介绍如何搭建云服务器以及如何搭建云服务器环境。总之,搭建云服务器是...