关于tomcat如何设置自启动的设置

news2024/12/23 9:53:21

希望文章能给到你启发和灵感~
如果觉得文章对你有帮助的话,点赞 + 关注+ 收藏 支持一下博主吧~

阅读指南

  • 开篇说明
  • 一、基础环境说明
    • 1.1 硬件环境
    • 1.2 软件环境
  • 二、Windows 下的设置服务自启
    • 2.1 服务的注册
    • 2.2 开启自启
  • 三、MacOS下设置服务自启
    • 3.1 创建plist文件
    • 3.2 加载plist文件
  • 四、ubuntu/linux系统 设置服务自启动
    • 4.1 使用Systemd服务
      • 4.1.1 启用并启动服务
      • 4.1.2 检查服务状态
    • 4.2 使用init.d脚本

开篇说明

关于tomcat的自启动服务设置,应该听的很多了,也有很多博主有对应的设置方式,但是还是很多初入运维和开发的伙伴们还是有点不会设置,这篇简单的说说我自己在不同操作系统中的设置方式,毕竟还是一个比较有用的设置;

在这里插入图片描述

一、基础环境说明

考虑环境因素,大家适当的对比自己的软硬件环境情况分析~请仔细阅读硬件、软件环境

1.1 硬件环境

MacOS Monterey 版本 12.6.8 Apple M1
Windows 11 专业版
Ubuntu 2024.04

1.2 软件环境

编译环境:Java 1.8.0_171,tomcat9.0

二、Windows 下的设置服务自启

提示:这里tomcat版本的选择,可去官网下载https://tomcat.apache.org/,这块并没有什么要求;只要能匹配你的操作系统即可;

2.1 服务的注册

这里我以tomcat9.0.3为例设置;下载解压后,双击startup.bat测试是否服务可以访问;

在这里插入图片描述

Windows系统中设置Tomcat自启动,通常可以通过将Tomcat注册为Windows服务来实现。以下是详细的步骤和命令设置;
【1】以管理员身份打开进入cmd命令行;
【2】进入tomcat的目录;
【3】在bin目录下,运行service.bat文件来注册Tomcat为Windows服务。你需要使用install参数,并可以指定服务的名称(如果不指定,通常会使用Tomcat的默认名称)

service.bat install Tomcat9

注册服务:
在这里插入图片描述
有注册,自然有卸载,卸载服务:

service.bat uninstall Tomcat9

在这里插入图片描述

需要注意的:
确保你已经正确安装了Tomcat,并且知道Tomcat的安装路径。此外,Tomcat的bin目录下应该包含service.bat文件(对于某些版本的Tomcat,如Tomcat 8及以上版本,这个文件通常是存在的)。如果bin目录下没有这个文件,你可能需要从Tomcat的官方网站下载带有“windows-”和系统位数的.zip文件,因为某些Tomcat的.tar.gz或.exe安装包可能不包含这个文件。

2.2 开启自启

服务注册成功后,你需要打开“服务”管理器来设置Tomcat服务的启动类型。你可以通过在命令提示符中输入services.msc来打开服务管理器,或者通过开始菜单搜索“服务”来找到它。

在服务管理器中,找到你刚刚注册的Tomcat服务(例如“Tomcat9”),右键点击它,选择“属性”。在“属性”窗口中,将“启动类型”更改为“自动”,然后点击“应用”和“确定”来保存更改。
在这里插入图片描述
在这里插入图片描述
此时你重启电脑,再次访问tomcat的访问地址也能看到小猫咪了;

三、MacOS下设置服务自启

提示:在mac中比较少见会去设置tomcat自启的,毕竟实际场景中更多的是windows和linux等系统作为服务器来部署服务,这里我们就简要提一下;

在macOS中设置Tomcat自启动,主要可以通过配置Launchd服务来实现。Launchd是macOS系统中用于管理后台程序、应用和脚本运行的守护进程,它会在系统启动时加载并运行指定的任务;

3.1 创建plist文件

创建一个plist文件来定义Tomcat的启动配置。plist文件是macOS中用于描述系统服务、应用程序和偏好的XML格式文件;文件名称自定义就好,但是最好见名之意一些好管理;然后文件内容编辑:

