본문 바로가기

IT/Trouble shooting

Apache & Tomcat 연동 후 이미지 안나올때, 깨질떄

Apache와 Tomcat을 연동한 정상적인 상태는

1. http://localhost 했을때 "It Works!" 가 떠야하고

2. http://localhost:8080 했을때 고양이 그림과 함께 톰캣 설치완료 화면이 나와야 하고

3. 연동한 뒤 http://localhost/index.jsp를 했을 때 2번과 같은 화면이 나와야 한다


하지만 3번부분에서 text는 같지만 그림부분 즉, css와 image가 나오지 않는다면 연동은 되었지만, apache와 tomcat의 서로간의 DocumentRoot가 달라서 발생하는 문제이다.


연동을 했기때문에 .jsp 파일을 tomcat으로 넘기려고 하지만 index.jsp 파일 내에 있는 css 파일이나 image 들은 apache에서 처리하려고 하는데 apache의 홈 경로에는 해당 파일들이 없기때문에 그림파일이 보이지 않는 것이다.


이를 해결하기 위해서는 각각 apache와 tomcat 파일의 DocumentRoot 부분을 수정해야 합니다


1. httpd.conf 수정

 vi /usr/local/apache2/conf/httpd.conf

 /DocumentRoot                                          -- DocumentRoot 검색

 DocumentRoot "/usr/local/tomcat/webapps/ROOT"  -- 경로 tomcat 홈으로 수정


2. tomcat 수정

 cd /usr/local/tomcat/conf/Catalina/localhost/

 vi ROOT.xml                                                      -- ROOT.xml 파일 생성

 <?xml version="1.0" encoding="UTF-8"?>

 <Context

    docBase="/usr/local/tomcat/webapps/ROOT/"

    debug="0"

    privileged="true"

    reloadable="true">

 </Context>


이제 apache에 있던 index.html만 톰캣 경로로 복사해주고 http://localhost/index.jsp를 하면 http://localhost:8080과 같은 화면이 나온다