[aws] Xshell8 에서 톰캣 설치하기
이전 내용
[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에서 톰캣을 설치할 서버에 연결한다.
[리눅스 서버 설정하는 법]
톰캣 설치 이전에 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주소:포트
다음 내용
[aws] Bastion Hub 만들기
이전 내용 Bastion Hub 란? [Bastion Hub 개요]Bastion Hub는 클라우드 환경에서 보안과 관리의 편의성을 높이기 위해 설계된 플랫폼으로, 주로 클라우드 애플리케이션과 서비스의 보안 접근성을 지원
puppy-foot-it.tistory.com