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"可解决
    #----------------------------------------------------------
相关推荐
风曦Kisaki7 小时前
#Linux数据库管理Day06:主从同步与MaxScale读写分离
linux·运维·数据库
小楼昨夜又东风1267 小时前
使用python快速拉包
linux
Tipriest_8 小时前
ubuntu创建和更换当前swap大小
linux·运维·ubuntu
WI8LbH78810 小时前
Ubuntu 部署Harbor
linux·运维·ubuntu
researcher-Jiang10 小时前
高性能计算之MPI:第一次MPI并行程序设计练习
linux·运维·服务器
Wireless_wifi610 小时前
Why Choose IPQ9574 for Your WiFi 7 Solution
linux·人工智能·5g
MYMOTOE611 小时前
国内对标腾讯 WorkBuddy 的桌面 AI 智能体软件大全
linux
小c君tt11 小时前
linux学习笔记1
linux·笔记·学习
RisunJan12 小时前
Linux命令-read(Bash 内建读取输入)
linux
CCPC不拿奖不改名13 小时前
Redis 工程化部署深度解析
linux·服务器·数据库·redis·深度学习·缓存·rag