<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">  
<plist version="1.0">  
<dict>  
    <key>Label</key>  
    <string>org.apache.tomcat</string>  
    <key>ProgramArguments</key>  
    <array>  
        <string>/Library/Tomcat/bin/catalina.sh</string>  <!-- tomcat路径 -->
        <string>run</string>  
    </array>  
    <key>RunAtLoad</key>  <!-- 自动加载 -->
    <true/>  
    <key>KeepAlive</key>  
    <true/>  
    <key>EnvironmentVariables</key>  
    <dict>  
        <key>JAVA_HOME</key>  
        <string>/usr/libexec/java_home</string> <!-- Java安装路径 -->  
    </dict>  
    <key>StandardOutPath</key>  
    <string>/Users/yourusername/tomcat.stdout.log</string>  
    <key>StandardErrorPath</key>  
    <string>/Users/yourusername/tomcat.stderr.log</string>  
</dict>  
</plist>
  1. Label:为Tomcat服务设置一个唯一的标签。
  2. ProgramArguments:指定Tomcat的启动脚本和参数。
  3. RunAtLoad:设置为true表示在系统启动时加载Tomcat。
  4. KeepAlive:设置为true表示如果Tomcat退出,Launchd将尝试重新启动它。
  5. EnvironmentVariables:设置环境变量,如JAVA_HOME。
  6. StandardOutPath和StandardErrorPath:指定Tomcat的标准输出和标准错误日志文件的路径

3.2 加载plist文件

在plist文件保存后,你需要使用launchctl命令来加载它,以便在系统启动时启动Tomcat。在终端执行:

sudo launchctl load -w /Library/LaunchDaemons/你之前定义的plist的文件名

此时你重启mac电脑,就能看到tomcat启动依旧能访问了;

四、ubuntu/linux系统 设置服务自启动

ubuntu中进行相关服务的自启动,有两种方式,一种是用自带的Systemd服务管理器(16.0.4版本以上),一种就是传统的init.d脚本来执行;

4.1 使用Systemd服务

我们需要创建一个文件,首先进入/etc/systemd/system/目录下。你可以使用vim或其他文本编辑器来创建和编辑这个文件。这里,我们创建一个名为tomcat.service的文件:

sudo vim /etc/systemd/system/tomcat.service

然后,在文件中添加以下内容(注意替换JAVA_HOME、CATALINA_HOME等环境变量的值为你的实际路径):

[Unit]  
Description=Tomcat 9 servlet container  
After=network.target  

[Service]  
Type=forking  
Environment="JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64" 
Environment="CATALINA_HOME=/usr/local/tomcat"  
Environment="CATALINA_PID=/usr/local/tomcat/temp/tomcat.pid"  
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"  
ExecStart=/usr/local/tomcat/bin/startup.sh  
ExecStop=/usr/local/tomcat/bin/shutdown.sh  

[Install]  
WantedBy=multi-user.target

请确保根据你的实际安装路径和环境配置来修改上述文件中的路径和选项。

4.1.1 启用并启动服务

保存并关闭服务文件后,你可以使用以下命令来启用和启动Tomcat服务:

sudo systemctl enable tomcat  
sudo systemctl start tomcat

4.1.2 检查服务状态

你可以使用以下命令来检查Tomcat服务的状态:

sudo systemctl status tomcat

4.2 使用init.d脚本

这个方式是在一些较旧的版本中常常使用的方式,也是最直接的方式;绝大多数喜欢使用传统的init.d脚本来管理服务;
【1】复制catalina.sh到init.d目录

将Tomcat的bin目录下的catalina.sh脚本复制到/etc/init.d目录下,并重命名为tomcat(或其他你喜欢的名称):

sudo cp /usr/local/tomcat/bin/catalina.sh /etc/init.d/tomcat

【2】编辑tomcat脚本

编辑/etc/init.d/tomcat文件,添加必要的启动和停止逻辑。这通常涉及到设置JAVA_HOME、CATALINA_HOME等环境变量,并定义start、stop和restart函数。

【3】添加执行权

sudo chmod +x /etc/init.d/tomcat

【4】更新服务配置(如果使用Systemd)

