CentOS 7.6 Tomcat的安装部署与虚拟主机

一、安装环境

服务器:192.168.245.140(CentOS 7.6图形化安装)

二、安装部署

  • jdk-8u201-linux-x64.rpm
  • apache-tomcat-9.0.16.tar.gz

1、安装jdk

第一步:查看当前系统的java版本号

[root@server opt]# java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

第二步:rpm安装jdk软件包

[root@server opt]# rpm -ivh jdk-8u201-linux-x64.rpm 
警告:jdk-8u201-linux-x64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID ec551f03: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:jdk1.8-2000:1.8.0_201-fcs        ################################# [100%]
Unpacking JAR files...
	tools.jar...
	plugin.jar...
	javaws.jar...
	deploy.jar...
	rt.jar...
	jsse.jar...
	charsets.jar...
	localedata.jar...

第三步:再次查看java版本信息发现没有变化,原因是因为虽然我们安装了jdk但是默认系统还是使用原来的版本,如果我们要让系统用我们自己安装的jdk版本需要添加系统环境变量

[root@server opt]# java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

第四步:添加系统环境变量,在/etc/profile文件末尾写入以下三行内容

[root@server opt]# vim /etc/profile

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使环境变量立即生效,再次查看java版本变成了我们自己安装的版本

[root@server opt]# source /etc/profile
[root@server opt]# java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)

注意:如果是最小化安装的CentOS系统,之前没有装过java的,直接安装即可,不需要添加系统环境变量了

2、安装tomcat

解压tomcat到/usr/local/下,然后改一个短的名字,直接叫tomcat,优化启动和关闭服务的命令,让系统直接识别不需要写绝对路径

[root@server opt]# tar xvzf apache-tomcat-9.0.16.tar.gz -C /usr/local/

[root@server opt]# cd /usr/local/

[root@server local]# mv apache-tomcat-9.0.16/ tomcat


[root@server local]# cd tomcat/
[root@server tomcat]# cd bin
[root@server bin]# ls
bootstrap.jar                 configtest.sh     shutdown.sh
catalina.bat                  daemon.sh         startup.bat
catalina.sh                   digest.bat        startup.sh
catalina-tasks.xml            digest.sh         tomcat-juli.jar
ciphers.bat                   makebase.bat      tomcat-native.tar.gz
ciphers.sh                    makebase.sh       tool-wrapper.bat
commons-daemon.jar            setclasspath.bat  tool-wrapper.sh
commons-daemon-native.tar.gz  setclasspath.sh   version.bat
configtest.bat                shutdown.bat      version.sh

[root@server bin]# ln -s /usr/local/tomcat/bin/startup.sh /usr/bin
[root@server bin]# ln -s /usr/local/tomcat/bin/shutdown.sh /usr/bin

3、启动tomcat

  • 启动脚本:startup.sh
  • 停止脚本:shutdown.sh
  • 默认端口:8080
[root@server bin]# startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/java/jdk1.8.0_201-amd64
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@server bin]# netstat -anpt | grep 8080
tcp6       0      0 :::8080                 :::*                    LISTEN      60390/java 

客户机访问192.168.245.140:8080默认主页
在这里插入图片描述

扫描二维码关注公众号,回复: 11602002 查看本文章
[root@server bin]# shutdown.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/java/jdk1.8.0_201-amd64
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

在这里插入图片描述

4、优化启动时间

在JVM 环境中将随机数产生文件从/dev/random修改为/dev/urandom

[root@server bin]# vim /usr/java/jdk1.8.0_201-amd64/jre/lib/security/java.security
securerandom.source=file:/dev/urandom   <---搜到这一行,random前面加u

三、虚拟主机

配置虚拟主机之前,因为是基于不同域名的虚拟主机,所以需要安装和配置DNS服务,使两个不同域名可以解析到同一个ip地址,即tomcat服务器地址,这里省略配置DNS服务

1、基于不同域名的虚拟主机

修改tomcat的主配置文件server.xml
在这里插入图片描述

[root@server ~]# vim /usr/local/tomcat/conf/server.xml
<Host name="www.yjs.com"  appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
        <Context docBase="/usr/local/tomcat/webapps/yjs" path="" reloadable="true"/>
      </Host>
            <Host name="www.cloud.com"  appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
        <Context docBase="/usr/local/tomcat/webapps/cloud" path="" reloadable="true"/>
      </Host>
Host name:域名

appBase:应用程序的目录

unpackWARs:是否将代表Web应用的WAR文件解压;如果为true,通过解压后的文件结构运行该Web应用,如果为false,直接使用WAR文件运行Web应用。

autoDeploy:自动部署

xmlValidation:xml验证

xmlNamespaceAware:和web.xml的解析方式有关。默认为true,设置为false可以提升性能

Context docBase:指定了该Web应用使用的WAR包路径,或应用目录

path:指定了访问该Web应用的上下文路径,path属性为””,那么这个Context是虚拟主机的默认Web应用

reloadable:指示tomcat是否在运行时监控在WEB-INF/classes和WEB-INF/lib目录下class文件的改动。如果值为true,那么当class文件改动时,会触发Web应用的重新加载

为2个域名编写2个不同的主页内容

[root@server ~]# cd /usr/local/tomcat/webapps/
[root@server webapps]# ls
docs  examples  host-manager  manager  ROOT
[root@server webapps]# mkdir yjs cloud
[root@server webapps]# cd yjs
[root@server yjs]# echo "<h1>this is yjs web</h1>" > index.jsp
[root@server yjs]# cd ../cloud
[root@server cloud]# 
[root@server cloud]# 
[root@server cloud]# echo "<h1>this is cloud web</h1>" > index.jsp

客户机(192.168.245.10)的DNS服务器需要设置为tomcat服务器的地址,否则无法解析域名
在这里插入图片描述
在这里插入图片描述
客户机访问不同域名的8080端口,访问到了不同网页内容
在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/shengjie87/article/details/107969501