
CentOS7에 Tomcat9 설치
배경
Tomcat은 Java Servlet 및 JavaServer Pages (JSP)를 실행하기위한 웹 컨테이너 (서블릿 컨테이너, 서블릿 엔진)입니다.
2017-09-28 현시점에서 최신판의 v9.0.1이 공개되어 있었으므로 Centos7에 인스톨 해 보았습니다.
실행 사용자 정보
특히 확실하지 않으면 프롬프트에서 실행 사용자를 전환하고 명령을 실행하십시오.
특히 확실하지 않으면 프롬프트에서 실행 사용자를 전환하고 명령을 실행하십시오.
환경
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

이상
$ 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

이상
# 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
$ vi .bash_profile
+ JRE_HOME=/usr/java/default
+ CATALINA_HOME=/opt/tomcat/apache-tomcat-9.0.1
+ export JRE_HOME CATALINA_HOME
$ source .bash_profile
# java --version
java 9
Java(TM) SE Runtime Environment (build 9+181)
Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode)
# useradd -s /sbin/nologin 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/
$ vi .bash_profile
+ JRE_HOME=/usr/java/default
+ CATALINA_HOME=/opt/tomcat/apache-tomcat-9.0.1
+ export JRE_HOME CATALINA_HOME
$ source .bash_profile
# /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
# 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:
# /opt/tomcat/apache-tomcat-8.5.8/bin/startup.sh

이상