Ubuntu环境下配置Tomcat开机自动启动

背景:项目部署好后,每次重启虚拟机后,需手动启动Tomcat,为了减少重复操作,特研究怎么设置Tomcat开机自动启动,实践了几种方法,下边的方法靠谱有效,以供参考。

检查安装环境配置路径:

JDK根目录:/usr/lib/jvm/java-1.8.0-openjdk-amd64(openJDK安装的默认路径);

Tomcat根目录:/usr/local/tomcat(Tomcat安装的默认路径)

1.进入Tomcat的bin目录:

root@ubuntu:~$ cd /usr/local/tomcat/bin
root@ubuntu:/usr/local/tomcat/bin$ 

2.复制bin目录下的catalina.sh到/etc/init.d目录下:

root@ubuntu:~$ sudo cp /usr/local/tomcat/bin/catalina.sh /etc/init.d

3.重命名/etc/init.d下的catalina.sh文件为tomcat:

root@ubuntu:~$ sudo mv /etc/init.d/catalina.sh tomcat

4.编辑tomcat文件添加文件头内容如下:

#!/bin/bash

### BEGIN INIT INFO
# Provides:          XXX
# Required-Start:
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start XXX daemon at boot time
# Description:       Start XXX daemon at boot time
### END INIT INFO
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
CATALINA_HOME=/usr/local/tomcat
CLASSPATH=.:$JAVA_HOME/lib:$CATALINA_HOME/lib 
start()
{
	if [ -f $CATALINA_HOME/bin/startup.sh ]
	then
	    echo $"Starting Tomcat"
		$CATALINA_HOME/bin/startup.sh
	    RETVAL=$?
	    echo "OK"
	    return $RETVAL
	fi
}
 
 
stop()
{
	if [ -f $CATALINA_HOME/bin/shutdown.sh ]
	then
	    echo $"Stopping Tomcat"
		$CATALINA_HOME/bin/shutdown.sh
	    RETVAL=$?
	    sleep 3
	    ps -fwwu tomcat | grep apache-tomcat | grep -v grep | grep -v PID | awk '{print $2}'| xargs kill -9
	    echo "OK"
	   return $RETVAL
	fi
}
 
 
case "$1" in
	start)
		start
		;;
	stop)
		stop
		;;
	restart)
		echo $"Restarting Tomcat"
		$0 stop
		sleep 3
		$0 start
		;;
	*)
		echo $"Usage:$0{start|stop|restart}"
		exit 1
		;;
esac
 
exit $RETVAL

5.给tomcat文件加可执行权限:

root@ubuntu:~$ sudo chmod +x /etc/init.d/tomcat

6.重新加载服务配置:

systemctl daemon-reload

7.启动tomcat服务:

service tomcat start

8.启动成功后接着配置开机启动,修改/etc/rc.local文件,添加内容如下:

#!/bin/bash
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
service tomcat start
exit 0

9.复制/etc/rc.local到/etc/rc0.d目录下:

sudo cp /etc/rc.local /etc/rc0.d

10.给这两个文件加执行权限:

sudo chmod +x /etc/rc.local
sudo chmod +x /etc/rc0.d/rc.local

11.重启虚拟机:

sudo reboot

12.检查tomcat是否自启动,若输出...Bootstrap start 说明tomcat已经正常启动。

root@ubuntu:~$ ps -ef|grep java
root        1168       1  0 01:08 ?        00:00:17 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
root     3770    3490  0 01:45 pts/0    00:00:00 grep --color=auto java

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Ubuntu中,可以通过以下步骤实现Tomcat开机自启动: 1. 创建一个名为tomcat.service的文件,该文件将存储Tomcat服务的配置信息。可以使用以下命令创建该文件: ```shell sudo nano /etc/systemd/system/tomcat.service ``` 2. 在打开的文件中,输入以下内容: ```shell [Unit] Description=Apache Tomcat Web Application Container After=network.target [Service] Type=forking Environment=JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 Environment=CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid Environment=CATALINA_HOME=/opt/tomcat/latest Environment=CATALINA_BASE=/opt/tomcat/latest ExecStart=/opt/tomcat/latest/bin/startup.sh ExecStop=/opt/tomcat/latest/bin/shutdown.sh User=tomcat Group=tomcat UMask=0007 RestartSec=10 Restart=always [Install] WantedBy=multi-user.target ``` 其中,需要根据实际情况修改以下内容: - Environment中的JAVA_HOME、CATALINA_PID、CATALINA_HOME和CATALINA_BASE路径应该与你的Tomcat安装路径相对应。 - ExecStart应该指向Tomcat启动脚本。 - User和Group应该设置Tomcat用户和组。 3. 保存并关闭文件。 4. 重新加载systemd配置,以便它能够识别新的Tomcat服务: ```shell sudo systemctl daemon-reload ``` 5. 启用Tomcat服务,以便它在系统启动自动启动: ```shell sudo systemctl enable tomcat ``` 现在,Tomcat服务已经配置为在系统启动自动启动。你可以通过以下命令启动、停止或重启Tomcat服务: ```shell sudo systemctl start tomcat sudo systemctl stop tomcat sudo systemctl restart tomcat ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值