• 【最佳实践】CentOS7.9 下绿色安装最新版本的 Tomcat-10.1.2 以及最新的 Java19


    运行 Tomcat10.1.x 需要 jdk11 及以上版本,这点要注意。Here we go!!!

    一、安装

    1.1 资源下载

    下载最新版本 tomcat-10.1.2,命令:

    wget -c https://downloads.apache.org/tomcat/tomcat-10/v10.1.2/bin/apache-tomcat-10.1.2.tar.gz
    
    • 1

    下载最新版本 jdk-19

    wget -c https://download.oracle.com/java/19/latest/jdk-19_linux-x64_bin.tar.gz
    
    • 1

    1.2 解压安装包

    解压 tomcat 到目录/opt下:

    tar -xzvf apache-tomcat-10.1.2.tar.gz -C /opt/
    
    • 1

    解压 jdk 到目录/usr/local/下:

    tar -xzvf jdk-19_linux-x64_bin.tar.gz -C /usr/local/
    
    • 1

    二、配置

    2.1 生成 jre 目录

    tomcat 运行只需要 jre 就足够了。使用jlink将 jre 生成到 tomcat 目录下:

    /usr/local/jdk-19.0.1/bin/jlink --add-modules java.base,java.rmi,java.xml,java.management,java.sql,java.desktop,java.naming,java.security.jgss,java.instrument --output /opt/apache-tomcat-10.1.2/jre
    
    • 1

    注意:根据需要添加所需的模块,目前添加的模块只是足够运行 tomcat10.1.x

    2.2 配置运行参数

    将环境变量和 Java 等参数配置到setenv.sh下:

    cat > /opt/apache-tomcat-10.1.2/bin/setenv.sh <<"EOF"
    JRE_HOME=/opt/apache-tomcat-10.1.2/jre
    CLASSPATH=$JRE_HOME/lib
    PATH=$PATH:$JRE_HOME/bin
    JAVA_OPTS="-server -Xms1024m -Xmx2048m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m -XX:SurvivorRatio=8 -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses -Djava.security.egd=file:/dev/urandom"
    CATALINA_PID="/var/run/tomcat.pid" 
    EOF
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    说明:这样是不是很绿色很环保?一个文件搞定。

    三、运行

    上面配置完后,我们就可以运行tomcat了,可以单独命令运行,也可以后台服务运行。

    3.1 运行 Tomcat

    执行以下命令运行 Tomcat:

    /opt/apache-tomcat-10.1.2/bin/catalina.sh run
    
    • 1

    运行情况:

    Using CATALINA_BASE: /opt/apache-tomcat-10.1.2
    Using CATALINA_HOME: /opt/apache-tomcat-10.1.2
    Using CATALINA_TMPDIR: /opt/apache-tomcat-10.1.2/temp
    Using JRE_HOME: /opt/apache-tomcat-10.1.2/jre
    Using CLASSPATH: /opt/apache-tomcat-10.1.2/jre/lib:/opt/apache-tomcat-10.1.2/bin/bootstrap.jar:/opt/apache-tomcat-10.1.2/bin/tomcat-juli.jar
    Using CATALINA_OPTS:
    Using CATALINA_PID: /var/run/tomcat.pid
    27-Nov-2022 00:10:16.004 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version name: Apache Tomcat/10.1.2
    27-Nov-2022 00:10:16.009 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Nov 9 2022 15:47:04 UTC
    27-Nov-2022 00:10:16.009 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 10.1.2.0

    可以看到 tomcat 运行起来了。

    3.2 设置服务

    如果想随机启动关闭,可以这样设置:

    cat > /usr/lib/systemd/system/tomcat.service <<"EOF"
    [Unit]
    Description=apache-tomcat-10.1.2
    Requires=network.target local-fs.target
    After=network.target local-fs.target
    
    [Service]
    Type=forking
    User=root
    OOMScoreAdjust=-1000
    PIDFile=/var/run/tomcat.pid
    ExecStart=/opt/apache-tomcat-10.1.2/bin/catalina.sh start
    ExecStop=/opt/apache-tomcat-10.1.2/bin/catalina.sh stop
    TimeoutSec=60
    PrivateTmp=true 
    
    [Install]
    WantedBy=multi-user.target
    
    EOF
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    使生效:

    systemctl enable --now tomcat
    
    • 1

    查看状态:

    systemctl status tomcat
    
    • 1

    通过浏览器访问:

    http://192.168.56.22:8080/

    如果在外面 Web 打不开,查看以下是否是防火墙阻止了端口被外部访问:

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

    There you go!!

  • 相关阅读:
    高级套接字
    通用分页(分页代码的封装)
    python3 简易 http server:实现本地与远程服务器传大文件
    智云通CRM:如何做一个优秀的顾问式销售人员?
    rust 生命周期的问题请教 slqx fromRow的问题
    网络服务器和客户端的编写
    蓝桥杯(等差素数列,C++)
    c++基本图形绘制
    C++新特性:智能指针
    杨辉三角形的代码
  • 原文地址:https://blog.csdn.net/qiuchenjun/article/details/128059915