Linux开机启动Tomcat

  1. 需求背景

    复制代码
    Linux重启后要手动执行"startup.sh"启动Tomcat,比较麻烦,想要Linux开机启动Tomcat。
  2. 开机启动

    复制代码
    #----------------------------------------------------------
    sudo tee /usr/bin/tomcat.sh <<-'EOF'
    #! /bin/bash
    nohup /opt/tomcat/bin/startup.sh > /opt/tomcat/nohup.log &
    EOF
    chmod +x /usr/bin/tomcat.sh
    #----------------------------------------------------------
    sudo tee /etc/systemd/system/tomcat.service <<-'EOF'
    [Unit]
    Description=tomcat
    After=syslog.target network.target
    [Service]
    Environment="JAVA_HOME=/opt/jdk"
    Type=oneshot
    RemainAfterExit=yes
    ExecStart=/usr/bin/tomcat.sh
    [Install]
    WantedBy=multi-user.target
    EOF
    #----------------------------------------------------------
    systemctl enable tomcat
    #----------------------------------------------------------
    
    # 启动tomcat
    systemctl start tomcat
    # 停止tomcat
    systemctl stop tomcat
    # 重启tomcat
    systemctl restart tomcat
    # 查看tomcat状态
    systemctl status tomcat
  3. 注意事项

    复制代码
    #----------------------------------------------------------
    "tomcat.service"不添加Environment="JAVA_HOME=/opt/jdk"报错如下
    #----------------------------------------------------------
    Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
    At least one of these environment variable is needed to run this program
    #----------------------------------------------------------
    解决方法:"startup.sh"首行添加"export JAVA_HOME=/opt/jdk"可解决
    #----------------------------------------------------------
相关推荐
知识分享小能手6 分钟前
Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04 系统启动与关闭详解(11)
linux·学习·ubuntu
machunlin~7 分钟前
centos 系统安装相关
linux·运维·docker·centos
hweiyu009 分钟前
Linux 命令:bzip2
linux·运维·服务器
爱吃生蚝的于勒28 分钟前
【Linux】深入理解软硬链接
linux·运维·服务器·c语言·数据结构·c++·算法
djxbbdjedhb39 分钟前
Linux应用学习-读取jpg显示在LCD上
linux·学习
prettyxian1 小时前
【Linux】内核编织术:task_struct的动态网络
linux·运维·服务器
Danileaf_Guo1 小时前
OSPF路由引入的陷阱:为何Ubuntu上静态路由神秘消失?深挖FRR路由分类机制
linux·运维·网络·ubuntu·智能路由器
张某人的胡思乱想1 小时前
windows远程ubuntu
linux·运维·ubuntu
QT 小鲜肉1 小时前
【Linux命令大全】001.文件管理之mtoolstest命令(实操篇)
linux·运维·前端·笔记·microsoft
ocean21031 小时前
Linux面试题图解
linux·运维·服务器·面试·职场和发展