일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 코드로배우는스프링부트웹프로젝트
- 리눅스
- 스프링 시큐리티
- 코드로배우는스프링웹프로젝트
- 처음 만나는 AI수학 with Python
- 자료구조와함께배우는알고리즘입문
- baeldung
- 선형대수
- 이터레이터
- 자바편
- 스프링부트핵심가이드
- 알파회계
- /etc/network/interfaces
- d
- Kernighan의 C언어 프로그래밍
- 페이징
- 친절한SQL튜닝
- iterator
- 데비안
- ㅒ
- network configuration
- 서버설정
- 네트워크 설정
- 구멍가게코딩단
- 자료구조와 함께 배우는 알고리즘 입문
- 목록처리
- resttemplate
- 처음 만나는 AI 수학 with Python
- 티스토리 쿠키 삭제
- GIT
- Today
- Total
bright jazz music
버추얼 박스 NATnetwork 구성에서 tomcat 들어가기 본문
1. 환경설정에서 NAT(network address translation) network 만들어주기
버추얼 박스에서 '파일'탭 - '환경설정' 메뉴 설정
환경설정 팝업창에서 '네트워크' 선택한 후 , 우측의 '+' 버튼 눌러서 NAT네트워크 생성. "NatNetwork"가 기본이지만 임의로 설정해도 무방하다. 추후 변경 역시 가능하다. 이번 경우는 기본 NatNetwork로 진행하였다.
네트워크를 생성하였으면 더블클릭하거나 우측의 '노란색 톱니바퀴' 모양 누르기. 그러면 'NAT 네트워크 정보' 창이 팝업이 생성됨. 여기서 NAT network를 설정할 수 있음.
여기서 중요한 것은 네트워크 CIDR이다. 10.0.2.0 이 기본이며, 변경도 가능하다. 이번 경우는 기본으로 진행하였다.
CIDR으르 지정해 주었으면 하단의 '포트포워딩'을 눌러 포트포워딩 설정을 해준다.
ㅇ
우측의 '+'버튼을 눌러 포트포워딩 규칙을 설정해준다. 포트포워딩은 어느 네트워크에 속한 노드가 다른 네트워크에 속한 노드와 통신하고 싶을 때, 사용하는 방법이다. 라우팅 테이블을 수정하는 작업은 다음과도 같다.
누군가 거대한 고속버스 터미널에서 당신에게 묻는다. "친구가 10.0.2.18번 터미널의 22번 게이트로 오라고 하는데 어디서 타야돼요?" 당신은 대답한다. " 57022번 게이트에서 타면 거기로 바로 가요"
예를 들어 192.168.3.115의 아이피를 가진 노드가 10.0.2.15의 아이피를 가진 노드와 통신해야 하려면 위와 같은 규칙이 필요하다. 통신 프로토콜이 ssh라면 기본 포트가 22로 되어 있을 것이다(변경하지 않았다는 가정 하에). 따라서 목적지(게스트IP: 10.0.2.18)의 게이트(포트)를 22번으로 설정해야 한다. 나는 192.168.3.115번 버스 터미널(호스트 IP)의 57022번 게이트에서 타야 한다.
위의 그림에서는 10.0.2.18 주소를 가진 컴퓨터와 ssh로 통신하기 위해서 55525번 포트를 사용하였다. 해당 컴퓨터에서 구동중인 톰캣은 8080포트를 사용하고 있으므로, 톰캣과 통신하기 위해서 55526번 포트를 사용하였다.
예를 들어 10.0.2.18번 컴퓨터에 mysql 또는 mariadb가 구동중이라고 가정하자. 기본적으로 3306 포트를 사용하고 있을 것이므로 호스트 포트에 55527, 게스트 포트에 3306을 기입하여 DB와 통신할 수도 있을 것이다. 만약 사용자가 DBeaver와 같은 데이터베이스 툴을 사용한다면, 연결 설정 시 포트에 55527을 기입해 줘야 한다.
---
포트포워딩을 완료했으면 ssh를 사용해서 가상머신에 접속해보자. (단, 이 때 가상머신은 이미 아이피가 10.0.2.18로 설정돼 있어야 한다. 또한 해당 리눅스에 openssh-server가 설치되어 있어야 한다. centOS 리눅스의 경우 openssh-server와 openssh-client가 기본 설치돼 있지만(없으면 설치해주자), 우분투의 경우 openssh-client만 설치돼 있는 경우가 빈번하므로 설치해 주자.
openssh-client : ssh프로토콜을 사용해서 openssh-server가 설치돼 있는 컴퓨터로 접속할 수 있다.
openssh-server : openssh-client를 사용하는 접속을 관리한다. 만약 서버로 사용할 컴퓨터에 이 유틸리티가 설치돼 있지 않다면 ssh를 사용한 해당 컴퓨터로의 접속이 불가하다.
리눅스 네트워크 설정 및 ssh를 통한 접속은 아래의 포스팅 참고.
https://catnails.tistory.com/118
ssh를 사용하여 10.0.2.18 아이피를 가진 컴퓨터에 접속했다. 나는 톰캣의 압축을 /usr/local/에 해제하였다. 따라서 톰캣 관련 파일이 들어있는 디렉토리는 /usr/local/apache-tomcat-8.5.7(이하 tomcat) 이다.
tomcat 디렉토리 안에 있는 webapps 디렉토리에 접근하자. 이곳은 톰캣이 구동시킬 web application 들이 존재해야 하는 곳이다. 그리고 그곳에 존재하는 모든 파일을 삭제하자. (나는 톰캣을 설치한 후 기본 상태임을, 그리고 톰캣이 구동되고 있지 않은 상태를 가정하고 말하는 것이다.) 그리고 내가 만든 어플리케이션을 ROOT.war 파일로 만들어서 넣어주자.
어플리케이션의 이름을 다른 이름으로 하여 넣어주어도 되는데, 또 다른 설정이 필요하므로 이번은 ROOT.war로 진행한 것이다.
ROOT.war를 webapps 디렉토리에 집어 넣었다면, 그곳을 나와서 tomcat의 bin 디렉토리로 이동하자. 여기엔 톰캣을 구동시키고 정지시킬 수 있는 스위치 역할을 하는 쉘 프로그램 ( .sh 확장자를 가진 파일)이 존재한다.
아래의 명령어를 입력하자. (그림 참고)
# ./startup.sh
: 점( . )은 현재 위치라는 뜻이다. 따라서 ./startup.sh 은 현재 위치에 있는 startup.sh 프로그램을 실행하라는 뜻이다. 정상적으로 실행되었다면 Tomcat started 라는 문구를 볼 수 있다.
# ./shutdown.sh
: 톰캣을 구동을 종료하는 shutdown.sh을 실행하라는 이야기이다. 포스팅 내용 중에는 톰캣을 종료하는 그림이 없지만 실습이 끝나면 이 명령어를 사용해서 톰캣을 종료할 수 있다.
다시 tomcat의 webapps 디렉토리를 들어가 보자. ROOT 라는 디렉토리가 새로 생긴 것을 볼 수 있다. ROOT.war 파일의 압축이 해제되면서 생성된 것이다.
인터넷 브라우저의 주소창에 10.0.2.18:8080 에 대응되는 주소를 입력해 보자. 포스팅 상단의 포트포워딩 과정을 떠올려 보라. 192.168.3.115의 55526 포트에서 출발한 요청이 10.0.2.18의 22번 포트에 도착한다고 헀던 설명이 기억날 것이다.
우리가 호스트 컴퓨터에서 보낸 요청은 포트포워딩이라는 해석을 통해 게스트 포트로 들어가게 된다.
192.168.3.115:55526 ==> 10.0.2.18:8080
가상머신의 톰캣에서 구동되는 어플리케이션을 호스트에서도 볼 수 있다.
+ 추가
톰캣 로그 보기.
가상머신의 tomcat 디렉토리의 하위 디렉토리인 logs로 들어가면 catalina.out을 통해 로그를 확인할 수 있다.
# tail -f catalina.out
이렇게 하면 로그가 기록되는 화면으로 변환된다. cli창을 하나 더 열어서 이전의 방법으로 톰캣을 구동하거나 정지시키면 아래와 같은 로그가 나타나는 것을 볼 수 있을 것이다. (이 애플리케이션을 스프링 프레임워크를 사용해 만든 것이므로 spring 로고가 나타난다)
'OS 및 기타 > 리눅스' 카테고리의 다른 글
개발서버 스펙조사 (0) | 2023.03.28 |
---|---|
리눅스 네트워크 설정(Debian 계열, Ubuntu) (0) | 2023.03.25 |
Ubuntu 우분투 환경변수 설정 (0) | 2023.03.08 |
아이피 설정 (0) | 2022.12.22 |
리눅스 권한 및 소유자 변경 명령어 (0) | 2022.08.25 |