프로그래밍 및 기타/Cloud : AWS

[aws] Xshell8 에서 톰캣 설치하기

기록자_Recordian 2025. 2. 19. 18:06
728x90
반응형
이전 내용

 

 

[aws] VPC, 서브넷, 인스턴스 등 삭제하기

이전 내용 [aws] 로드 밸런서 생성 및 서브넷 연결하기이전 내용 [aws] 리눅스 서버 연결 및 nginx 설치이전 내용 [aws] 인스턴스 생성하기이전 내용 [aws] VPC, 서브넷, IGW, 라우팅 테이블 설정하기이

puppy-foot-it.tistory.com


톰캣이란?

 

톰캣(Tomcat)은 오픈소스 웹 서버 및 서블릿 컨테이너로, 자바(Java) 기반의 웹 애플리케이션을 실행하기 위한 플랫폼이다. 아파치 소프트웨어 재단(Apache Software Foundation)에서 관리하며, 자바 서블릿 및 JSP(JavaServer Pages) 사양을 구현하고 있다. 톰캣은 널리 사용되는 서블릿 기반의 웹 애플리케이션 서버로, 다양한 기능과 안정성을 제공한다.

[톰캣의 주요 특징]

  • 오픈소스: 톰캣은 오픈소스 소프트웨어로, 누구나 무료로 사용할 수 있으며, 소스 코드를 자유롭게 수정하고 배포 가능.
  • 서블릿 및 JSP 지원: 톰캣은 자바 서블릿과 JSP를 지원하여, 동적인 웹 콘텐츠를 생성하고 관리하는 데 필요한 기능을 제공.
  • 모듈화된 아키텍처: 톰캣은 모듈화된 아키텍처를 가지고 있어, 사용자들이 필요한 기능만을 선택적으로 사용할 수 있음.
  • 다양한 플랫폼 지원: 톰캣은 다양한 운영 체제에서 작동할 수 있으며, 자바를 지원하는 모든 플랫폼에서 사용할 수 있음.
  • 고성능: 톰캣은 경량급 웹 서버로, 높은 성능과 효율성을 제공하며, 대규모 트래픽을 처리하는 데 적합.

[톰캣의 구성 요소]

  • 서블릿 컨테이너: 서블릿의 생명 주기를 관리하고, 클라이언트의 요청을 처리하는 역할.
  • JSP 엔진: JSP 파일을 서블릿으로 변환하여 실행하는 엔진.
  • 커넥터: 클라이언트와 서버 간의 연결을 관리하며, HTTP, AJP 등 다양한 프로토콜을 지원.
  • 가상 호스트(Virtual Host): 하나의 톰캣 인스턴스에서 여러 도메인이나 웹 애플리케이션을 운영할 수 있도록 지원.

[톰캣 사용 사례]

  • 웹 애플리케이션 개발: 자바 기반의 웹 애플리케이션을 개발하는 데 널리 사용.
  • API 서버: RESTful API 서버를 구현하여, 다양한 플랫폼과 클라이언트 애플리케이션에 데이터를 제공.
  • 프로토타입 및 테스트: 개발자가 웹 애플리케이션의 프로토타입을 빠르게 만들고 테스트할 수 있는 환경을 제공.

톰캣 설치하기: 선행 작업
jdk, JAVA, JAVAC 설치하기

 

먼저 Xshell8에서 톰캣을 설치할 서버에 연결한다.

[리눅스 서버 설정하는 법]

aws] 리눅스 서버 연결 및 nginx 설치

 

 

톰캣 설치 이전에 JDK와 JAVAC(자바 컴파일러) 를 설치해야 한다.

 

1. JDK 설치하기

JDK를 설치하기에 앞서, 설치 가능한 버전은 어떤 것이 있는지 확인

 

◆ 설치 가능한 버전 확인 명령어

sudo yum list | grep openjdk

 

2. JDK 설치하기

◆ 설치 명령어

sudo yum install java-1.8.0-openjdk

명령어를 입력하면 설치될 패키지와 설치 크기를 알려주면서 괜찮냐고 물어보는데, y 입력

 

설치가 완료되었다.

 

3. JAVA, JAVAC 버전 확인하기

java -version

javac -version

JAVAC의 경우 'javac: command not found' 가 뜨는 것으로 보아, 설치가 안된 것으로 보이니 설치가 필요해 보인다.

sudo yum install java-1.8.0-openjdk-devel

 

역시 설치 패키지와 설치 크기를 물어보는 데, y 입력

 

