인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

lim01214님의 프로필 이미지
lim01214

작성한 질문수

Jenkins를 이용한 CI/CD Pipeline 구축

실습3) Tomcat 서버에 배포하기

tomcat 서버에 배포하기

작성

·

46

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

image.pngimage.png

hello-world으로 들어가면 찾을 수 없음 오류가 나오는데 어느 부분이 오류인지 잘 모르겠습니다.

답변 3

0

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다.

작업하신 내용을 보면, Tomcat 서버에 배포까지는 잘 되신 것 같습니다.

Tomcat 서버를 어떤 방식으로 기동하셨는지 모르겠지만, 제가 오늘 다시 확인해 본 과정을 공유 드리니 참고 부탁드립니다.

  1. Docker container로 Tomcat 9.0 실행 (만약 Local 환경에 직접 실행 중이라면, 2번으로 넘어가시면 됩니다)

docker run -it -d -p 8088:8080 tomcat:9.0.98-jdk17
  1. Tomcat 서버의 환경 설정 폴더(./conf)에서 Deployer user 추가 (-> 이 부분은 부록에서 설명 드리고 있습니다)

  2. Jenkins 에서 Tomcat 서버로 배포하기 위한 스크립트(Item) 실행

  3. Tomcat 서버의 manager 화면에서 배포 된 애플리케이션(hello-world) 확인 (이부분은 위 첨부해 주신 이미지의 내용과 같습니다)

  4. http://[Tomcat 서버 IP]:[Tomcat 서버 Port]/hello-workd로 접속하여 결과 확인 (ex, htpp://localhost:8088/hello-world)

  5. Docker 로그 확인 (docker logs -f [Container ID 또는 Container Name] (-> 아래는 제가 실행한 로그 화면 결과 입니다)

     

2024-12-17 01:56:42 [http-nio-8080-exec-5] DEBUG com.njonecompany.web.WebInitializer - No ContextLoaderListener registered, as createRootApplicationContext() did not return an application context

17-Dec-2024 01:56:42.773 INFO [http-nio-8080-exec-5] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [/usr/local/tomcat/webapps/hello-world.war] has finished in [689] ms

2024-12-17 01:57:24 [http-nio-8080-exec-9] DEBUG c.n.web.controller.WelcomeController - Welcome to njonecompany.com...

Tue Dec 17 01:57:24 UTC 2024

2024-12-17 01:57:40 [http-nio-8080-exec-7] DEBUG c.n.web.controller.WelcomeController - Welcome to njonecompany.com...

Tue Dec 17 01:57:40 UTC 2024

2024-12-17 01:59:11 [http-nio-8080-exec-3] DEBUG c.n.web.controller.WelcomeController - Welcome to njonecompany.com...

Tue Dec 17 01:59:11 UTC 2024

위 로그 결과를 보시면, hello-wolrd.war 파일이 배포되었다는 부분과, 웹 브라우저에서 호출할 때마다, Welcome to ~ 로그가 출력되는 걸 확인해 보실 수 있습니다.

현재 404 오류가 발생한다는 부분에서 로그에 어떻게 출력되는지 확인해 보시면 좋을 것 같습니다.

저희가 공유해 드렸던 코드에서는 /hello-world를 호출 시 index.jsp와 같은 메인 페이지로 이동되게 되어 있는데, 배포의 문제인지 패키징 된 WAR 파일의 문제인지 로그와 함께 확인해 봐야 할 것 같습니다.

계속 같은 문제가 발생하신다면, 작업하신 환경, 실행 스크립트다 컨테이너 등의 정보와 로그 등도 같이 공유해 주시면, 다시 한번 확인해 보도록 하겠습니다. 게시물에 글 작성하기 어려우시면 아래 메일로 보내주셔도 됩니다.

edowon0623@gmail.com

감사합니다.

0

lim01214님의 프로필 이미지
lim01214
질문자

안되요... 어떻게 해결해야할까요?

0

안녕하세요, 인프런 AI 인턴입니다.

lim01214님께서 경험하신 문제는 Tomcat 서버에 배포한 애플리케이션의 URL로 접근할 때 404 오류가 발생하는 것입니다. 이는 흔히 발생할 수 있는 오류로, 몇 가지 원인과 해결 방법을 제시해 드리겠습니다.

  1. 경로 확인:

    • hello-world 경로가 올바른지 확인해 보세요. web.xml 파일에서 서블릿의 매핑이 hello-world가 맞는지 확인해야 합니다.
    • WAR 파일이 Tomcat 서버의 webapps 디렉터리에 제대로 배포되었는지 체크해 보세요. 파일명이 예상한 대로 hello-world인지 확인합니다.
  2. 로그 확인:

    • Tomcat 서버의 로그 파일(catalina.out)에서 애플리케이션 배포 시 발생한 오류 메시지를 찾아보세요. 이를 통해 어떤 문제가 있는지 더 정확히 파악할 수 있습니다.
  3. Tomcat 설정:

    • conf/tomcat-users.xml 파일에서 적절한 사용자 권한이 설정되어 있는지 확인하세요. 관리자 권한이 있어야 배포 및 관리 작업을 수행할 수 있습니다.
  4. 포트와 URL:

    • Tomcat 서버가 정상적으로 구동되는지 확인하고, 올바른 IP와 포트로 접속하고 있는지 재확인해야 합니다. 보통은 localhost:8080/hello-world 이런 형식입니다.

유사한 문제의 해결책을 찾기 위해 다음의 관련 질문들을 확인해 보시기 바랍니다:

위의 점검 항목을 모두 확인하시고, 404 오류가 지속되면 로그 파일과 환경설정 파일을 더 면밀히 검토해 보시길 권장드립니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

lim01214님의 프로필 이미지
lim01214

작성한 질문수

질문하기