ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Tomcat服务部署、虚拟主机配置及参数优化

2021-04-01 20:00:42  阅读:147  来源: 互联网

标签:java 虚拟主机 tomcat Tomcat sh 参数 usr local


Tomcat服务部署、虚拟主机配置及参数优化

一、Tomcat服务器简介

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

1. Java Servlet

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

2. Tomcat核心组件

名称功能
Web容器完成Web服务器的功能
Servlet容器名字为catalina,用于处理Servlet代码
JSP容器用于将JSP动态网页翻译成Servlet代码

二、Tomcat服务安装

1. 关闭防火墙,将软件包拖入/opt目录

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

在这里插入图片描述
在这里插入图片描述

2. 安装JDK

rpm -qpl jdk-8u201-linux-x64.rpm 
rpm -ivh jdk-8u201-linux-x64.rpm 
java -version

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

CLASSPATH编译、运行Java程序时,JRE会去该变量指定的路径中搜索所需的类(.class)文件
dt.jar是关于运行环境的类库,主要是 swing 的包
tools.jar主要是一些jdk工具的类库,包括javac,java,javap,javadoc等
JDKjava development kit (java开发工具)
JREjava runtime environment (java运行时环境)
JVMjava virtuak machine (java虚拟机),使java程序可以在多种平台上运行class文件

在这里插入图片描述

4. 安装启动Tomcat

cd /opt
tar zxvf apache-tomcat-9.0.16.tar.gz
mv apache-tomcat-9.0.16 /usr/local/tomcat
cd /usr/local/tomcat/bin
./startup.sh

在这里插入图片描述

/usr/local/tomcat/bin/startup.sh       #启动Tomcat
netstat -natp | grep 8080

在这里插入图片描述
浏览器访问Tomcat的默认主页 http://172.16.10.20:8080
在这里插入图片描述

5. 优化Tomcat启动速度

vim /usr/java/jdk1.8.0_201-amd64/jre/lib/security/java.security

在这里插入图片描述

/usr/local/tomcat/bin/shutdown.sh 
/usr/local/tomcat/bin/startup.sh 

在这里插入图片描述

ll /usr/local/tomcat/

在这里插入图片描述

目录说明
bin存放启动和关闭Tomcat的脚本文件,比较常用的是catalina.sh、startup.sh、shutdown.sh三个文件
conf存放Tomcat服务器的各种配置文件,比较常用的是server.xml、context.xml、tomcat-users.xml、web.xml四个文件
lib存放Tomcat服务器的jar包,一般不作任何改动,除非连接第三方服务,比如redis,那就需要添加相对应的jar包
logs存放Tomcat日志
temp存放Tomcat运行时产生的文件
webapps存放项目资源的目录
workTomcat工作目录,一般清除Tomcat缓存的时候会使用到

三、Tomcat虚拟主机配置

很多时候公司会有多个项目需要运行,那么肯定不可能是一台服务器上运行多个Tomcat服务,这样会消耗太多的系统资源。此时,就需要使用到Tomcat虚拟主机。例如现在新增两个域名 www.ng.com和www.kk.com,希望通过这两个域名访问到不同的项目内容

1. 创建ng和kk项目目录和文件

mkdir /usr/local/tomcat/webapps/ng
mkdir /usr/local/tomcat/webapps/kk
echo "This is ng page\!" > /usr/local/tomcat/webapps/ng/index.jsp
echo "This is kk page\!" > /usr/local/tomcat/webapps/kk/index.jsp

在这里插入图片描述

2. 修改Tomcat主配置文件

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

在这里插入图片描述

Host为主机名appBase为tomcat程序工作目录绝对路径为/usr/local/tomcat/webapps
读取的首页文件分别在/usr/local/tomcat/webapps/lic里面下和accp目录下的默认index.jsp文件

目录说明
appBaseTomcat程序工作目录,相对路径为webapps,绝对路径为/usr/local/tomcat/webapps
unpackWARs是否解压war包
autoDeploy指示Tomcat运行时,如有新的WEB应用是否允许自动部署
xmlValidation是否验证xml文件执行有效性检验的标志
xmlNamespaceAware是否启用xml命名空间,设置该值与xmlValidation为true,表示对web.xml文件执行有效性检验
appBaseWEB应用的目录
path设置访问的URI为WEB应用的根目录
reloadable是否在程序有改动时重新载入
重启服务
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh
netstat -natp | grep 8080

在这里插入图片描述

3. 浏览器访问验证

echo "172.16.10.20 www.ng.com www.kk.com" >> /etc/hosts

在这里插入图片描述

浏览器访问http://www.ng.com:8080,页面显示This is ng page!
浏览器访问http://www.kk.com:8080,页面显示This is kk page!

在这里插入图片描述
在这里插入图片描述

四、Tomcat 优化

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

在这里插入图片描述

重启服务
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh
netstat -natp | grep 8080

在这里插入图片描述

Tomcat常用优化选项

在这里插入图片描述

标签:java,虚拟主机,tomcat,Tomcat,sh,参数,usr,local
来源: https://blog.csdn.net/Ryu_hayabusa/article/details/115380628

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有