설치가 완료되었다.


환경변수 설정

 

먼저 JAVA 가 설치된 경로를 확인해본다.

echo $JAVA_HOME

빈칸으로 나온다면, 경로 지정이 안 된 것이므로, 환경변수 설정이 필요하다.

 

환경 변수 설정을 위해

which 와 readlink 명령어를 통해 java와 javac가 설치된 경로를 확인한다.

which java

 

이 명령어를 입력했을 때 나오는 경로를 복사하여 readlink -f 뒤에 붙여준다.

readlink -f /usr/bin/java

 

그리고 상단의 주소에 나오는 /usr 부터 86_64까지 복사한다.

/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.432.b06-1.amzn2.0.1.x86_64

 

JAVAC 도 같은 방식으로 진행

which javac
readlink -f /usr/bin/javac

/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.432.b06-1.amzn2.0.1.x86_64

 

이제 환경변수를 추가해 줘야 하는데, 앞서 주소한 복사를 'export JAVA_HOME='의 뒷부분에 붙여넣기 하고,

아래의 세 줄을 한 줄씩 차례대로 입력한다.

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.432.b06-1.amzn2.0.1.x86_64
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar

 

그리고나서 환경 변수가 잘 등록되었는지 확인해 본다.

echo $JAVA_HOME
echo $PATH
echo $CLASSPATH


환경변수 고정(?) 시키기

 

환경변수를 등록했으나, 이는 일회성으로 껐다 켜면 등록된 변수가 해제되어 버린다.

따라서, 껐다 켜도 환경변수가 해제되지 않고 고정되어 있도록 해줘야 한다.

 

먼저 이 명령어를 입력하면

sudo vim /etc/profile

 

화면이 하단과 같이 바뀌는데, 여기서 'i'를 눌러 입력 모드(INSERT)로 바꾼다음

 

아래의 명령어를 복사하여 가장 하단에 붙여넣기 한다.

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.432.b06-1.amzn2.0.1.x86_644
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar

 

그리고나서 esc + :wq 를 입력


톰캣 설치
(AWS) Amazon Linux 2에 Tomcat 9 설치하기

 

드디어 톰캣을 설치할 수 있다.

그전에 여기서 root 계정으로 변환하여 진행하기 위해 하단 명령어를 입력

sudo -i

 

◆ 설치 가능한 패키지 확인

sudo yum list | grep tomcat

 

◆ 톰캣 아파치 다운로드 하기

먼저 하단의 홈페이지에 접속

https://tomcat.apache.org/download-90.cgi

 

이 중에서 9.0.100 버전을 다운 받을 건데, 리눅스 서버에 설치할 것이므로 tar, gz(빨간 네모) 를 오른쪽 마우스로 클릭하여 링크를 복사한다.

 

 

다시 Xshell8 로 돌아와 하단의 명령어를 입력 (wget 뒤는 복사된 링크 주소다)

wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.100/bin/apache-tomcat-9.0.100.tar.gz

saved 가 나오면 성공

ls

를 입력해봐도 다운로드가 잘 된 것을 확인할 수 있다.

 

그리고나서 아래의 세 줄을 한 줄씩 입력한다. (각각 권한부여, 압축 풀기)

sudo groupadd tomcat
useradd -s /bin/nologin -g tomcat tomcat
tar xvfz apache-tomcat-9.0.100.tar.gz

 

그리고나서 하단의 명령어를 입력하고

sudo vi /etc/systemd/system/tomcat.service

 

바뀐 화면에서 입력 모드로 바꿔서 하단의 명령어 붙여넣기

[Unit]
Description=Apache Tomcat 9.0 Web Application Container
After=syslog.target network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/jre
Environment=CATALINA_PID=/home/tomcat/apache-tomcat-9.0.100/temp/tomcat.pid
Environment=CATALINA_HOME=/home/tomcat/apache-tomcat-9.0.100
Environment=CATALINA_BASE=/home/tomcat/apache-tomcat-9.0.100
Environment='CATALINA_OPTS=-Xms256M -Xmx256M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'

ExecStart=/home/tomcat/apache-tomcat-9.0.100/bin/startup.sh
ExecStop=/home/tomcat/apache-tomcat-9.0.100/bin/shutdown.sh
#ExecStop=/bin/kill -15 $MAINPID

User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

 

