怎么配置每一次重启服务器后,自动启动Tocmat

embedded/2024/12/28 21:36:16/

前言

宝子们,今天来给大家详细讲讲服务器如何配置每次重启后自动启动 Tomcat,让你的服务器应用始终保持在线状态,高效运行!

windows版本

在 Windows 系统下,有两种常用的方法可以实现这个目标。

第一种方法是利用服务管理控制台。

首先,我们要以管理员权限打开 “命令提示符”,然后进入到 Tomcat 的安装目录下的 bin 文件夹。

在这个文件夹中,执行service.bat install命令,此时系统会进行 Tomcat 服务的安装操作,一旦成功,会给出相应的提示信息。

接着,按下 “WIN+R” 组合键,调出运行框,输入 “services.msc”,这样就能打开服务管理控制台啦。

在服务列表里,找到 “Apache Tomcat” 服务,双击它,会弹出一个属性窗口。

在这个窗口中,找到 “启动类型” 选项,将其从默认的设置改为 “自动”,最后点击 “确定” 按钮保存我们的设置。

这样,以后每次重启电脑,Tomcat 就会像个乖巧的小助手一样自动启动,无需我们手动干预。

第二种方法是借助任务计划程序。

我们先打开 “控制面板”,在其中找到 “管理工具”,再点击 “任务计划程序”。

进入任务计划程序窗口后,点击 “创建基本任务”,就会弹出 “创建基本任务向导”。

在这里,我们输入一个任务名称,比如 “Tomcat 自动启动任务”,还可以添加一些描述信息,方便我们日后识别这个任务的用途。

接下来进入 “触发器” 选项卡,点击 “新建” 按钮,在 “开始任务” 的下拉菜单中,我们可以选择 “登录时” 或者 “系统启动时”,这取决于我们希望 Tomcat 在什么时候自动启动。

然后切换到 “操作” 选项卡,再次点击 “新建”,在 “程序或脚本” 字段中,准确地输入 Tomcat 安装目录下的 bin 文件夹中的 startup.bat 文件的路径,例如 “C:\Program Files\Apache Software Foundation\Tomcat 9.0\bin\startup.bat”(这里的路径要根据你实际的 Tomcat 安装位置进行填写哦)。

最后点击 “确定”,完成任务计划的创建。

从此以后,每次系统启动时,任务计划程序就会自动运行 startup.bat 文件,从而启动 Tomcat。

Linux版本

再来说说 Linux 系统,同样也有多种方法来实现 Tomcat 的自动启动。

一种方法是通过 rc.local 文件。

首先,我们要在 Tomcat 安装目录下创建一个名为 “start_tomcat.sh” 的脚本文件,使用文本编辑器打开它,并在其中写入以下内容:

#!/bin/bash
# 启动 Tomcat
/path/to/tomcat/bin/startup.sh

这里的/path/to/tomcat一定要替换为你服务器上 Tomcat 的实际安装目录哦,不然脚本可找不到 Tomcat 的启动文件。

保存这个脚本文件后,我们还要赋予它执行权限,使用chmod +x start_tomcat.sh命令就可以做到。

然后,用文本编辑器打开/etc/rc.local文件,在文件的末尾添加下面这行内容:

# 启动 Tomcat
/path/to/start_tomcat.sh

同样,/path/to/start_tomcat.sh也要根据实际情况填写正确的路径。保存并关闭/etc/rc.local文件后,重新启动系统,Tomcat 就会在系统启动的过程中自动启动啦。

另一种方法是将 Tomcat 封装成系统服务。

首先,在/etc/init.d目录中创建一个名为 “tomcat” 的文件,然后把下面这些内容复制进去:

#!/bin/sh
# chkconfig: 345 99 10
# description: Auto-starts tomcat
# /etc/init.d/tomcatd
# Tomcat auto-start
# Source function library.
. /etc/init.d/functions
# source networking configuration.
. /etc/sysconfig/network
RETVAL=0
export JAVA_HOME=/usr/local/java/jdk1.8.0_171
export CATALINA_HOME=/usr/local/tomcat-9/apache-tomcat-9.0.8
export CATALINA_BASE=/usr/local/tomcat-9/apache-tomcat-9.0.8
start()
{if ( -f $CATALINA_HOME/bin/startup.sh );thenecho $"Starting Tomcat"$CATALINA_HOME/bin/startup.shRETVAL=$?echo " OK"return $RETVALfi
}
stop()
{if ( -f $CATALINA_HOME/bin/shutdown.sh );thenecho $"Stopping Tomcat"$CATALINA_HOME/bin/shutdown.shRETVAL=$?sleep 1ps -fwwu tomcat | grep apache-tomcat|grep -v grep | grep -v PID | awk '{print $2}'|xargs kill -9echo " OK"# ( $RETVAL -eq 0 ) && rm -f /var/lock/...return $RETVALfi
}
case "$1" instart)start;;stop)stop;;restart)echo $"Restaring Tomcat"$0 stopsleep 1$0 start;;*)echo $"Usage: $0 {start|stop|restart}"exit 1;;
esac
exit $RETVAL

这里要特别注意,一定要将JAVA_HOMECATALINA_HOMECATALINA_BASE的值替换为你服务器上实际的安装路径,否则服务可能无法正常启动。

