Centos7下通过Shell实现Tomcat随机启动

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos7下通过Shell实现Tomcat随机启动相关的知识,希望对你有一定的参考价值。

Centos7下通过Shell实现Tomcat随机启动

我们今天介绍的是在Centos7下通过Shell实现Tomcat随机启动的配置介绍,从centos7开始从systemd替换了service了,所以操作起来换是有点差别。具体就不多介绍了,开始我们今天的主要介绍, 

我们的环境;Centos7下,然后创建独立分区,然后将JDK和Tomcat服务放在独立分区下,然后配置环境变量,最后通过编辑shell脚本实现开机Tomcat随系统启动。

我们首先在独立分区DATA下创建一个java目录,主要存放JDK的文件。

技术分享

我们通过uname -a命令查看当前系统是x86换是x64位的系统,如果有x86_64的是64位操作系统,如果没有那就是32位的

技术分享

系统版本确认好后,我们就可以开始下载对应版本的JDK了

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

技术分享

我们当然可以在本地下载,然后使用winscp上传,然后解压,或者我们直接使用wget下载到本地也行

所以我们首先系统安装了wget服务

yum install –y wget
wget http://download.oracle.com/otn-pub/java/jdk/8u111-b14/jdk-8u111-linux-x64.tar.gz?AuthParam=1478338217_f78e439d698b2c8dbf4151e9a1aa8740

开始下载

技术分享

下载完成我们查看一下

ls

技术分享

我们需要将该文件移动到/DATA/JAVA目录下

mv jdk-* DATA/java

技术分享

然后我们需要解压

tar -zxvf jdk…….

技术分享

我们查看解压后的目录结构,我们因为挂载了一块单独的分区,所以就讲jdk放在/DATA/JAVA目录下

技术分享

技术分享

接下来就是配置JDK的环境变量了

vim /etc/profile

技术分享

在最后面添加变量信息--JDK环境变量

不能有空格,行和行之间不能有空格

export JAVA_HOME=/DATA/jdk1.8.0_111
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

添加后

技术分享

[[email protected] ~]# source /etc/profile //使修改立即生效
[[email protected] ~]# echo $PATH //查看PATH值

技术分享

我们运行java测试

技术分享

接下来是我们需要安装tomcat了

首先是下载

技术分享

我们同样也使用wget下载
wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.5.6/bin/apache-tomcat-8.5.6.tar.gz
然后解压
tar –zxvf apache-tomcat-8.5.6.tar.gz

技术分享

然后我们进入apache-tomcat目录启动服务

技术分享

然后访问

技术分享

接下来设置自动启动,我们配置启动脚本

在配置前,我们再添加tomcat的环境变量,

Vim /etc/profile
添加以下内容
export CATALINA_HOME=/DATA/apache-tomcat-8.5.6
export PATH=$CATALINA_HOME/bin:$PATH

技术分享

保存退出

[[email protected] ~]# source /etc/profile //使修改立即生效
[[email protected] ~]# echo $PATH //查看PATH值

技术分享

我们在DATA目录下创建一个shell目录,然后再里面新建一个shell脚本

接下来我们创建一个shell脚本启动tomcat

技术分享

赋予执行权限

技术分享

然后配置tomcat启动脚本内容

Vim tomcat.sh
#!/bin/bash
#
# tomcat startup script for the Tomcat server
#
# chkconfig: 345 80 20
# description: start the tomcat deamon
#
# Source function library
. /etc/rc.d/init.d/functions
prog=tomcat
JAVA_HOME=/DATA/java/jdk1.8.0_111/
export JAVA_HOME
CATALANA_HOME=/DATA/apache-tomcat-8.5.6
export CATALINA_HOME
case "$1" in
start)
echo "Starting Tomcat..."
$CATALANA_HOME/bin/startup.sh
;;
stop)
echo "Stopping Tomcat..."
$CATALANA_HOME/bin/shutdown.sh
;;
restart)
echo "Stopping Tomcat..."
$CATALANA_HOME/bin/shutdown.sh
sleep 2
echo -n "Starting Tomcat..."
$CATALANA_HOME/bin/startup.sh
;;
*)
echo "Usage: $prog {start|stop|restart}"
;;
esac
exit 0

保存退出

我们在执行前,首先将tomcat服务停止

查看tomcat是否启动状态

技术分享

Ps -ef | grep java

技术分享

结束java进程

Killall -9 java或者 kill -9 进程ID

技术分享

java进程已经kill了

技术分享

接下来我们用脚本启动以下

通过执行脚本加参数就可以对tomcat进行操作了

技术分享

技术分享

因为我们不需要传入参数的话,直接修改脚本内容即可

#!/bin/bash
#
# tomcat startup script for the Tomcat server
#
# chkconfig: 345 80 20
# description: start the tomcat deamon
#
# Source function library
. /etc/rc.d/init.d/functions
prog=tomcat
JAVA_HOME=/DATA/java/jdk1.8.0_111/
export JAVA_HOME
CATALANA_HOME=/DATA/apache-tomcat-8.5.6
export CATALINA_HOME
case "start" in
start)
echo "Starting Tomcat..."
$CATALANA_HOME/bin/startup.sh
;;
stop)
echo "Stopping Tomcat..."
$CATALANA_HOME/bin/shutdown.sh
;;
restart)
echo "Stopping Tomcat..."
$CATALANA_HOME/bin/shutdown.sh
sleep 2
echo -n "Starting Tomcat..."
$CATALANA_HOME/bin/startup.sh
;;
*)
echo "Usage: $prog {start|stop|restart}"
;;
esac
exit 0

技术分享

我们为了方便管理,将脚本复制了一份,一份修改了传入参数,一份没有传入参数

现在开始配置吧脚本添加到系统的启动目录下

把Shell脚本放入/etc/rc.d/init.d/目录下
cp starttomcat.sh /etc/rc.d/init.d/starttomcat
赋予执行权限
chmod 777 starttomcat

技术分享

使用chkconfig命令把脚本添加进开机启动项目中

[[email protected] init.d]# chkconfig --add starttomcat
[[email protected] init.d]# chkconfig starttomcat on

技术分享

执行完成后,可以检查一下/etc/rc.d/rc*.d下有没有生成相应的启动链接,指向刚才的脚本,

技术分享

技术分享

在此我们的配置就完成了,我们下面一片再介绍另外一种自动启动的方法。

本文出自 “高文龙” 博客,谢绝转载!

以上是关于Centos7下通过Shell实现Tomcat随机启动的主要内容,如果未能解决你的问题,请参考以下文章

CentOS7.4 系统下 Tomcat 启动慢解决方法

CentOS7下Tomcat启动慢的原因及解决方案

(转)通过shell脚本实现批量添加用户和设置随机密码以及生产环境如何批量添加

Linux下shell脚本监控Tomcat的状态并实现自动启动

CentOS7 下 Nginx + Tomcat 实现 Session 共享

shell生成一个随机密码