云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 开发人员学Linux(3):CentOS7中安装JDK8和Tomcat8

开发人员学Linux(3):CentOS7中安装JDK8和Tomcat8

  • 62 次阅读
  • 3 次下载
  • 2026/4/30 1:59:07

开发人员学Linux(3):CentOS7中安装JDK8和Tomcat8

题外话:直到今天开始写本系列的第三篇时本人才想好为这个系列取一个名字,本系列不是为Linux运维人员准备的,而是主要为开发人员准备的,包括但不限于: 希望了解Linux的开发人员;

需要在Linux上部署一些组件的开发人员,如Memcached/Nginx/Redis等;

需要使用一些在Linux上部署运行效果可能会更好的效果的系统,如Jetkins、SVN、JavaMelody等。 希望了解一些当前较热的技术,想在虚拟机里搭建个环境把玩一番的,如.Net Core/Hadoop等。 因此在本系列文章中不会去讲Linux及各个分支的历史,也不会去讲Linux与Windows相比的优缺点,更不会讲Linux Shell如何编程,涉及到这些知识也会较快带过,本系列文章主要是讲如何在虚拟机快速搭建起一个可运行和观察效果的环境。

1.前言

书接前两回,前面已经讲了如何安装配置免费开源的虚拟机软件VirtualBox以及如何在VirtualBox中安装并配置CentOS7。在本篇将讲述如何在CentOS7中安装JDK和Tomcat,为今后的需要,本篇将介绍如何安装Oracle JDK8和Tomcat8。

2.软件准备

本篇采用tar.gz安装,当然也可以采用rpm方式安装或yum方式安装,至于后两种安装方式感兴趣的请自行查阅相关文章。

JDK文件:jdk-8u131-linux-x64.tar.gz

官方下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html Tomcat文件:apache-tomcat-8.5.15.tar.gz

官方下载地址:http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.15/bin/apache-tomcat-8.5.15.tar.gz 或:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

注意:因为在前两篇文章中都是以CentOS7 x64来介绍的,所以这里下载的压缩包也都是x64的。

3.安装Oracle JDK

3.1卸载OpenJDK

采用前面的方式安装CentOS7时,默认安装了OpenJDK1.8的,OpenJDK其实就是也是在Java规范上的另一种实现,就如同Mono也是按照微软的.NET规范实现的一样,在一个平台上编译后的文件可以直接在另一个平台上运行,反正几年前我就干过在Windows上用Microsoft Visual Studio编写ASP.NET程序然后放在Linux系统上借助Apache+Mono+xsp运行。

因为后面还有更多内容依赖于Java,所以这里就卸载OpenJDK而安装Oracle JDK了。 检查当前系统是否安装JDK,运行命令: rpm -qa | grep jdk 得到结果如下:

java-1.8.0-openjdk-headless-1.8.0.131-2.b11.el7_3.x86_64 java-1.8.0-openjdk-1.8.0.131-2.b11.el7_3.x86_64 copy-jdk-configs-1.2-1.el7.noarch 卸载OpenJDK,运行命令:

yum remove java-1.8.0-openjdk-1.8.0.131-2.b11.el7_3.x86_64

yum remove java-1.8.0-openjdk-headless-1.8.0.131-2.b11.el7_3.x86_64

此时如果再运行rpm -qa | grep jdk就会看到java-1.8.0-openjdk-1.8.0.131-2.b11.el7_3.x86_64被卸载了。

3.2安装Oracle JDK

按照本文提供的地址将jdk-8u131-linux-x64.tar.gz下载到宿主机,然后借助SSH客户端软件SSHSecureShellClient上传到/root目录。

解压文件到/usr/local目录: cd /root

tar –zxf /root/jdk-8u131-linux-x64.tar.gz –C /usr/local

解压后会在/usr/local目录下多出一个jdk1.8.0_131文件夹来。

注意:/usr/local/ jdk1.8.0_131这个目录在设置JDK环境变量时会用到。

下面就需要配置环境变量了,告诉系统Java的相关信息,如安装路径、类库路径等。这里有两种配置方式:一种是为指定用户配置,一种是为所有用户配置,如果只为某个用户配置那么只需在该用户目录下的.bashrc文件中设置即可,如果需要给所有用户设置,那么就需要在/etc/profile中设置,这里以全局设置为例,打开/etc/profile文件在最后添加如下内容:

