[tomcat]리눅스 환경에서 war배포 후 404에러 뜨는 경우
1. 상황
AWS EC2 Ubuntu를 웹서버 환경 셋팅을 하는 중 tomcat을 깔고 jenkins.war 파일을 배포했다.
이상하게 계속 404(찾을 수 없는 페이지) 에러가 나왔고
아래와 같은 로그를 확인 했다.
hudson.util.NoHomeDir
at hudson.WebAppMain.contextInitialized(WebAppMain.java:126)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4779)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5273)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1566)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1556)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
사실 이 문제로 몇일 검색도하고 이것 저것 설정도 변경해 봤지만 되지 않았고
로그를 먼저 봤어야 하는데 이제야 로그를 봤다.
이 문제는 jenkins뿐만 아니라 war파일로 배포되는 모든 프로젝트가 문제가 있었을 것이다.
2. 문제
리눅스 서버에 tomcat 접근 권한이 없기 때문이다.
3. 해결
$ sudo chown -R tomcat7:tomcat7 /var/lib/tomcat7/
$ sudo chown -R tomcat7:tomcat7 /etc/tomcat7/
$ sudo chown -R tomcat7:tomcat7 /usr/share/tomcat7/
$ sudo service tomcat7 restart
위 해결 방법은 리눅스 서버 상황마다 틀릴 수 있다.
tomcat버전이 틀릴 수도있고 tomcat이 service에 등록되어 있지 않을 수도있다.
그렇기 때문에 자신의 환경에 맞게 권한을 부여하면 된다.
4. 참고
http://stackoverflow.com/questions/21274401/cant-get-jenkins-to-start-using-tomcat
출처 : https://blog.woniper.net/197?category=537962
'Server, WAS > Tomcat' 카테고리의 다른 글
tomcat에서 PUT, DELETE request body 파싱 문제 (0) | 2021.03.21 |
---|---|
Apache Tomcat 가이드 - 설정파일 분석하기 (0) | 2021.03.18 |
Apache Tomcat 가이드 - 설치부터 서비스 등록까지 (0) | 2021.03.18 |
[tomcat] tomcat service 등록 (0) | 2020.09.07 |
Tomcat 8 / tomcat rfc 7230 rfc 3986 오류 (0) | 2020.02.04 |
TLS / SSL 소개 (0) | 2018.10.16 |
tomcat server.xml 의 connector 설정 값. (0) | 2018.10.05 |
Linux Apache2, Tomcat 연동 및 로드밸런싱 설정 (0) | 2018.09.03 |