|
|
51CTO旗下网站
|
|
移动端

高级运维篇:Docker构建Tomcat Web服务器与Tomcat如何优化

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

作者:飞羽游戏来源:今日头条|2019-04-29 09:14

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容器

  1. [root@localhost ~]# docker run -itd -p 6022:22 -p 80:8080 centos6.8 /bin/bash  
  2. [root@localhost ~]# docker ps -l  

高级运维篇:Docker构建Tomcat WEB服务器与tomcat如何优化

2)进入容器,安装wget

  1. [root@localhost ~]# docker exec -it 709fd5453c25 /bin/bash 
  2. [root@709fd5453c25 /]# yum -y install wget 

高级运维篇:Docker构建Tomcat WEB服务器与tomcat如何优化

3)下载JDK软件包

  1. [root@709fd5453c25 /]# wget jdk-8u151-linux-x64.tar.gz 
  2. [root@709fd5453c25 /]# tar zxf jdk-8u151-linux-x64.tar.gz 
  3. [root@709fd5453c25 /]# mv jdk1.8.0_151/ /usr/local

高级运维篇:Docker构建Tomcat WEB服务器与tomcat如何优化

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

  1. export JAVA_HOME=/usr/local/jdk1.8.0_151 
  2. export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib 
  3. export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin 

高级运维篇:Docker构建Tomcat WEB服务器与tomcat如何优化

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

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

高级运维篇:Docker构建Tomcat WEB服务器与tomcat如何优化

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

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

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

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

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

高级运维篇:Docker构建Tomcat WEB服务器与tomcat如何优化

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

高级运维篇:Docker构建Tomcat WEB服务器与tomcat如何优化

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

高级运维篇:Docker构建Tomcat WEB服务器与tomcat如何优化

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

  1. <Context path="/" docBase="/data/webapps/www" reloadable="true"/> 

高级运维篇:Docker构建Tomcat WEB服务器与tomcat如何优化

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

延伸:Tomcat性能优化

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

  • Linux内核的优化
  • 服务器资源配置的优化
  • Tomcat参数优化
  • 配置负载集群优化

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

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

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

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

  1. <Connector port="8080" 
  2. protocol="org.apache.coyote.http11.Http11NioProtocol" 
  3. connectionTimeout="20000" 
  4. redirectPort="8443" 
  5. maxThreads="5000" 
  6. minSpareThreads="20" 
  7. acceptCount="1000" 
  8. disableUploadTimeout="true" 
  9. enableLookups="false" 
  10. URIEncoding="UTF-8" /> 

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

  1. 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反向代理服务器,用以提高用户高速访问。

【编辑推荐】

  1. Netcraft 4月Web服务器排名:Nginx首度登上第一宝座
  2. 内部部署的无服务器完全可以打败基于云的无服务器
  3. 服务器被黑给我上了一课,由0到1轻松应对各式攻击!
  4. Nginx成为4月市占率最高的Web服务器
  5. 聊聊面试官颤抖的Tomcat系统架构
【责任编辑:武晓燕 TEL:(010)68476606】


点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

我的运维日志系统构建之路

我的运维日志系统构建之路

数据驱动运维
共18章 | 我叫于小炳

205人订阅学习

CentOS文件服务的最佳实战

CentOS文件服务的最佳实战

涨薪跳槽必备技能
共15章 | 追风蚂蚁

90人订阅学习

小白网工宝典

小白网工宝典

一次搞定思科华为
共15章 | 思科小牛

513人订阅学习

读 书 +更多

SUN Solaris 9/10系统管理员认证指南

本书专门根据SUN官方的SCSA for Solaris 9&10考试大纲撰写而成,全面覆盖了SCSA for Solaris 9/10的认证考点,除此之外本书还有大量的非考...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客