export JAVA_HOME=/usr/local/jdk1.8.0_131 export JRE_HOME=/usr/local/jdk1.8.0_131

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin

然后使配置生效,执行如下命令: source /etc/profile

现在可以检查Java环境变量是否配置正确了,通过java –version命令,在本人机器上得到如下输出: [root@localhost ~]# java -version java version \

Java(TM) SE Runtime Environment (build 1.8.0_131-b11)

Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

至此,Oracle JDK已正确安装。

4.安装Tomcat8

按照本文提供的地址将apache-tomcat-8.5.15.tar.gz下载至本地宿主机(注:也可在能访问互联网的虚拟机上直接用wget下载到虚拟机上),然后借助SSH客户端软件SSHSecureShellClient上传到/root目录。

解压文件到/usr/local目录:

tar –zxf /root/apache-tomcat-8.5.15.tar.gz –C /usr/local

解压后会在usr/local目录下多出一个apache-tomcat-8.5.15文件夹来。

注意:/usr/local/ apache-tomcat-8.5.15这个目录在设置Tomcat环境变量时会用到。当然,也可以不设置Tomcat相关的环境变量,使用相关脚本对Tomcat进行操作时会自动检测这些环境变量。 至此,Tomcat已经安装完成。

通过如下命令启动Tomcat:

/usr/local/ apache-tomcat-8.5.15/bin/startup.sh 如果要关闭Tomcat也很简单,执行如下命令: /usr/local/ apache-tomcat-8.5.15/bin/stop.sh

注意:使用/usr/local/apache-tomcat-8.5.15/bin/catalina.sh加上参数也可以启动或者停止Tomcat,如 /usr/local/ apache-tomcat-8.5.15/bin/catalina.sh start来启动Tomcat,/usr/local/ apache-tomcat-8.5.15/bin/catalina.sh stop来停止Tomcat,除此之外还可以使用debug/run/configtest/version参数,不过没有restart参数来重启Tomcat。

可以在虚拟机打开http://localhost:8080观看那个属性的Tomcat起始页了,在宿主机中则要以虚拟机的IP地址来访问了(前提是虚拟机至少有一个网卡是桥接模式),在本人机器上虚拟机有个网卡是桥接的,IP地址为:192.168.60.198,与宿主机在一个网段,因此可以以http://192.168.60.198:8080来查看了,如下图所示:

注意:如果可以通过ssh连接虚拟机但不能打开http://192.168.60.198:8080,那么很有可能是防火墙问题,执行如下命令关闭防火墙: systemctl disable firewalld 重启后即可访问。

5.在CentOS7为Tomcat添加服务(使用systemd来操作Tomcat)

为了能让Tomcat能够随CentOS7启动,其实就是能够通过systemctl start/stop/restart来控制Tomcat。在网上有不少在CentOS7以前版本中的例子,都是通过在/etc/rc.d/init.d或/etc/init.d目录中添加脚本来实现的,在CentOS7中提供了另外一种方式,使用systemd来替代了service,具体就是在/usr/lib/systemd/system或/etc/systemd/system/目录添加控制命令,Systemd约定,服务的Unit文件需放置在 /etc/systemd/system 或 /usr/lib/systemd/system 目录中,通常将其放在/etc/systemd/system目录中。

5.1Systemctl用法

在CentOS7中有关系统服务的命令有: systemctl list-units(等同于systemctl):列出激活的服务 systemctl --failed:列出运行失败的服务

systemctl daemon-reload:扫描新的或有变动的服务 systemctl status A.serivice:查看A这个服务的启动信息(注意在运行时需要将A这个名称改为具体的service的名字,下同,如SSH服务对应的sshd.service),这个命令在启动服务失败时查看原因非常有用 systemctl enable A.service:设置A这个service随系统一起启动 systemctl disable A.service:禁止A这个service随系统一起启动 systemctl start A.service:启动A这个service systemctl stop A.service:停止A这个service

systemctl restart A.service:重新启动A这个service

注意:在实际操作中,上述命令中A.service可简化为A,如systemctl enable A.service可简化为systemctl enable A。

5.2给Tomcat增加启动参数

