在之前的博文中已经对CentOS7下通过tomcat进行WEB系统的发布进行了介绍,今天将利用init.d启动脚本,将服务脚本加入到开机启动服务队列,实现tomcat服务的开机启动。

1. 环境准备

1.1 系统

操作系统:CentOS 7(64位)

1.2 工具/软件

已安装JDK,并配置好环境变量 
已安装tamcat,可手动启动

2. 方法/步骤

2.1 JDK环境配置

CentOS7默认安装了OpenJDK,用于支持Tomcat启动是没有问题的。如果项目需要使用Sun的JDK特性的话,就需要重新配置Sun的JDK环境。这里可以参照本人之前的博文:《17101501_CentOS7下卸载openJDK安装Sun公司的JDK》。

2.2编写tomcat服务脚本文件

在/etc/init.d/目录下创建tomcat8服务脚本文件。 
执行脚本:

[root@localhost /]# vim /etc/init.d/tomcat8
[root@localhost /]# cat /etc/init.d/tomcat8

将下面内容进行粘贴:

#!/bin/bash
#
# tomcat startup script for the Tomcat server
#
#
# chkconfig:
# description: start the tomcat deamon
#
# Source function library
. /etc/rc.d/init.d/functions prog=tomcat8
JAVA_HOME=/usr/java/jdk1..0_151/ # 根据自己的路径改写JAVA_HOME
export JAVA_HOME
CATALANA_HOME=/usr/local/tomcat/ # 根据自己的路径改写CATALANA_HOME
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
echo
echo "Starting Tomcat..."
$CATALANA_HOME/bin/startup.sh
;; *)
echo "Usage: $prog {start|stop|restart}"
;;
esac
exit

保存退出

2.3 赋权限,测试启动脚本

执行脚本:

[root@localhost /]# cd /etc/init.d/
[root@localhost init.d]# chmod tomcat8 #赋予权限
[root@localhost init.d]# service tomcat8 start #启动服务
Starting tomcat8 (via systemctl): [ 确定 ]
[root@localhost init.d]# service tomcat8 stop #停止服务
Stopping tomcat8 (via systemctl): [ 确定 ]
[root@localhost init.d]# service tomcat8 restart #重启服务
Restarting tomcat8 (via systemctl): [ 确定 ]

2.4 将服务脚本加入到系统启动队列

执行脚本:

[root@localhost zm]# chkconfig tomcat8 on  #服务脚本加入到系统启动队列
[root@localhost zm]# chkconfig --list tomcat8 #检查 oracle服务是否已经生效


注意:该输出结果只显示 SysV 服务,并不包含原生 systemd 服务。SysV 配置数据可能被原生 systemd 配置覆盖。
如果您想列出 systemd 服务,请执行 'systemctl list-unit-files'。
欲查看对特定 target 启用的服务请执行
'systemctl list-dependencies [target]'。
tomcat8         :关    :关    :开    :开    :开    :开    :关

2.5 重启系统,测试配置结果

一般情况下,启动是没有问题的。

这里多说点儿,因为CentOS7的自启动服务开始由systemctl逐渐替代了早期版本中的chkconfig和service形式。 
这里我尝试了一下用指令:systemctl start tomcat8启动服务,系统提示systemctl daemon-reload命令加载服务,执行后,发现可以通过systemctl命令进行简单的控制,如查询状态,启动服务,终止服务,重启服务等操作。但是关于开机启动的设置是不可以的,还需要通过老命令chkconfig实现。

转:http://blog.csdn.net/oaim_zh/article/details/78316254

