"안녕, 아미고!"

"안녕하세요, Bilaabo! 오늘 뭐해요?"

"오늘은 Tomcat 웹 서버 설치 방법을 알려드리겠습니다."

Tomcat 설치 및 구성 - 1

"웹서버가 뭐야? 일반 서버가 뭐야?"

"프로그램이 클라이언트-서버 관계라고 하는 상호 작용 방법이 있습니다. 서버는 클라이언트 요청을 처리합니다. 클라이언트는 서버에 요청을 보내고 서버는 요청을 이행하고 결과를 반환합니다."

"매장에서 고객에게 서비스를 제공하는 영업사원을 상상해 보십시오. 이 경우 영업사원은 실제로 서버이고 매장의 고객은 고객이며 영업사원이 판매하는 제품은 요청을 처리한 결과(서버 작업 결과)입니다. ."

"즉, 서버는 고객의 요청/주문/요구를 처리하는 것입니다."

"예."

"그래, 그럼 웹 서버가 뭐지?"

"웹 서버는 사용자 브라우저의 페이지 요청을 처리하는 프로그램입니다."

"브라우저에 특정 URL을 입력하면 요청이 서버로 이동하고 서버는 요청을 처리하고 웹 페이지를 생성한 다음 다시 브라우저로 보냅니다."

Tomcat 설치 및 구성 - 2

"웹 서버는 서버입니다. 브라우저는 클라이언트입니다. URL은 요청입니다. 웹 페이지는 요청을 처리한 결과입니다."

"아. 상황이 점점 명확해지고 있습니다. 즉, 웹 서버는 브라우저용 페이지를 생성하는 프로그램(?)입니다. 그렇죠?"

"예."

"일반 URL을 사용하겠습니다."

URL 구문 분석
http://codegym.cc/alpha/api/contacts ? _ _ _ _ 사용자 ID=13&필터=없음&페이지=3
URL 부분에 대한 설명
codegym.cc 는  인터넷에서 컴퓨터의 고유한 이름(주소)인 도메인 이름  입니다. 
http 는  클라이언트-서버 통신을 위한 프로토콜  입니다. 
alpha/api/contacts는  웹 서버 요청 또는 서버의 웹 페이지 요청입니다.
userid=13 &filter=none & page=3은  웹 서버 요청 또는 서버의 웹 페이지 요청입니다.

"확인해봐. 우리는 컴퓨터를 사서 인터넷에 연결해."

"그런 다음 도메인 이름을 구매합니다."

"그런 다음 웹 서버를 실행합니다."

"이제 도메인 이름과 함께 URL을 입력하여 모든 브라우저에서 이 웹 서버로 요청을 보낼 수 있습니다."

"이해가가는 것 같네요."

"모든 것을 조금 더 명확하게 하기 위해 비유를 나누겠습니다."

URL 대화 구문 분석
영어 :// Jason / pass me 폴더 ? 번호=13
URL 부분에 대한 설명
Jason은  인터넷에서 컴퓨터의 고유한 이름입니다.
영어 는 클라이언트-서버 통신을 위한 프로토콜  입니다.
pass me 폴더는  웹 서버 요청 또는 서버의 웹 페이지 요청입니다.
number=13  은 요청 매개변수가 포함된 문자열입니다.

"아. 확실히 이해가 되네요. 감사합니다."

"그게 다가 아닙니다. 한 대의 컴퓨터에서 여러 웹 서버가 실행되는 경우도 있습니다. 이를 구별하기 위해 번호가 할당됩니다."

"도메인을 건물이라고 생각하세요. 그 건물에 한 가족이 산다면 «5제3화성봉기거리» 같은 식으로 쓰겠죠. 편지 보낼 때."

"이제 여러 가족이 건물에 살고 있다고 상상해보십시오."

"아파트처럼?"

"맞아요! 아주 비슷해요. 비유해주셔서 감사합니다."

"건물 내부에는 많은 아파트가 있습니다. 어떤 아파트는 비어 있습니다. 어떤 아파트는 웹 서버가 점유하고 있습니다. 그리고 웹 서버에 요청을 보낼 때 아파트 번호도 지정해야 합니다. URL에서 이 번호를 포트."

"예를 들어:"

