CentOS7에 Tomcat9 설치

CentOS7에 Tomcat9 설치

2022-10-05 last update

5 minutes reading jdk9 centos7 tomcat9

배경



Tomcat은 Java Servlet 및 JavaServer Pages (JSP)를 실행하기위한 웹 컨테이너 (서블릿 컨테이너, 서블릿 엔진)입니다.

2017-09-28 현시점에서 최신판의 v9.0.1이 공개되어 있었으므로 Centos7에 인스톨 해 보았습니다.

실행 사용자 정보



특히 확실하지 않으면 프롬프트에서 실행 사용자를 전환하고 명령을 실행하십시오.
  • # → root 사용자로 실행
  • $ → 모든 사용자가 실행

  • 환경







    OS
    CentOS7.4 x86_64

    jdk
    자바 9 빌드 9+181

    Tomcat
    Apache Tomcat/9.0.1

    $ cat /etc/system-release
    CentOS Linux release 7.4.1708 (Core) 
    
    # java --version
    java 9
    Java(TM) SE Runtime Environment (build 9+181)
    Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode)
    
    # /opt/tomcat/apache-tomcat-9.0.1/bin/version.sh 
    Using CATALINA_BASE:   /opt/tomcat/apache-tomcat-9.0.1
    Using CATALINA_HOME:   /opt/tomcat/apache-tomcat-9.0.1
    Using CATALINA_TMPDIR: /opt/tomcat/apache-tomcat-9.0.1/temp
    Using JRE_HOME:        /
    Using CLASSPATH:       /opt/tomcat/apache-tomcat-9.0.1/bin/bootstrap.jar:/opt/tomcat/apache-tomcat-9.0.1/bin/tomcat-juli.jar
    NOTE: Picked up JDK_JAVA_OPTIONS:  --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
    Server version: Apache Tomcat/9.0.1
    Server built:   Sep 27 2017 17:31:52 UTC
    Server number:  9.0.1.0
    OS Name:        Linux
    OS Version:     3.10.0-693.2.2.el7.x86_64
    Architecture:   amd64
    JVM Version:    9+181
    JVM Vendor:     Oracle Corporation
    

    전제



    CentOS7 설정, Apache 설치, 부팅까지는 할 수 있다고 가정합니다.



    절차



    jdk 설치



    현재 jdk의 최신 버전인 jdk 9+181을 공식 사이트에서 링크 복사하고 wget에서 다운로드하여 rpm을 설치합니다.

    공식 사이트 : h tp // w w. 오 c. 이 m / ch ch와 rk / 쟈 ゔ ぁ / ゔ ぁ せ / ド ぉ 아 ds / jdk9 - 드 w ぉ 아 ds - 3848520. HTML
    # cd /usr/local/src
    # wget http://download.oracle.com/otn-pub/java/jdk/9+181/jdk-9_linux-x64_bin.rpm
    # rpm -ivh jdk-9_linux-x64_bin.rpm
    

    Java 환경 변수 설정



    모든 사용자의 .bash_profile에 다음을 쓰고 환경 변수를 설정합니다.
    $ vi .bash_profile
    

    .bash_profile
    + JRE_HOME=/usr/java/default
    + CATALINA_HOME=/opt/tomcat/apache-tomcat-9.0.1
    + export JRE_HOME CATALINA_HOME
    

    Java 환경 변수 로드


    $ source .bash_profile
    

    java 버전 확인


    # java --version
    java 9
    Java(TM) SE Runtime Environment (build 9+181)
    Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode)
    

    Tomcat9 설치



    tomcat 사용자 만들기


    # useradd -s /sbin/nologin tomcat
    

    tomcat 다운로드


    $ wget http://ftp.riken.jp/net/apache/tomcat/tomcat-9/v9.0.1/bin/apache-tomcat-9.0.1.tar.gz
    

    아카이브 배포


    $ tar -xvzf apache-tomcat-9.0.1.tar.gz 
    

    배포 후 파일 이동


    $ sudo mv apache-tomcat-9.0.1 /opt/tomcat/
    

    Tomcat 환경 변수 설정



    모든 사용자의 .bash_profile에 다음을 쓰고 환경 변수를 설정합니다.
    $ vi .bash_profile
    

    .bash_profile
    + JRE_HOME=/usr/java/default
    + CATALINA_HOME=/opt/tomcat/apache-tomcat-9.0.1
    + export JRE_HOME CATALINA_HOME
    

    Tomcat 환경 변수 로드


    $ source .bash_profile
    

    tomcat 버전 확인


    # /opt/tomcat/apache-tomcat-9.0.1/bin/version.sh 
    Using CATALINA_BASE:   /opt/tomcat/apache-tomcat-9.0.1
    Using CATALINA_HOME:   /opt/tomcat/apache-tomcat-9.0.1
    Using CATALINA_TMPDIR: /opt/tomcat/apache-tomcat-9.0.1/temp
    Using JRE_HOME:        /
    Using CLASSPATH:       /opt/tomcat/apache-tomcat-9.0.1/bin/bootstrap.jar:/opt/tomcat/apache-tomcat-9.0.1/bin/tomcat-juli.jar
    NOTE: Picked up JDK_JAVA_OPTIONS:  --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
    Server version: Apache Tomcat/9.0.1
    Server built:   Sep 27 2017 17:31:52 UTC
    Server number:  9.0.1.0
    OS Name:        Linux
    OS Version:     3.10.0-693.2.2.el7.x86_64
    Architecture:   amd64
    JVM Version:    9+181
    JVM Vendor:     Oracle Corporation
    

    firewalld 설정


    # firewall-cmd --list-all
    public (active)
      target: default
      icmp-block-inversion: no
      interfaces: eth0
      sources: 
      services: dhcpv6-client ssh vnc-server http
      ports: 
      protocols: 
      masquerade: no
      forward-ports: 
      source-ports: 
      icmp-blocks: 
      rich rules: 
    
    # firewall-cmd --zone=public --add-port=8080/tcp --permanent
    success
    # firewall-cmd --reload
    success
    # firewall-cmd --list-all
    public (active)
      target: default
      icmp-block-inversion: no
      interfaces: eth0
      sources: 
      services: dhcpv6-client ssh vnc-server http
      ports: 8080/tcp
      protocols: 
      masquerade: no
      forward-ports: 
      source-ports: 
      icmp-blocks: 
      rich rules: 
    

    Tomcat 시작


    # /opt/tomcat/apache-tomcat-8.5.8/bin/startup.sh
    

    브라우저에서 확인



    http://:8080



    이상