美文网首页Linux
CentOS7下利用systemd机制实现tomcat开机自启动

CentOS7下利用systemd机制实现tomcat开机自启动

作者: JameShen_Wen | 来源:发表于2019-07-24 12:02 被阅读0次

背景

作为CentOS7来说,通过init.d建立启动脚本的机制已经不被推荐,推荐的方式是利用systemd机制实现开机启动,下面就该方式进行介绍。

环境准备

操作系统:CentOS 7(64位)
已安装JDK,并配置好环境变量
已安装tomcat,可手动启动,安装路径:/opt/tomcat/(可自定义)

创建Tomcat启动参数setenv.sh

catalina.sh在执行的时候会调用同级路径下的setenv.sh来设置额外的环境变量,因此需要在/opt/tomcat/bin路径下创建setenv.sh文件。
执行脚本:


export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_121
export CATALINA_HOME=/opt/tomcat
export CATALINA_BASE=/opt/tomcat
#设置Tomcat的PID文件
CATALINA_PID="$CATALINA_BASE/bin/tomcat.pid"
#添加JVM选项
JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"

在/usr/lib/systemd/system路径下添加tomcat.service文件。
注意:文件中目录路径必须是绝对路径
执行脚本:

[Unit]
Description=Tomcat8
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking

PIDFile=/opt/tomcat/bin/tomcat.pid
ExecStart=/opt/tomcat/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

[unit]配置了服务的描述,规定了在network启动之后执行

[service]配置服务的pid,服务的启动,停止,重启

[install]配置了使用用户

测试tomcat服务

注意

磁盘上的tomcat.service已更改。运行“systemctl daemon reload”重新加载单元systemctl才能生效。

启动并查看运行状态

image.png

查看进程

image.png

停止

image.png

因为配置pid,在启动的时候会再tomcat根目录生成tomcat.pid文件,停止之后删除。

同时tomcat在启动时候,执行start不会启动两个tomcat,保证始终只有一个tomcat服务在运行。

多个tomcat可以配置在多个目录下,互不影响。

相关文章

  • CentOS7下利用systemd机制实现tomcat开机自启动

    背景 作为CentOS7来说,通过init.d建立启动脚本的机制已经不被推荐,推荐的方式是利用systemd机制实...

  • 开机自启动Tomcat:

    开机自启动Tomcat: 每次开机都要启动tomcat,网上看了好多都是用shell脚本来实现tomcat开机自启...

  • 2019-07-18 ubuntu18.04 开机优化

    开机自启动服务 systemd-analyze blame 可以查看开机自启动服务 sudo systemctl ...

  • 环境变量故障案列

    1.tomcat程序 开机自启动 2.STAR 原则后的故障: S:让tomcat 开机自启动,写入/etc/rc...

  • systemd

    Ubuntu下换成了systemd控制开机自启动,据说很厉害。我之前不知道从哪里搜到了配置一个自启动的servic...

  • Centos7 systemd

    Centos7 systemd 基础学习 系统开机启动流程: init: systemd新特性: 核心概念: un...

  • Centos7的Docker开机自启动mysql

    Centos7设置Mysql自启动 先让docker开机自启动启动Docker 关闭Docker 设置docker...

  • Linux开机自启动tomcat

    操作环境 服务器centos7.3 配置开机自启动tomcat 众所周知,在Linux中设置开机自启动的服务,需要...

  • tomcat

    1.开机自启动tomcat vim /etc/rc.d.rc.local 启动tomcat服务 查看tomcat是...

  • App开机自启动

    App开机自启动 通过开机广播来实现自启动 定义开机广播 在AndroidManifest.xml注册BootCo...

网友评论

    本文标题:CentOS7下利用systemd机制实现tomcat开机自启动

    本文链接:https://www.haomeiwen.com/subject/ssatrctx.html