http://codegym.cc:80 / alpha /api/ contacts ? 사용자 ID=13&필터=없음&페이지=3
http://codegym.cc:8080 / alpha /api/ contacts ? 사용자 ID=13&필터=없음&페이지=3
http://codegym.cc:443 / alpha /api/ contacts ? 사용자 ID=13&필터=없음&페이지=3

"실제로 모든 서버는 아파트 건물입니다. 그리고 각 서버에는 65,000개의 아파트(포트)가 있습니다."

"왜 65,000?"

"2바이트는 포트 번호를 나타내는 데 사용됩니다. 65536은 2바이트 길이의 가장 큰 정수 값입니다."

"각 프로토콜(http, https, ftp, ...)에는 자체 기본 포트가 있습니다."

"아파트 호(포트)를 지정하지 않으면 프로토콜의 기본 포트를 사용합니다."

"프로토콜이 http이면 포트는 80입니다. 프로토콜이 https이면 포트는 443입니다."

"즉, 다음 항목은 동일합니다."

URL 그것이 정말로 의미하는 것
http://www.mail.google.com _ http://www.mail.google.com : 80
http://codegym.cc _ http://codegym.cc : 80
http://codegym.cc/alpha _ http://codegym.cc : 80 /알파
https://codegym.cc/api?x _ https://codegym.cc : 443 /api?x

"포트가 444인데 프로토콜이 https라면?"

"이미 말씀 드렸습니다. 포트를 지정하지 않으면 프로토콜에 따라 결정됩니다. 지정하면 지정된 포트를 사용합니다."

"알겠어요."

"인간이 때때로 이름 대신 대명사를 사용하는 방법을 알고 있습니까? I, you, he, …?"

"그래, 하지만 사람들은 본질적으로 이상해. 나는 그것에 주의를 기울이지 않으려고 노력해."

"음, 컴퓨터에도 '나'를 의미하는 도메인 이름이 있습니다. 'localhost'입니다."

" 브라우저에 localhost를 입력하면 브라우저가 컴퓨터에 액세스합니다."

"웹 서버가 설치되어 있으면 웹 페이지를 브라우저로 보냅니다."

"멋지다! 웹 서버를 시작하고 브라우저에서 페이지를 열고 싶다."

"어떻게 하는지 알려줘, Bilaabo. 제발!!! 내 친구잖아?"

"Bilaabo는 친구를 위해 무엇이든 할 것입니다."

"잘 들어."

1 단계
자바 개발 키트(JDK) 설치
결과
JDK가 설치되어 있습니다.

"Bilaabo, 저는 레벨 30 프로그래머입니다. 오래 전에 JDK를 설치했습니다!"

"좋아, 그럼 계속하자."

2 단계
톰캣 9 다운로드
힌트 1:
구글 사용
힌트 2:
Apache Tomcat 공식 웹페이지
힌트 3(Windows 사용자를 위한 직접 링크):
아파치 톰캣 다운로드

"알았어요."

"엄청난."

3단계
Tomcat 9 설치
기본 설치 설정을 사용합니다.
아무것도 변경하지 마십시오.
화면 3
Tomcat 설치 및 구성 - 3
화면 4
Tomcat 설치 및 구성 - 4

"여기서 웹 서버의 이름과 포트를 설정할 수 있습니다. 기본값은 포트 8080입니다.
아무 것도 변경하지 마십시오. 모든 것을 그대로 두십시오."

화면 5
Tomcat 설치 및 구성 - 5

JDK가 설치된 폴더 지정

화면 6
Tomcat 설치 및 구성 - 6
화면 7
Tomcat 설치 및 구성 - 7

"예. 방금 다음을 클릭했습니다. 그게 다입니다."

"좋습니다. 이제 Tomcat 9 웹 서버가 설치되어 실행 중이며 포트 8080에서 요청을 수신합니다. 이것은 소프트웨어 개발을 위한 표준 포트입니다."

"좋아요, 그래서 저는 Tomcat을 가지고 있지만 어떻게 프로그램을 작성할 수 있습니까?"

"흥미로운 무언가, 일종의 멋진 웹페이지를 생성하기를 원합니다."

"좋아, 잠시 쉬고 나서 어떻게 하는지 알려줄게."