💙 들어가며
서버를 띄워보자. 첫번째 단계 톰캣 깔기!
그리고 IP주소를 이용해서 옆짝꿍의 홈디렉토리에 접속해보자.
✏️ 학습내용 정리
#톰캣을 깔아보자
서버를 이용해보기 위해서 톰캣을 먼저 설치해보자.
1. 톰캣을 깔기위해 아파치 사이트에 접속한다.
Welcome to The Apache Software Foundation!
Official ASF reports and statements, including Quarterly and Annual Reports, Vision Statement, "Apache is Open", 5-Year Strategic Plan, and more.
apache.org
2. 하단으로 스크롤을 쭉 내려서 tomcat을 찾는다.
3. Tomcat 10 을 클릭한다.
4. zip파일 형태로 다운로드 받는다.
💡 해결했던 오류: FileNotFoundException
C드라이브에 설치파일을 깔 경우에 권한설정 등의 문제가 있을 수 있다.
C드라이브가 아닌 디스크에 설치하도록 하자!
5. 내컴퓨터>오른쪽마우스 클릭>속성>시스템>고급 시스템 설정>고급>환경변수에서
시스템변수에 JAVA_HOME을 새로등록하고 jdk폴더가 있는 경로를 붙여넣는다.
톰캣은 jdk를 이용해서 실행하게 되는데 경로를 찾지 못하면 닫히게 된다.
때문에 환경변수를 설정해주어야 하는데,
톰캣을 위해 약속된 환경변수 명은 JAVA_HOME이다.
시스템변수에> JAVA_HOME을 추가한다.
이때 jdk경로는 bin config, lib등 폴더가 보이는 선까지의 경로를 말한다.
💡 사용자변수와 시스템변수
사용자변수: 계정별로 설정하는 것이다.
시스템변수: 모든 계정에 다 적용되는 것이다.
6. 그리고 기존 시스템변수>path에 있는 jdk 경로를 %JAVA_HOME%/bin으로 바꿔준다.
💡 Path 변경
기존: C:\Program Fiels (x86)\Tools\jdk-17.0.7+7/bin
변경: %JAVA_HOME%/bin
기존에 Path에 jdk 경로가 있는데 JAVA_HOME이랑 똑같은 부분까지를
JAVA_HOME으로 치환한다.
%JAVA_HOME%\bin(환경변수의 값을 꺼내서 사용하는 뜻이 %이다. 앞뒤로 % 넣기)
7. 설치파일에 들어와서 startup.bat (배치파일)을 더블클릭해서 연다.
8. cmd에서 정상적으로 JAVA_HOME을 인식하는지 확인한다.
cmd>echo %JAVA_HOME%을 검색했을 때 jdk경로가 정상적으로 보이면 성공!
9.톰캣을 켜놓은 상태로 인터넷 주소창에 http://localhost:8080을 입력하면 접속 성공!
💡 톰캣 실행창을 켜놓아야지만 서버에 접속할 수 있다.
톰캣 실행창이 곧 클라이언트가 되기 때문에 클라이언트가 없으면 실행되지 않음
#홈디렉토리
웹서버는 홈디렉토리를 가진다. 그렇다면 내 웹서버의 홈디렉토리는 어디일까?
압축을 해제했던 곳으로 가면 webapps라는 폴더가 있다.
(웹 앱들이 존재하는 디렉토리라는 뜻)
이 폴더 안에 다양한 폴더를 추가할 수 있는데,
기본적으로 있는 폴더가 ROOT이고 이것이 바로 홈디렉토리가 된다.
여기 ROOT 폴더에 내가 원하는 폴더나 파일을 추가하면 이것을 제공할 수 있다.
IP주소:8080/찾으려는 파일.txt을 하면 홈디렉토리에 접근할 수 있다.
💡 접근이 안되는 경우
1. 방어벽 설정을 하지 않은 경우
2. 공유기 IP인데 다른 네트워크상에 있는 경우
공유기가 아니라 내 고유 IP인 경우에는 전세계에서 접근할 수 있다.
이것을 바로 배포라고 한다.
#context
리소스가 많이 생기면 폴더를 별도로 두어서 관리할 수 있다.
그런데 naver처럼 큰 사이트들은 하나의 root폴더에 모든 폴더가 들어가 있을 수는 없다.
이때 (실제 root 폴더에는 그 폴더가 없지만) 가상의 폴더를 두어서 연결한다.
이 가상의 폴더(디렉토리)를 context folder라고 한다.
그렇다면 이 context 폴더를 어떻게 root와 연결할까?
tomcat>config>server.xml에서 편집
이때 설정이 잘못되면 톰캣이 아예 꺼지기 때문에 복사본을 만들어서 편집한다.
(원본을 망가뜨려도 문제 없도록)
xml을 VSCode로 열어서 편집한다.
이때 사이띄우기 등 하나라도 잘못 입력하게 되면 서버가 열리지 않는다. 주의.
마지막으로 톰캣을 껐다가 다시 열면 성공적으로 test라는 context 폴더명으로 접속하기 성공이다!
(root폴더에 test라는 이름의 폴더를 만든적이 없지만 이 경로로 들어갈 수 있어서 context 폴더라고 부른다.)
아무 경로에나 설정할 수 있다.
💙 마치며
1.
처음에 바로 서버가 작동되지 않아서 당황했었는데,
알고보니 c드라이브에 깔았기 때문이었다.
설치파일은 별도의 디스크에 다운로드 받는 습관을 들여야겠다.
💡 해결했던 오류: FileNotFoundException
C드라이브에 설치파일을 깔 경우에 권한설정 등의 문제가 있을 수 있다.
C드라이브가 아닌 디스크에 설치하도록 하자!
'SERVER│SERVLET' 카테고리의 다른 글
[뉴렉처 6기] SERVLET│JSP의 단점(스파게티 코드)│MVC 모델(1, 2)│EL│태그라이브러리(JSTL) (0) | 2023.09.10 |
---|---|
[뉴렉처 6기] SERVLET│WAS 실행단계│서블릿의 생명주기│ServletContext (0) | 2023.09.10 |
[뉴렉처 6기] SERVLET│쿼리 스트링│JSP입문│재스퍼│코드블록 (0) | 2023.09.10 |
[뉴렉처 6기] SERVLET│서버설정│Annotation│매핑과 배포(IDE버전) (0) | 2023.09.10 |
[뉴렉처 6기] SERVLET│서블릿이란?│WS와 WAS│매핑과 배포(CMD버전) (0) | 2023.09.01 |