LINUX配置TOMCAT自启动systemctl

目录

1.找到JDK位置(后面的配置需用到)

2.tomcat配置pid。

3.新建tomcat.service文件【非常重要:前提是完成第一步】

3.1若是第一步没有完成直接进入第二步后,启动服务会出现一个错误

4.设置开机自启

5.配置多个TOMCAT服务

6.查询TOMCAT进程(或者干掉进程)


1.找到JDK位置(后面的配置需用到)

对于已经安装JDK,我们需要找出JDK的具体位置,可以参考以下命令
[root@VM-0-17-centos bin]# which java
/usr/bin/java
[root@VM-0-17-centos bin]# whereis java
java: /usr/bin/java /usr/lib/java /etc/java /usr/share/java /usr/share/man/man1/java.1.gz
[root@VM-0-17-centos bin]# ls -lst /usr/bin/java
0 lrwxrwxrwx 1 root root 22 Aug 20 22:22 /usr/bin/java -> /etc/alternatives/java
[root@VM-0-17-centos bin]# ls -lst /etc/alternatives/java
4 lrwxrwxrwx 1 root root 73 Aug 20 22:22 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el7_9.x86_64/jre/bin/java

根据以上显示可知JDK的安装目录为:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el7_9.x86_64/jre

2.tomcat配置pid。

找到并编辑catalina.sh
bin/catalina.sh
# Copy CATALINA_BASE from CATALINA_HOME if not already set
[ -z "$CATALINA_BASE" ] && CATALINA_BASE="$CATALINA_HOME"
# 设置pid。一定要加在CATALINA_BASE定义后面,要不然pid会生成到/下面
CATALINA_PID="$CATALINA_BASE/tomcat.pid"

3.新建tomcat.service文件【非常重要:前提是完成第一步】

vim /lib/systemd/system/tomcat.service
[Unit]  
Description=Apache Tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target  
  
[Service]  
Type=forking   
Environment="JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el7_9.x86_64/jre/"  
PIDFile=/usr/local/apache-tomcat-9.0.0.M6/tomcat.pid
ExecStart=/usr/local/apache-tomcat-9.0.0.M6//bin/startup.sh  
ExecReload=/bin/kill -s HUP $MAINPID  
ExecStop=/bin/kill -s QUIT $MAINPID  
PrivateTmp=true  
User=root
Group=root
  
[Install]  
WantedBy=multi-user.target

[Unit] 表示这是基础信息
Description 是描述
After 是在那个服务后面启动,一般是网络服务启动后启动
[Service] 表示这里是服务信息
Type 是服务类型
PIDFile 是服务的pid文件路径, 开启后,必须在tomcat的bin/catalina.sh中加入CATALINA_PID参数
ExecStart 是启动服务的命令
ExecReload 是重启服务的命令
ExecStop 是停止服务的指令
[Install] 表示这是是安装相关信息
WantedBy 是以哪种方式启动:multi-user.target表明当系统以多用户方式(默认的运行级别)启动时,这个服务需要被自动运行。
若是中间再次修改tomcat.service文件后需要执行下面命令使其生效:
systemctl daemon-reload

3.1若是第一步没有完成直接进入第二步后,启动服务会出现一个错误

[root@VM-0-17-centos system]# systemctl start tomcat.service
Job for tomcat.service failed because a timeout was exceeded. See "systemctl status tomcat.service" and "journalctl -xe" for details.
[root@VM-0-17-centos system]# systemctl status tomcat.service
● tomcat.service - Apache Tomcat
   Loaded: loaded (/usr/lib/systemd/system/tomcat.service; enabled; vendor preset: disabled)
   Active: failed (Result: timeout) since Sun 2021-09-12 22:28:17 CST; 10s ago
  Process: 20849 ExecStart=/usr/local/apache-tomcat-9.0.0.M6//bin/startup.sh (code=exited, status=0/SUCCESS)

Sep 12 22:26:46 VM-0-17-centos systemd[1]: Starting Apache Tomcat...
Sep 12 22:26:46 VM-0-17-centos systemd[1]: Failed to parse PID from file /usr/local/apache-tomcat-9.0.0.M6/tomcat.pid: Invalid argument
Sep 12 22:26:46 VM-0-17-centos startup.sh[20849]: Tomcat started.
Sep 12 22:28:16 VM-0-17-centos systemd[1]: tomcat.service start operation timed out. Terminating.
Sep 12 22:28:17 VM-0-17-centos systemd[1]: Failed to start Apache Tomcat.
Sep 12 22:28:17 VM-0-17-centos systemd[1]: Unit tomcat.service entered failed state.
Sep 12 22:28:17 VM-0-17-centos systemd[1]: tomcat.service failed.

此错误纠结了差不多2个小时,而且这个并不是找不到pid文件路径,若是配置好了第一步就不会出现这个问题,大哭555。

4.设置开机自启

设置开机自启动
systemctl enable tomcat..service
停止开机自启动
systemctl disable tomcat..service
启动Tomcat服务
systemctl start tomcat.service
查看服务当前状态
systemctl status tomcat..service
重新启动服务
systemctl restart tomcat.service
查看所有已启动的服务
systemctl list-units --type=service

5.配置多个TOMCAT服务

当同一个服务器上安装了多个tomcat,需要将多个TOMCAT纳入服务管理,可按照前面1到3步进行设置 tomcat.service文件名不同。
例如:tomcat-report.service tomcat-bi.servic
参照第三点进行启动或者停止即可
设置开机自启动
systemctl enable tomcat-report..service
停止开机自启动
systemctl disable tomcat-report ..service
设置开机自启动
systemctl enable tomcat-bi..service
停止开机自启动
systemctl disable tomcat-bi ..service

6.查询TOMCAT进程(或者干掉进程)

查询tomcat 进程  
ps -ef | grep tomcat
[root@VM-0-17-centos ~]# ps -ef | grep tomcat
root     24636     1  0 Sep12 ?        00:01:24 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el7_9.x86_64/jre//bin/java -Djava.util.logging.config.file=/usr/local/apache-tomcat-9.0.0.M6/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -classpath /usr/local/apache-tomcat-9.0.0.M6/bin/bootstrap.jar:/usr/local/apache-tomcat-9.0.0.M6/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/apachetomcat-9.0.0.M6 -Dcatalina.home=/usr/local/apache-tomcat-9.0.0.M6 -Djava.io.tmpdir=/usr/local/apache-tomcat-9.0.0.M6/temp org.apache.catalina.startup.Bootstrap start
root     31806 31741  0 10:08 pts/0    00:00:00 grep --color=auto tomcat
[root@VM-0-17-centos ~]#

若是遇到正常停止服务无效的情况,则需要杀掉进程

kill -9 进程ID(备注:根据实际情况替换值)
例如,执行命令如下:
24636是进程ID
kill -9 24636

  • 7
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值