서버가 실행되지 않을 때는 여러 가지 경우가 있는데 우선 포트(port) 번호가 충돌 나는 문제가 있고 또 환경변수 설정이 잘못되서 그럴 수 있음


먼저 포트 번호가 충돌 나는지 확인해볼텐데 그 전에 포트(port) 번호가 무엇인지 알아보자

 

서버는 컴퓨터라고도 했고 백화점에 비유했음

백화점에 여러 매장이 있고 백화점 안에 여러 매장이 있으니 옷도 사고 밥도 먹고 놀기도하고 커피도 마시고... 백화점 내 여러 가지 서비스를 이용할 수 있음

서버 컴퓨터에는 여러 서버 프로그램이 실행될 수 있고 서버 컴퓨터에서 동작 중인 서버 프로그램들이 저마다의 서비스를 제공함

 

서버 컴퓨터를 통해 대표적으로 많이 운영하는 서비스가 웹 서비스, DB 서비스가 있음

JSP/Servlet을 배우면 우리도 이 서비스들을 할 수 있게 됨

 

다시 비유로 돌아가서 백화점 내 각 매장의 자리가 있음

그 매장의 자리에 동시에 두 개의 매장을 운영할 순 없음

두 개의 매장을 운영하려면 쪼개야하는데 쪼갤 수 없다고 가정한다면 한 자리에는 한 매장만 운영할 수 있는 것

 

이와 같이 서버 컴퓨터에서 실행되는 서버 프로그램은 저 마다 포트 번호가 있고 포트 번호는 서로 달라야함

A 서버 프로그램이 80번 포트를 사용한다면 B 서버 프로그램은 80번 포트를 쓸 수 없음


이제 포트 번호가 무엇인지 알았으니 톰캣의 얘기로 돌아가자

톰캣은 기본적으로 8080번 포트를 쓰도록 설정되어있음

그래서 톰캣의 포트 번호를 직접 바꿔주지 않는한 톰캣을 실행시키면 8080번 포트를 사용하려하는데 내가 설치한 어떤 프로그램 중에서 나도 모르게 8080번 포트를 사용하는 프로그램이 있어서 톰캣이 실행되지 않을 수 있음

내 컴퓨터에서 실행 중인 서버 프로그램의 목록과 서버 프로그램이 사용중인 포트 번호를 확인해보자

 

우선 시작 버튼 클릭 -> cmd 입력 후 실행 -> cmd 창 내에 netstat -ano 입력 후 엔터(1)

netstat 라는 명령은 사용 중인 포트 번호를 확인할 수 있는 명령으로 -ano 는 옵션임

a : 모든 포트 표시

n : IP주소:포트 형태로 보여줌

o : PID 표시

 

나는 톰캣을 실행시키지 못했는데 netstat 명령의 결과 중 두 번째 항목에 8080 으로 끝나는게 있다면 내 컴퓨터에 어떤 서버 프로그램이 8080번 포트를 사용하고 있다는 것

서버 프로그램이 악성 프로그램일 수도 있지만 그렇지 않을 수도 있으니 넘어가도 무방함

 

이렇게 이미 8080번 포트를 쓰는 서버 프로그램이 있다면 톰캣의 포트 번호를 바꿔줘야함

톰캣의 포트 번호를 바꿀려면 server.xml 파일에서 톰캣이 사용할 포트 번호를 바꿔줘야함

server.xml 파일 안에는 톰캣과 관련된 여러 설정 값들이 들어가 있음

 

톰캣의 포트 번호를 바꾸러 가자

톰캣 폴더(1) -> conf 폴더(2) -> server.xml 우클릭(3) -> 연결 프로그램(4) -> 다른 앱 선택 클릭(5)

 

그 후 [ 추가 앱 ] 클릭(1) -> 메모장 클릭(2) -> [ 항상 이 앱을 사용하여 .xml 파일 열기 ] 클릭(3) -> [ 확인 ] 클릭(4)

 

이제 이와 같이 톰캣과 관련된 여러 설정 값이 들어있는 server.xml 파일이 열렸을 것

 

여기서 스크롤을 좀 내려서 8080이 있는 곳을 찾아 8080 대신 8090 또는 9000 이렇게 8080 이후의 값으로 바꾼 뒤 저장(Ctrl + s)

 

그리고 나서 다시 톰캣을 실행시켜보면 이제 정상적으로 실행될 것

여기까지 톰캣이 실행되지 않는데 포트 번호가 문제일 경우 이를 해결하는 방법을 알아봤음


그외에 포트 번호 문제가 아니라 환경변수를 잘못 추가해 발생하는 문제도 있음

환경 변수 설정하는건 다른 글에서 설명했으므로 아래 글에 들어가서 환경변수 부분을 확인해보자

 

[ JAVA_HOME 환경 변수 설정 ]

 

Chapter01. 개발 환경 구축하기 - JDK 설치

> 1. JRE와 JDK를 구분할 수 있다. 2. JDK 를 설치할 수 있다. 3. 서버를 설치할 수 있다. 4. 이클립스와 서버를 연결할 수 있다. 5. MariaDB를 설치할 수 있다. 전체적인 학습 목표는 위와 같지만 여기서는

codingaja.tistory.com

 

[ CATALINA_HOME 환경 변수 설정 ]

https://codingaja.tistory.com/6

 

Chapter01. 개발 환경 구축하기 - 서버 설치

> 1. JRE와 JDK를 구분할 수 있다. 2. JDK 를 설치할 수 있다. 3. 서버를 설치할 수 있다. 4. 이클립스와 서버를 연결할 수 있다. 5. MariaDB를 설치할 수 있다. 배울 때는 톰캣(Tomcat) 서버를 많이 사용함 실

codingaja.tistory.com

 

여기까지 톰캣이 실행되지 않을 때 체크해야할 것들을 얘기했음

만약 여기 있는 방법으로도 실행되지 않으면 댓글 남겨주세요.

728x90
LIST