前面的讲述了如何安装Oracle JDK8和Tomcat8.5,并展示了使用Tomcat安装位置下的bin目录中的startup.sh/stop.sh或catalina.sh start/catalina.sh stop来启动或者关闭Tomcat。但在实际开发中我们还是希望Tomcat能够在系统启动的时候自动启动,而不是手工通过命令行来启动,下面就讲述如何将Tomcat添加到CentOS7的启动服务中。

首先我们记住以下三点:

1.Oracle JDK8安装目录:/usr/local/jdk1.8.0_131

2.Tomcat8安装目录:/usr/local/apache-tomcat-8.5.15 3.并且在/etc/profile中配置了Java相关的环境变量: export JAVA_HOME=/usr/local/jdk1.8.0_131 export JRE_HOME=/usr/local/jdk1.8.0_131

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin

首先需要在Tomcat的安装目录下的bin目录下增加setenv.sh文件,可以通过vim /usr/local/ apache-tomcat-8.5.15/bin/setenv.sh来创建文件,并将如下内容粘贴进去后保存: #set JAVA_HOME and JRE_HOME and CATALINA_HOME and CATALINA_BASE export JAVA_HOME=/usr/local/jdk1.8.0_131 export JRE_HOME=/usr/local/jdk1.8.0_131/jre

export CATALINA_HOME=/usr/local/apache-tomcat-8.5.15 export CATALINA_BASE=/usr/local/apache-tomcat-8.5.15

#set JAVA_HOME and JRE_HOME and CATALINA_HOME and CATALINA_BASE

#add tomcat pid

CATALINA_PID=\#add Java opts

JAVA_OPTS=\也就是设置JAVA_HOME /JRE_HOME/CATALINA_HOME/CATALINA_BASE/CATALINA_PID五个环境变量。 注意:

1.刚刚建立的setenv.sh文件会在通过执行catalina.sh来启动Tomcat时被自动调用。 2.因为在Linux中存在着交互式shell和非交互式shell,交互式shell顾名思义就是在与用户的交互过程中执行的shell,通常是通过SSH登录到Linux系统之后输入shell脚本或命令等待用户输入或者确认然后执行的shell,而非交互式shell则是无需用户干预的shell,如一些service的启动等。交互式shell从/etc/profile中读取所有用户的环境变量设置,非交互式shell则从/etc/bashrc中读取所有用户的环境变量设置。因此可能会出现在交互式环境下执行shell脚本没有问题,在非交互式环境下执行shell脚本则会出现找不到环境变量配置信息的问题。 3.另外因为配置了tomcat.pid文件,所以在启动Tomcat时会在Tomcat根目录自动生成tomcat.pid文件,停止Tomcat之后tomcat.pid文件会自动被删除。使用tomcat.pid可以做到防止多次执行catalina.sh或startup.sh启动Tomcat时会启动多个实例的情形。

5.3创建tomcat.service文件

接着增加tomcat.service文件,可以通过vim /usr/lib/systemd/system/tomcat.service来创建文件并下以下内容粘贴进去,然后保存: [Unit]

Description=Apache Tomcat 8.5.15

After=syslog.target network.target remote-fs.target nss-lookup.target

[Service] Type=forking

PIDFile=/usr/local/apache-tomcat-8.5.15/tomcat.pid

ExecStart=/usr/local/apache-tomcat-8.5.15/bin/startup.sh ExecReload=/bin/kill -s HUP $MAINPID

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

开发人员学Linux(3):CentOS7中安装JDK8和Tomcat8 题外话:直到今天开始写本系列的第三篇时本人才想好为这个系列取一个名字,本系列不是为Linux运维人员准备的,而是主要为开发人员准备的,包括但不限于: 希望了解Linux的开发人员; 需要在Linux上部署一些组件的开发人员,如Memcached/Nginx/Redis等; 需要使用一些在Linux上部署运行效果可能会更好的效果的系统,如Jetkins、SVN、JavaMelody等。 希望了解一些当前较热的技术,想在虚拟机里搭建个环境把玩一番的,如.Net Core/Hadoop等。 因此在本系列文章中不会去讲Linux及各个分支的历史,也不会去讲Linux与Windows相比的优缺点,更不会讲Linux Shell如何编程,涉及到这些知识也会较快带过,本系列文章主要是

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com