▶ 상단의 코드는 Apache Tomcat 9.0 웹 애플리케이션 컨테이너를 위한 시스템 유닛 파일이다. 이 파일은 시스템 서비스 관리자인 systemd에 의해 서비스로서 Tomcat을 시작하고 중지하는 데 사용된다. 아

[유닛 파일의 목적 및 구성]
- [Unit] 섹션: Description: 서비스의 간단한 설명을 제공.
After: 이 서비스가 시작될 때 필요한 시스템 구성 요소(예: 로그 시스템, 네트워크)가 완료된 후 시작된다는 것을 나타냄.

-[Service] 섹션:
Type: 서비스 유형을 정의하며, forking은 서비스가 별도의 프로세스를 생성하는 방식을 의미.
Environment: Tomcat이 실행될 때 필요한 환경 변수를 설정. 예를 들어, Java 경로와 Tomcat 관련 경로 등이 포함됨.
ExecStart: Tomcat 서버를 시작하기 위한 스크립트의 경로를 지정.
ExecStop: Tomcat 서버를 종료하기 위한 스크립트의 경로를 지정.
User/Group: Tomcat이 실행될 사용자 및 그룹을 지정.
Restart: 서비스가 중단되었을 경우 자동으로 재시작하도록 설정하는 부분.

- [Install] 섹션:
WantedBy: 이 서비스가 멀티 사용자 모드에서 실행되어야 함을 나타냄.

이 유닛 파일을 사용하면 Apache Tomcat을 시스템 서비스로 간편하게 관리할 수 있으며, 서버 시작 시 자동으로 실행되게 설정할 수 있다.

 

마지막으로 아래의 5줄을 한 줄씩 차례대로 입력

▶ 이 명령어들은 Apache Tomcat 서버를 설치하고 설정한 후, 서버를 시작하고 관리하는 데 필요한 기본적인 작업들을 수행

sudo systemctl daemon-reload
sudo systemctl enable tomcat.service
sudo chgrp -R tomcat /home/tomcat/
sudo chown -R tomcat /home/tomcat/
sudo systemctl start tomcat
ps -ef|grep tomcat

 

[명령어 설명]

  • sudo systemctl daemon-reload:
    목적: systemd가 서비스 유닛 파일의 변경 사항을 인식하도록 힘.
    설명: 유닛 파일을 수정한 후 이 명령어를 실행해야 새로운 설정 적용.
  • sudo systemctl enable tomcat.service:
    목적: Tomcat 서비스를 부팅 시 자동으로 시작하도록 설정.
    설명: 이 명령어를 통해 시스템이 켜질 때마다 Tomcat 서버가 자동으로 실행.
  • sudo chgrp -R tomcat /home/tomcat/:
    목적: /home/tomcat/ 디렉터리의 그룹 소유자를 tomcat 그룹으로 변경.
    설명: 디렉터리 및 그 하위 파일들에 대해 적용.
  • sudo chown -R tomcat /home/tomcat/:
    목적: /home/tomcat/ 디렉터리와 그 하위 파일들의 소유자를 tomcat 사용자로 변경.
    설명: Tomcat이 필요한 파일에 접근할 수 있도록 권한을 부여.
  • sudo systemctl start tomcat:
    목적: Tomcat 서비스를 즉시 시작.
    설명: 서버가 활성화되며, 웹 애플리케이션이 실행될 수 있는 상태가 됨.
  • ps -ef | grep tomcat:
    목적: 현재 실행 중인 프로세스 중에서 "tomcat"이라는 이름을 포함하는 프로세스를 검색.
    설명: Tomcat이 정상적으로 실행되고 있는지 확인할 수 있는 방법.

톰캣 설치 확인

 

이제 aws 로 넘어와서 톰캣을 설치한 인스턴스의 퍼블릭 IPv4 주소를 복사한 뒤,

인터넷 창에 http://ip주소:8080 을 입력하면

 

고양이가 잘 뜨면 설치 성공!

또는 curl 명령어로 접속을 확인해 볼 수도 있다.

curl IP주소:포트

openjdk 설치 및 Tomcat9.0.100 버전 설치 스크립트_250219.txt
0.00MB

 

 


다음 내용

 

[aws] Bastion Hub 만들기

이전 내용  Bastion Hub 란? [Bastion Hub 개요]Bastion Hub는 클라우드 환경에서 보안과 관리의 편의성을 높이기 위해 설계된 플랫폼으로, 주로 클라우드 애플리케이션과 서비스의 보안 접근성을 지원

puppy-foot-it.tistory.com

 

728x90
반응형