728x90
톰캣10 설치 메뉴얼
tomcat 사용자그룹 추가
- sudo groupadd tomcat
톰캣 디렉토리 생성
- sudo mkdir -p /opt/tomcat
tomcat 이라는 사용자를 생성, 로그인불가 옵션, 홈디렉토리 지정, tomcat 그룹에 포함
- sudo useradd -s /bin/nologin -g tomcat -d /opt/tomcat tomcat
홈 디렉토리로 이동 후 톰캣10 최신버전 다운로드
- cd ~
- VER="10.0.23"
- wget https://archive.apache.org/dist/tomcat/tomcat-10/v${VER}/bin/apache-tomcat-${VER}.tar.gz
tar 설치 및 톰캣 설치
- sudo yum install tar -y
- sudo tar -xvf apache-tomcat-${VER}.tar.gz -C /opt/tomcat --strip-components=1
/opt/tomcat 를 포함한 모든 하위 파일들에 대해서 소유권 변경(root:root => tomcat:tomcat)
- sudo chown -R tomcat: /opt/tomcat
/opt/tomcat 를 포함한 모든 하위 sh 파일들에 대해서 실행권한 부여
- sudo sh -c 'chmod +x /opt/tomcat/bin/*.sh'
현재 설치된 자바정보 확인
- sudo alternatives --list | grep ^java
systemctl 에 등록하기 위한 tomcat.service 문서 생성
- sudo vim /etc/systemd/system/tomcat.service
systemctl 에서 tomcat.service 문서를 읽고 톰캣 실행 및 활성화
- sudo systemctl daemon-reload
- sudo systemctl start tomcat
- sudo systemctl enable tomcat
- sudo systemctl status tomcat
톰캣 구조도
톰캣 구성요소 개요
- 설명에 앞서
- 기본호스트를 tomcat.ll1.oa.gg 으로 가정한다.
- 톰캣에 현재 1개의 호스트가 추가된 상황이라고 가정한다.
- site1.ll1.oa.gg
- 톰캣 : 웹앱을 탑재할 수 있는 컨테이너, 여러개의 호스트를 추가할 수 있고, 설치직후에는 기본호스트만 존재한다.
- 기본호스트 : 설치직후에는 기본적으로 5개의 앱을 가지고 있다.
- 매니저앱 : 각 호스트마다 하나씩 존재, 자신이 속한 호스트에서 소속된 다른 앱들을 관리하는데 사용된다. 원격배포시에 사용된다.
- 호스트매니저앱 : 톰캣당 1개씩 존재, 호스트룰 추가, 삭제할 수 있다.
- docs앱 : 톰캣공식문서가 담겨있는 앱
- examples앱 : 톰캣예제소스코드가 담겨있는 앱
- 앱의 URL 구성 : 호스트/앱이름, 예를들어 기본호스트의 docs앱의 URL은 : https://tomcat.ll1.oa.gg/docs 이다.
- 루트앱 : 호스트명만으로 구성된 URL로 접속했을 때 나오는 앱, 예를들어 site1.ll1.oa.gg 호스트의 루트앱 주소는 https://site1.ll1.oa.gg 이다.
- 보통 톰캣에 새로운 사이트를 추가할 때, 호스트매니저로 호스트를 추가한 후, 해당 호스트안에 루트앱만 추가한다.
- 예전에 도메인이 귀할 때는, 하나의 호스트에 여러개의 앱을 넣어서 사용했었지만, 현재는 그렇지 않다.
- 호스트내에 이름이 같은 앱은 존재할 수 없다.
- 다만 병렬배포라고 해서, 버전을 달리하면 똑같은 앱이 하나의 호스트내에 여러개 존재할 수 있다.
- 이 상황에서는 사용자가 접근했을 때 톰캣이 버전이 높은 앱을 노출시킨다.
톰캣의 기본 호스트에 gugudan 앱 추가
- su # 루트 비번 입력
- mkdir /opt/tomcat/webapps/gugudan
gugudan 앱 폴더로 이동
- cd /opt/tomcat/webapps/gugudan
index.jsp 생성
- vim index.jsp
- 실행 화면
'IT' 카테고리의 다른 글
리눅스에서 도커(Docker) 활용하기 1(설치, 기본 명령어) (0) | 2022.09.17 |
---|---|
Linux(centOS9) 설정 7(proxy) (0) | 2022.09.16 |
Linux(centOS9) 설정 5( CentOS에서 자바 jar 생성 및 실행) (0) | 2022.09.16 |
Linux(centOS9) 설정 4(각각의 포트 또는 도메인에 웹사이트 연결) (0) | 2022.09.15 |
Linux(centOS9) 설정 3(웹 루트 변경 및 selinux disabled) (0) | 2022.09.15 |