tomcat服务部署与优化

文章目录

    • 一、Tomcat服务器
    • 二、部署tomcat服务
        • 1. 传入软件包
        • 2. 安装JDK环境
        • 3. 设置JDK环境变量
        • 4. 安装tomcat
        • 5. 访问验证
        • 6. 优化启动速度
    • 三、tomcat虚拟主机
        • 1. 创建项目目录及首页内容
        • 2. 修改配置文件
        • 3. 访问验证
    • 四、tomcat优化
        • 1. 参数优化

一、Tomcat服务器

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

Java Servlet

  • 运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。使用Servlet,可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。与CGI(公共网关接口)功能相类似。

Java Server Pages(jsp)

  • 种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。 JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。 JSP通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。

tomcat三大核心组件
tomcat服务部署与优化_第1张图片

二、部署tomcat服务

1. 传入软件包

需要两个软件包:

  • jdk-8u201-linux-x64.rpm #tomcat的运行环境
  • apache-tomcat-9.0.16.tar.gz

链接:https://pan.baidu.com/s/1hrThVCcNAOG8VNKAICLCRQ
提取码:0410
有需要的自行提取
在这里插入图片描述
在这里插入图片描述

2. 安装JDK环境

rpm -qpl jdk-8u201-linux-x64.rpm  #查看指定的文件列表
rpm -ivh jdk-8u201-linux-x64.rpm 

java -version #查看版本

tomcat服务部署与优化_第2张图片

3. 设置JDK环境变量


vim /etc/profile.d/java.sh 

export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar						
export PATH=$JAVA_HOME/bin:$PATH


source /etc/profile.d/java.sh  
java -version

tomcat服务部署与优化_第3张图片
关于脚本里的变量及文件解释:
tomcat服务部署与优化_第4张图片

在这里插入图片描述

4. 安装tomcat

cd /opt   #我的软件包在opt目录
tar zxvf apache-tomcat-9.0.16.tar.gz

mv apache-tomcat-9.0.16 /usr/local/tomcat  
#解压后移动到/usr/local/  并改名为tomcat

tomcat服务部署与优化_第5张图片
/usr/local/tomcat 主要目录解读
tomcat服务部署与优化_第6张图片

5. 访问验证

tomcat服务部署与优化_第7张图片

6. 优化启动速度

vim /usr/java/jdk1.8.0_201-amd64/jre/lib/security/java.security
#修改117行;##/dev/random和/dev/urandom都是伪终端,但是/dev/urandom提供的数据流更快
securerandom.source=file:/dev/urandom

#创建一个软连接,将tomcat的命令放入/usr/local/bin
ln -s /usr/local/tomcat/bin/* /usr/local/bin/
#重启Tomcat
shutdown.sh
startup.sh

tomcat服务部署与优化_第8张图片
关于/dev/urandom 和 /dev/random 解读

  • Linux 中的随机数可以从两个特殊的文件中产生,一个是 /dev/urandom,另外一个是 /dev/random。他们产生随机数的原理是利用当前系统的熵池来计算出固定一定数量的随机比特,然后将这些比特作为字节流返回。熵池就是当前系统的环境噪音,熵指的是一个系统的混乱程度,系统噪音可以通过很多参数来评估,如内存的使用,文件的使用量,不同类型的进程数量等等。如果当前环境噪音变化的不是很剧烈或者当前环境噪音很小,比如刚开机的时候,而当前需要大量的随机比特,这时产生的随机数的随机效果就不是很好了。

  • 这就是为什么会有 /dev/urandom 和 /dev/random 这两种不同的文件,后者在不能产生新的随机数时会阻塞程序,而前者不会(ublock),当然产生的随机数效果就不太好了,这对加密解密这样的应用来说就不是一种很好的选择。/dev/random 会阻塞当前的程序,直到根据熵池产生新的随机字节之后才返回,所以使用 /dev/random 比使用 /dev/urandom 产生大量随机数的速度要慢。

tomcat服务部署与优化_第9张图片

三、tomcat虚拟主机

实现场景要求为 使用一台tomcat服务器 通过两个不同域名分别访问不同内容

1. 创建项目目录及首页内容

mkdir /usr/local/tomcat/webapps/test0
mkdir /usr/local/tomcat/webapps/test1

echo 'hello test0' > /usr/local/tomcat/webapps/test0/index.jsp
echo 'hello test1' > /usr/local/tomcat/webapps/test1/index.jsp

2. 修改配置文件

vim /usr/local/tomcat/conf/server.xml

      #165行
      "www.test0.com"  appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
   "/usr/local/tomcat/webapps/test0" path="" reloadable="true" />
       </Host>
       "www.test1.com"  appBase="webapps" unpackWARs="true"
       autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
   "/usr/local/tomcat/webapps/test1" path="" reloadable="true" />
       </Host>

各参数解释:
tomcat服务部署与优化_第10张图片
tomcat服务部署与优化_第11张图片
tomcat服务部署与优化_第12张图片

3. 访问验证

访问前记得做hosts映射或者dns解析
tomcat服务部署与优化_第13张图片

四、tomcat优化

  • Tomcat 默认安装下的缺省配置并不适合生产环境,它可能会频繁出现假死现象需要重启,只有通过不断压测优化才能让它最高效率稳定的运行。
  • 优化主要包括三方面,分别为操作系统优化(内核参数优化),Tomcat配置文件参数优化,Java虚拟机(JVM)调优。

1. 参数优化

各参数作用解释如下:(基本总结作为参考 具体还需参照官方文档)
tomcat服务部署与优化_第14张图片
根据所需优化项修改配置文件

vim /usr/local/tomcat/conf/server.xml


     "8080" protocol="HTTP/1.1"
                connectionTimeout="20000"
                redirectPort="8443"
                #72行插入
                minSpareThreads="50"
                enableLookups="false"
                disableUploadTimeout="true"
                acceptCount="300"
                maxThreads="500"
                processorCache="500"
                URIEncoding="UTF-8"
                compression="on"
                compressionMinSize="2048"
                compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,image/gif,image/jpg,image/png" />

tomcat服务部署与优化_第15张图片
tomcat服务部署与优化_第16张图片

你可能感兴趣的:(linux,linux,tomcat,java)