如果你的系统使用Systemd,你可能还需要创建一个符号链接来将Tomcat服务与系统服务关联起来:

sudo update-rc.d tomcat defaults

【5】检查并启动服务

sudo service tomcat start  # 对于SysVinit系统  
# 或者  
sudo systemctl start tomcat  # 对于Systemd系统

然后,你可以使用service tomcat status或systemctl status tomcat来检查服务的状态

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2123325.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ROS CDK魔法书:建立你的游戏王国(Python篇)

引言 在虚拟游戏的世界里&#xff0c;数字化的乐趣如同流动的音符&#xff0c;谱写着无数玩家的共同回忆。而在这片充满创意与冒险的乐园中&#xff0c;您的使命就是将独特的游戏体验与丰富的技术知识相结合&#xff0c;打造出令人难以忘怀的作品。当面对如何实现这一宏伟蓝图…

【数据结构】4——树和森林

数据结构——4树和森林 笔记 文章目录 数据结构——4树和森林树的存储结构双亲表示法孩子链表孩子兄弟表示法&#xff08;二叉树表示法、二叉链表表示法&#xff09; 树与二叉树转换森林和二叉树转化森林转二叉树二叉树转森林 树和森林的遍历树先根后根层次 森林 树的存储结构…

使用nvm工具实现多个nodejs版本的维护和切换

NodeJS的升级比较快&#xff0c;在开发中要使用最新的版本&#xff0c;必须经常升级&#xff0c;但对于一些老项目可能又要使用低版本的NodeJS&#xff0c;虽然可以在系统中同时安装多个NodeJS的版本&#xff0c;然后通过修改环境变量的方式实现切换&#xff0c;但这种方法太麻…

断点回归模型

断点回归&#xff08;Regression Discontinuity Design, RDD&#xff09;是一种准实验设计方法&#xff0c;用于评估政策或其他干预措施的效果。这种方法利用了一个清晰的阈值或“断点”&#xff0c;在这个阈值上&#xff0c;处理状态&#xff08;例如是否接受某种干预&#xf…

浅谈为什么数据库要用B树

朋友,你有没有遇到过这样的情况?明明数据库里存的东西还不算太多,可一查数据,页面加载慢得像蜗牛?别急,问题可能出在你的数据库索引上。而今天我要跟你聊的,就是在数据库里被广泛应用的B树(B-Trees),它可是提升数据库性能的秘密武器。听起来有点深奥?别担心,我会用…

C程序设计——再说说函数参数的值传递

上一篇的最后&#xff0c;我强调了C语言里&#xff0c;所有函数参数的传递&#xff0c;都是值传递&#xff0c;即形参值改变&#xff0c;不影响实参的值。 指针作为函数参数 我们知道&#xff0c;指针也是C语言的一个类型&#xff0c;所以指针&#xff0c;也可以作为函数参数…

【TPAMI 2024】一种用于混合事件-帧摄像机的异步线性滤波器架构

题目&#xff1a;An Asynchronous Linear Filter Architecture for Hybrid Event-Frame Cameras 一种用于混合事件-帧摄像机的异步线性滤波器架构 作者&#xff1a;Ziwei Wang; Yonhon Ng; Cedric Scheerlinck; Robert Mahony 摘要 事件相机非常适合捕捉高动态范围(HDR)视觉…

运维保障高效化的智慧能源开源了

一、简介 AI视频监控平台, 是一款功能强大且简单易用的实时算法视频监控系统。愿景在最底层打通各大芯片厂商相互间的壁垒&#xff0c;省去繁琐重复的适配流程&#xff0c;实现芯片、算法、应用的全流程组合&#xff0c;减少企业级应用约 95%的开发成本&#xff0c;在强大视频算…

【python因果推断库13】使用 PyMC 模型进行回归断点分析

目录 线性模型、主效应模型和交互作用模型 使用bandwidth 使用基样条 import causalpy as cp %load_ext autoreload %autoreload 2 %config InlineBackend.figure_format retina seed 42 df cp.load_data("rd") 线性模型、主效应模型和交互作用模型 PyMC 采样…