CentOS7下利用init.d启动脚本实现tomcat开机自启动的更多相关文章

  1. centos7下安装、配置Nginx、设置Nginx开机自启动

    测试环境: [root@centos-linux ~]# cat /etc/redhat-releaseCentOS Linux release 7.6.1810 (Core) [root@cento ...

  2. linux下配置tomcat开机自启动

    Linux下配置tomcat开机自启动   1.写一个tomcat脚本,内容如下,设置其权限为755,放在/etc/init.d/目录下 #!/bin/bash## /etc/init.d/tomca ...

  3. Linux下利用Ant调用Jmeter脚本生成HTML测试报告

    今天我们学习如何利用Ant调用Jmeter脚本,并将生成的 jtl 文件转换为 HTML 格式的测试报告. 准备工作 需要在Linux上提前安装好 JDK. Jmeter 和 Ant. 1,JDK(可 ...

  4. Centos7系统下编写systemd脚本设置redis开机自启动

    今天想设置redis开机自启动,我觉得这样子比较好,但是在网上找了很长时间发现大家都是基于chkconfig的写法来设置的,并不能由systemd进程来统一管理,所以这里我自己编写了一个,希望大家可以 ...

  5. Mac 下如何下载、启动和关闭Tomcat 和管理Mac自带的Apache

     Mac 下载.启动和关闭Tomcat 1. 下载Tomcat(地址:tomcat.apache.org),选择适合的版本(这里选择6.0.48),点击“Download”,之后在新页面点击“Core ...

  6. Linux centos7下设置Tomcat开机自启动

    1,centos7 使用 systemctl 替换了 service命令 参考:redhat文档: https://access.redhat.com/documentation/en-US/Red_ ...

  7. CentOS7,安装Tomcat8.5、JDK1.8,并设置开机启动(Linux CentOS Tomcat、JDK+Tomcat、Tomcat开机自启动)

    1.下载JDK1.8.Tomcat8 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.ht ...

  8. linux开机自启动设置,自定义开机启动模版,nginx开机自启动服务

    /etc/init.d 目录,我们把shell脚本放在这个目录下来作为启动脚本 都是用来放服务脚本的,当Linux启动时,会寻找这些目录中的服务脚本,并根据脚本的run level确定不同的启动级别. ...

  9. 【tomcat环境搭建】Linux和Windows下tomcat开机自启动设置

    目前很多项目都部署在tomcat上,频繁操作中,每次启动或关闭tomcat都稍显麻烦,那如何设置tomcat的开机自启动? Linux下tomcat的开机自启动设置 网上主要有两种方式,一种是shel ...

随机推荐

  1. 算法-插入排序(Insertion sorting)

    本文由@呆代待殆原创,转载请注明出处. 简介:这是一个比较算法,形象的描述插入算法就和我们玩扑克的时候我们排列手牌的方式是一样的,最开始我们手上什么都没有,然后我们每摸一张牌就把它插入到正确的位置,直 ...

  2. 带WHERE子句的DELETE语句

    由于前面我们执行“DELETE FROM T_Person”语句将数据表T_Person中的数据全部 删除了,为了演示带WHERE 子句的DELETE 语句,我们需要重新插入一些数据到T_Person ...

  3. [51nod1538]一道难题

    先观察一下题目给出的式子:对所有满足$\begin{align*}\sum\limits_{i=1}^na_ib_i=m\end{align*}$的$b_{1\cdots n}$,计算$\begin{ ...

  4. python3 开发面试题(装饰器必须考)6.4

    def f(): print("2018-06-04") # 每次调用f的时候 在打印"2018-06-04" 之前打印一句 开始, 之后再打印一句 结束 de ...

  5. [TC-FindingFriends]Finding Friends

    题目大意: 给定一个长度为$n(n\le10^5)$的数列$A(A_i\le10^9)$,求最小的$k$满足存在一个长度至少为$m(m\le n)$的子串,对于串中的每一个数$A_i$,都至少存在一个 ...

  6. Java矩阵库—jblas、ujmp、jmatio的相互转化

    1)首先使用jmatio(v0.2)从.mat文件读取数据到内存中,并将其转化为二维数组的形式. import com.jmatio.io.MatFileReader; import com.jmat ...

  7. yum出现的“UnicodeDecodeError: 'ascii' codec”问题解决

    新装了CentOS 6.5系统,打算使用yum安装程序是出现了如下错误: Loading mirror speeds from cached hostfile Traceback (most rece ...

  8. 【MyEcplise】导入项目后,会定时弹出一下错误MyEcplise tern was unable to complete your request in time.This couble happen if your project contains several large javaScript libraies.

    Myecplise弹出错误如下: 错误代码: MyEcplise tern was unable to complete your request in time.This couble happen ...

  9. HashMap深度解析(二)

    本文来自:高爽|Coder,原文地址:http://blog.csdn.net/ghsau/article/details/16890151,转载请注明.       上一篇比较深入的分析了HashM ...

  10. Oracle中分页查询语句的写法

    要动态的变化分页查询的条件,比如pageNow 这个变量表示的是当前是第几页, oracle分页有通用写法,假设一页5行 select * from ( select t.*,rownum rn fr ...