替换完成后,使用chmod 777 tomcat命令修改文件的执行权限。接着,使用chkconfig --add tomcat将其添加到系统服务,然后可以用chkconfig --list查看服务是否添加成功。

最后,重启系统,Tomcat 就会自动启动并运行啦。

通过以上这些方法,无论是 Windows 系统还是 Linux 系统,我们都能轻松地配置服务器在重启后自动启动 Tomcat,让我们的服务器应用更加稳定可靠。宝子们,赶紧动手试试吧!如果在操作过程中遇到任何问题,欢迎在评论区留言,我们一起探讨解决。


✍结尾

🀙🀚🀛🀜🀝🀞🀟🀠🀡🀐🀑🀒🀓🀔🀕🀖🀘🀗🀏🀎🀍🀌🀋🀊🀉🀈🀇🀆🀅🀃🀂🀁🀀🀄︎🀢🀣🀥🀤🀦🀧🀨🀩🀪

📘 妹妹听后点了点头,脸上露出了满意的笑容。她轻声说道:“原来如此,谢谢你,鸽鸽。看来我不仅要多读书,还要多动手实践,提升自己才行。”

看着她那充满求知欲的眼神,我不禁感叹,学习之路虽然充满挑战,但有这样一位美丽聪慧的伙伴相伴,一切都变得格外有意义。快去和妹妹一起实践一下吧!

求赞图

笔者 綦枫Maple 的其他作品,欢迎点击查阅哦~:
📚Jmeter性能测试大全:Jmeter性能测试大全系列教程!持续更新中!
📚UI自动化测试系列: Selenium+Java自动化测试系列教程❤
📚移动端自动化测试系列:Appium自动化测试系列教程
📚Postman系列:Postman高级使用技巧系列

👨‍🎓作者:綦枫Maple
🚀博客:CSDN、掘金等
🚀CSDN技术社区:https://bbs.csdn.net/forums/testbean
🚀网易云:https://y.music.163.com/m/user?id=316706413
🚫特别声明:原创不易,转载请附上原文出处链接和本文声明,谢谢配合。
🙏版权声明:文章里可能部分文字或者图片来源于互联网或者百度百科,如有侵权请联系处理。
🀐其他:若有兴趣,可以加页面左侧的《Java自动化技术交流屋》探讨学习哦~

http://www.ppmy.cn/embedded/149562.html

相关文章

SQL 实战:字符串处理函数 – 数据清洗与文本格式化

在数据分析和开发过程中,原始数据往往存在格式不统一、冗余字符等问题,直接影响查询和展示效果。SQL 提供了一系列强大的字符串处理函数,能够帮助开发者进行数据清洗和文本格式化操作,提高数据质量和查询效率。本文将通过多个实战…

Linux下Java通过JNI调用C++

以下为Demo流程 1.创建Java文件 public class HelloWord {// 声明本地方法public native void sayHello();static {// 加载本地库System.loadLibrary("hello");}public static void main(String[] args) {new HelloWord().sayHello();} } 2.编译生成.h头文件 在H…

5.npm包

文章目录 [TOC](文章目录) 3.npm与包3.1.包3.2.npm体验在项目中安装包的命令包管理配置文件一次性安装开发项目时安装的包如何从项目中卸载包devDependencies节点的作用解决下载包速度比较慢的问题nrm工具,利用其提供的终端命令,可以快速查看和切换下包的…

iPhone 17 :史诗级大改,120Hz 全面普及

资深果粉应该都听过一个说法:“iPhone 买单不买双”。这个“规律”似乎在iPhone 16上也得到了印证。 近段时间,各方消息都在指明一点:iPhone 16 只是大餐前的小菜,iPhone 17才是真正带来革命性提升的一代神机。下一代 iPhone 17&…

阿里云人工智能ACP(一)——人工智能与人工智能技术概述

一、人工智能概述 1. 人工智能的定义 人工智能 是利用数字计算机或者由数字计算机控制的机器,模拟、延伸和扩展人类的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术和应用系统。 2. 人工智能的发展 3. 人工智能的分类 4. 人工智能…

网站前端优化

网站前端优化 主要是介绍了这几个规则。 第一:减少HTTP请求 1: 将超链接关联到图片上,例如在导航栏按钮中。如果是以这种形式关联多个带有超链接的图片,使用图片地图这种方式既能减少HTTP请求,有无需改变页面外观感受。图片地…

Vue.js 高级组件开发:抽象与高性能架构

Vue.js 高级组件开发:抽象与高性能架构 引言一、动态组件与依赖注入1. 动态组件场景 二、高可扩展性的抽象组件模式1. 设计思路2. 案例:抽象数据表组件 三、复杂场景下的异步操作管理1. 使用 Vue Composition API 管理异步逻辑 四、渲染优化与框架底层钩…

微信小程序 不同角色进入不同页面、呈现不同底部导航栏

遇到这个需求之前一直使用的小程序默认底部导航栏,且小程序默认入口页面为pages/index/index,要使不同角色呈现不同底部导航栏,必须要在不同页面引用不同的自定义导航栏。本篇将结合分包(subPackages)展开以下三步叙述…