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"可解决
    #----------------------------------------------------------
    
相关推荐
努力的小T1 小时前
基于 Bash 脚本的系统信息定时收集方案
linux·运维·服务器·网络·云计算·bash
梓懿lwh1 小时前
vim的介绍
linux·编辑器·vim
爱敲代码的边芙2 小时前
Linux:信号的保存[2]
linux·运维·服务器
工程师焱记2 小时前
Linux 常用命令——系统设置篇(保姆级说明)
linux·运维·服务器
某风吾起2 小时前
linux系统中的 scp的使用方法
linux·服务器·网络
『往事』&白驹过隙;2 小时前
操作系统(Linux Kernel 0.11&Linux Kernel 0.12)解读整理——内核初始化(main & init)之缓冲区的管理
linux·c语言·数据结构·物联网·操作系统
chian-ocean2 小时前
探索Linux中的进程控制:从启动到退出的背后原理
linux·运维·服务器
涛ing2 小时前
23. C语言 文件操作详解
java·linux·c语言·开发语言·c++·vscode·vim
阿猿收手吧!2 小时前
【Linux网络总结】字节序转换 收发信息 TCP握手挥手 多路转接
linux·服务器·网络·c++·tcp/ip
萤火夜3 小时前
Linux网络之TCP
linux·网络·tcp/ip