이게 웬일인가.. tomcat 4 버전처럼 server.xml 에 context path 를 추가하지 말란다.
먼말인고..apache 문서를 찾아보니.. 보안등을 이유로 이제는 직접적으로 server.xml 에 context path 를 기술하지 말고 따로 xml 파일을 만들어서 거기다가 context path 를 기술하라고 한다.
갑자기 머리가 아파온다. 왜 기술이 발전하면 할수록 계속 개발방법론이 변화가 되야하나..ㅡ.ㅡ;;
방식은 아래와 같다.
우선 server.xml 의 Host name 에다가 자신이 만들고 싶은 host name 을 기술한다. 그다음 tomcat 설치디렉토리/conf/Catalina/ 디렉토리 밑에 host name 에 기술한 이름의 디렉토리를 만든다. 그리고 그 디렉토리안에 ROOT.xml 파일을 만들어서 context path 를 지정하는 형식이다.
예) 톰캣 설치디렉토리 : C:\web\Tomcat 웹 서비스들 페이지가 있는 디렉토리 : D:\work_nio 웹 서비스 페이지 1 : D:\work_nio\swing.naver.com\WEB-INF\src 웹 서비스 페이지 2 : D:\work_nio\me.naver.com\WEB-INF\src
즉, 톰캣이 설치된 디렉토리에서 웹페이지들 및 소스를 나두는것이 아니고 별도의 디렉토리를 만들어서 이곳에서 웹페이지들 및 소스들 넣고 싶은것이다. 보통 이렇게들 많이 운영을 할것이다. apache 의 virtualhost 를 생각하면 될것이다.
위는 swing.naver.com , me.naver.com 으로 웹 서버를 운영하고 싶은 예를 둔것이다.
< 단계 1 > C:\web\Tomcat\conf\server.xml 편집
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> 이렇게만 있는 부분 바로 아래에 다음과 같이 추가를 해준다.
xmlNamespaceAware="false">
<Host name="me.naver.com" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
그리고 기본적으로 port 는 8080 으로 되어있는데 이렇게 되면 http://swing.naver.com:8080 이런식으로 주소를 넣어야하니 불편하기 그지없다. port="8080" 을 port="80" 으로 변경을 하여 http://swing.naver.com 으로 접속할 수 있도록 해준다.
< 단계2 > C:\web\Tomcat\conf\Catalina 디렉토리 밑에 server.xml 파일에서 입력해준 host name 으로 디렉토리를 만들어준다.
아마 기본적으로 localhost 라는 디렉토리는 있을 것이다. 즉, C:\web\Tomcat\conf\Catalina\swing.naver.com C:\web\Tomcat\conf\Catalina\me.naver.com
< 단계3 > 만들어준 디렉토리밑에 ROOT.xml 파일을 각각 만들어준다. 즉, C:\web\Tomcat\conf\Catalina\swing.naver.com\ROOT.xml C:\web\Tomcat\conf\Catalina\me.naver.com\ROOT.xml
< 단계4 > 이렇게 만들어준 각각의 ROOT.xml 에 바로 context path 를 기술해 주면 된다.
C:\web\Tomcat\conf\Catalina\swing.naver.com\ROOT.xml 의 내용
<?xml version='1.0' encoding='utf-8'?>
C:\web\Tomcat\conf\Catalina\me.naver.com\ROOT.xml 의 내용
<?xml version='1.0' encoding='utf-8'?>
< 단계 5 > 톰캣을 stop 한 후 start 한다.
이제 웹에서 http://swing.naver.com/index.html 하면 나올거에요~
단, D:/work_nio/swing.naver.com/WEB-INF\src 밑에 index.html 파일이 있어야겠고 이런 도메인 주소를 가지고 있어야겠죠.
만약에 지금 내 PC에서 테스트를 하고 싶다면 충분히 localhost 가지고만 하실 수 있습니다. 하지만 자신 PC의 IP로 주위사람들이 웹에서 ip 주소를 입력하여 들어오고 싶을때는 ip로 host name 을 지정하여 위의 단계처럼 만드시면 되겠죠~ |
IT 서비스 바라보기/Programming