教学辅助微信小程序|基于SSM+vue的高校教学微信小程序系统(源码+数据库+文档)

高校教学 目录 基于SSM教学辅助微信小程序 一、前言 二、系统设计 三、系统功能设计 小程序端 后台功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff1a;✌️大厂码农|毕设布道师&#x…

【Python】01.Python 介绍及其环境配置

一、计算机的基础概念 1.1 什么是计算机 所谓计算机&#xff0c;不光能进行算术运算&#xff0c;还能进行逻辑判断、数据存储、网络通信等等功能&#xff0c;以至于可以自动的完成非常复杂的工作。以下这些都可以称为 “计算机” &#xff1a; 1.2 冯诺依曼体系结构 而一台…

媒体服务器软件BUG说明及改进方案

媒体服务器软件BUG说明及改进方案 一、BUG描述二、问题分析三、改进方案四、实施计划五、预期效果六、总结一、BUG描述 在当前版本的媒体服务器中,存在一个关于静音媒体流处理的问题。具体表现为:当主叫连续发送静音帧到媒体服务器时,媒体服务器并未将这些静音帧转发给被叫…

闯关leetcode——13. Roman to Integer

大纲 题目地址内容 解题代码地址 题目 地址 https://leetcode.com/problems/roman-to-integer/description/ 内容 Roman numerals are represented by seven different symbols: I, V, X, L, C, D and M. SymbolValueI1V5X10L50C100D500M1000 For example, 2 is written …

CVE-2024-37032-Ollama漏洞

简介 Ollama是一个专为在本地环境中运行和定制大型语言模型而设计的工具。它提供了一个简单高效的接口&#xff0c;用于创建、运行和管理这些模型&#xff0c;同时还提供了一个丰富的预构建模型库&#xff0c;可以轻松集成到各种应用程序中。Ollama的目标是使大型语言模型的部…

Redis——初识Redis

初识Redis Redis认识Redis 分布式系统单机架构为什么要引入分布式理解负载均衡数据库的读写分离引入主从数据库 引入缓存数据库分库分表业务拆分——微服务常见概念了解 Redis背景介绍特性应用场景Redis不能做的事情Redis客户端redis客户端的多种形态 Redis 认识Redis 存储数…

flow model

https://www.youtube.com/watch?vuXY18nzdSsMcomponent by component(auto regresive)的生成模型存在的问题(生成的顺序&#xff0c;生成的速度慢)&#xff1b;variational auto-encoder存在的问题(optimize a maxihood lower bound&#xff0c;是一个近似)&#xff1b;genera…

【机器学习】隐马尔可夫模型的基本概念和应用领域以及在NLP中如何实现(含python代码)

引言 隐马尔可夫模型&#xff08;Hidden Markov Model&#xff0c;HMM&#xff09;是一种统计模型&#xff0c;用于描述一个含有隐含状态的马尔可夫过程 文章目录 引言一、隐马尔可夫模型的基本概念1.1 HMM的基本组成1.2 HMM的三个基本问题1.3 解决HMM问题的算法1.4 在python中…

Linux 安装神州通用数据库 ShenTong7.0.8_342.92_linux64

Linux 安装神州通用数据库 ShenTong7.0.8_342.92_linux64 1、准备工作2、安装数据库3、启停数据库4、后续步骤 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在Linux环境下安装神州通用数据库&#xff08;ShenTong&#xff09;是一个相对直…

如何通过 Apache Camel 将数据导入 Elasticsearch

作者&#xff1a;来自 Elastic Andre Luiz 使用 Apache Camel 将数据提取到 Elasticsearch 的过程将搜索引擎的稳健性与集成框架的灵活性相结合。在本文中&#xff0c;我们将探讨 Apache Camel 如何简化和优化将数据提取到 Elasticsearch。为了说明此功能&#xff0c;我们将实…

5G网络建设

题目描述 现需要在基城市进行5G网络建设&#xff0c;已经选取N个地点设置5G基站&#xff0c;编号固定为1到N&#xff0c;接下来需要各个基站之间使用光纤进行连接以确保基 站能互联互通&#xff0c;不同基站之间假设光纤的成本各不相同&#xff0c;且有些节点之间已经存在光纤…