• CentOS 安装 tomcat 并设置 开机自启动


    CentOS 安装 tomcat 并设置 开机自启动

    下载jdk和tomcat

    curl https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz
    curl https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.15/bin/apache-tomcat-10.1.15.tar.gz
    
    • 1
    • 2

    解压jdk和tomcat并修改目录名称

    tar -zxvf jdk-21_linux-x64_bin.tar.gz -C /usr/local/
    tar -zxvf apache-tomcat-10.1.15.tar.gz -C /usr/local/
    mv /usr/local/jdk-21.0.1/ /usr/local/jdk-21
    mv /usr/local/apache-tomcat-10.1.15 /usr/local/tomcat-10
    
    • 1
    • 2
    • 3
    • 4

    设置tomcat.pid文件生成

    其中tomcat.pid文件本身不存在,设置之后,启动Tomcat会自动生成

    vi /usr/local/tomcat-10/bin/catalina.sh
    
    • 1
    # 定位文件第140行找到 PRGDIR=`dirname "$PRG"` 并在该行下追加以下内容
    CATALINA_PID="/usr/local/tomcat-10/bin/tomcat.pid"
    
    • 1
    • 2

    tomcat

    配置环境变量

    vi /etc/profile.d/my_env.sh
    
    • 1
    export JAVA_HOME=/usr/local/jdk-21
    
    export CATALINA_BASE=/usr/local/tomcat-10
    export CATALINA_HOME=/usr/local/tomcat-10
    
    export PATH=$PATH:$JAVA_HOME/bin:$CATALINA_BASE/bin:$CATALINA_HOME/bin
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    source /etc/profile.d/my_env.sh
    
    • 1

    编写开机启动服务

    cd /usr/lib/systemd/system
    vi tomcat-10.service
    
    • 1
    • 2
    [Unit]
     
    Description=tomcat-server
     
    After=network.target
     
     
     
    [Service]
     
    Type=forking
     
    # 因为服务启动时,是不会读取全局变量的(/etc/profile),因此全局变量中配置的属性是读取不到的需要注意。
     
    # 所以需要在这里配置Tomcat 启动需要的JDK,指定JDK路径
     
    Environment="JAVA_HOME=/usr/local/jdk-21"
     
     
     
    # 此文件是在第一步时配置的,如果type是后台运行,建议将此属性加上,指定pid。
     
    PIDFile=/usr/local/tomcat-10/bin/tomcat.pid
     
     
     
    # 需要注意的就是下面这一行,如果路径错了,那就无法自动启动,下面会有图文解释
     
    # 整个 ExecStart 脚本,相当于是让系统开机时自动帮你在终端输入等号后面的命令
     
    ExecStart=/usr/local/tomcat-10/bin/startup.sh
     
    ExecReload=/usr/local/tomcat-10/bin/shutdown.sh
     
    ExecReload=/bin/kill -s HUP $MAINPID
     
    PrivateTmp=true
     
     
     
    [Install]
     
    WantedBy=multi-user.target
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    systemctl daemon-reload
    systemctl start tomcat-10.service 
    systemctl enable tomcat-10.service 
    
    • 1
    • 2
    • 3

    设置防火墙端口放行

    firewall-cmd --zone=public --add-port=8080/tcp --permanent
    firewall-cmd --reload 
    
    • 1
    • 2

    重启系统

    reboot
    
    • 1
    浏览器访问测试

    http://服务器IP地址:8080

    在这里插入图片描述

  • 相关阅读:
    (六)Vue之数据代理
    设计模式:观察者模式(C++实现)
    C++打印CPU和内存实时使用情况
    Mysql(视图)
    加粗,倾斜,删除线,下划线
    axios封装以及详细用法
    Centos7完全离线环境安装Nvidia Tesla A100 40G显卡驱动(含CUDA Toolkit)和Anaconda3虚拟环境
    随机过程:马尔科夫过程
    HashMap详解
    什么是API接口?API接口的类型,如何调用API接口?
  • 原文地址:https://blog.csdn.net/qq_24330181/article/details/134052682