안녕하세요
저는 Ubuntu Server에서 Tomcat을 설치하고 사용해보려고 했습니다
그래서 install을 하고
server.xml에서 vi editor를 사용해서
localhost(127.0.0.1)의 8080 포트로 설정하고
브라우저(크롬)를 통해 테스트 해보려고 했는데
이렇게 떴습니다
이걸 보고
'나는 이런 걸 설정하지 않았는데...?'
라는 생각에 살짝 당황했어요
그래서 찾아보니 오라클 DB를 사용했으면
거기서 사용하는 응용 프로그램이 8080포트를 사용하도록 설정이 돼있다고 하네요
그래서 포트 번호끼리 충돌이 된다고 보시면 될 것 같습니다
가상 머신이라고 아예 별도의 프로그램이 아니라
Host OS(사용하는 컴퓨터의 OS)의 자원을 가지고
Guest OS(가상머신의 OS)가 사용하는 것이기 때문에
Host OS에서 사용하는 포트 번호를 사용할 수 없습니다
그래서 저는 cmd를 관리자 권한으로 열고
현재 사용되고 있는 포트번호들의 리스트를 찾기로 했습니다
netstat -a -o
이 명령어를 치시면
프로토콜 로컬주소 외부주소 상태 PID 순으로 정보를 보여줍니다
포트 번호 순으로 정렬돼 있으니 자신이 찾는 포트번호를 찾기 쉽습니다
저는 8080포트에 대한 정보가 필요했으니 8080 포트를 찾았습니다
맨 오른쪽에 4360이라는 PID(프로세스 ID)가 있습니다
이제 이 PID를 가지고 이 프로세스가 무슨 프로그램인지 찾아봐야 합니다
tasklist /FI "PID eq 포트번호"
이 명령어를 통해서 이 프로그램이 어떤 프로그램인지 알았습니다
그래서 구글링을 해보니 예상대로 Oracle DB에서 사용하는
TNS Listener라고 하더라고요
아까 로그인하라고 했던 팝업창에
제가 사용하는 Oracle 사용자 이름이랑 비밀번호를 치니까
이렇게 나오네요
다들 학교에서는 Oracle을 설치하고 배운 다음에
Tomcat을 접하다 보니 이런 일이 빈번한가 봅니다
그럼 이제 오라클에서 사용하는 포트 번호를 바꿔줘야 합니다
저는 8080 포트 번호를 9090 포트 번호로 바꿔줬습니다
일단 윈도우 cmd를 통해 sqlplus에 접근합니다
접속을 하고
EXEC DBMS_XDB.SETHTTPPORT(9090);
이 명령어를 통해 포트번호를 바꿉니다
sql을 이용해서 바뀐 포트번호를 확인해줍니다
그리고 이제 가상 머신을 재시작해주고
Tomcat도 다시 시작합니다
(재시작을 하지 않으면 포트번호가 비기 때문에 연결이 안 됩니다)
그리고 다시 127.0.0.1:8080으로 들어가면
이렇게 해결되는 모습이 보입니다
정말 보고 싶었던 고양이 그림이네요
오랜만에 막히는 기분도 들고
이걸 해결하면 오는 쾌감도 오랜만이네요
자격증 공부한다고 외우는 것들만 하다 보니...ㅎㅎㅎ
이것을 시작으로 저는
JSP , Spring을 시작하려고 합니다
이렇게 오류 해결 일기도 계속 쓸 예정이니까
잘못된 부분이나 더 좋은 방법이 있으시면 댓글로 공유해주시면
감사하겠습니다
피트백이나 질문은 언제나 환영입니다
그럼 감사합니다!!
https://javawin.tistory.com/24-포트번호 수정 참고