=========================================================================
=========================================================================
================ http://moss.tistory.com/66 에서 퍼옴 ============================
========================================================================
========================================================================
JSP & Servlet 페이지 개발을 위해서는 이 파일들을 수행시켜줄 Web Container가 필요합니다.
이 웹컨테이너 중 하나가 Tomcat이고, Tomcat를 Windows 7 에 설치해 보겠습니다.
우선 아래 사이트에 접속합니다.
http://tomcat.apache.org/
1. 우선 자신에게 필요한 Tomcat 버전을 확인 및 자신의 컴퓨터가 해당 버전을 작동하기에 적절한지 확인합니다.
저의 경우는 기존에 JSP&Servlet을 개발한 적이 없으므로 가장 최신 버전인 Tomcat7을 설치 할 것입니다.
Tomcat 7은 Servlet 3.0, JSP 2.2, EL(Expression Language) 2.2를 구현했고,
Tomcat 7이 작동하기 위해서는 Java 1.6 이상이 필요합니다. Java SDK가 설치되어 있지않은 경우는 Java SDK를 우선적으로 설치하셔야 합니다.
Servlet 3.0 Specification
JSP 2.2 & EL(Expression Laguage) 2.2 Specification
Java 1.6 설치방법
2. Tomcat 7 다운로드 페이지로 이동하여서 자신의 OS 및 bit 수에 맞는 Tomcat을 다운로드 받습니다.
저는 Windows7 64 bit이고, commnad 창에서 설치하기 위해서 64-bit Windows.zip 을 다운받았습니다.
3. 다운받은 zip 파일의 압축을 풉니다.
저는 C:\Java\apache-tomcat-7.0.16 폴더에 압축을 풀었습니다.
4. cmmand 창에서 Tomcat Service를 설치합니다.
우선 '윈도우 키'을 누르고 'cmd' 프로그램을 검색 한 다음 오른쪽 버튼을 클릭해서 '관리자 권한으로 실행'을 클릭합니다.
그 다음 tomcat 압축을 푼 폴더로 이동합니다. 저의 경우는 C:\Java\apache-tomcat-7.0.16 입니다.
그리고 bin 디렉토리로 이동 후 'service.bat install'을 수행하여서 Tomcat Service를 설치합니다.
5. Windows 서비스에서 Apache Tomcat 7을 시작시켜 줍니다.
우선 아래 경로를 통하여서 Windows 서비스 탭으로 이동합니다.
시작 -> 제어판 -> 시스템 및 보안 -> 관리 도구 -> 서비스
(또는 실행 창(윈도우 키 + R) 에서 'service.msc' 실행)
그리고 Apache Tomcat 7 서비스를 찾아서 클릭한 후 서비스 시작을 클릭해서 Tomcat 서비스를 시작시키고, 정상적으로 시작표시가 되는 것을 확인합니다.
추가적 옵션으로 윈도우 시작 시 자동으로 Tomcat Service를 시작시키고 싶으면
'Apache Tomcat 7'을 오른쪽 마우스를 클릭해서 속성을 클릭하여 속성 창에서 시작 유형을 자동으로 변경 후 확인을 클릭하면 Windows가 시작될 때 자동으로 Apache Tomcat 7 서비스가 시작됩니다. 개발을 위한 것이라면 기본적으로 셋팅 해놓는 것이 편합니다.
6. Tomcat이 정상적으로 설치되었는지 확인합니다.
인터넷 브라우저를 실행 시키고 'http://localhost:8080/'로 접속하여서 Tomcat이 정상적으로 설치 된 것을 확인합니다. 아래 그림과 같이 뜨면 정상적으로 설치 된 겁니다.
7. 관리자 권한을 생성해 줍니다.
Tomcat 관리자 페이지에서 웹 페이지를 관리하려면 'Server Status', 'Manager App', 'Host Manager'에 접근하려고 하면 관리자 ID 및 Password가 필요한데, 기본 관리자 계정이 존재하지 않으므로 생성해 주어야 합니다.
저는 ID: tomcat, password:tomcat인 계정을 생성하겠습니다.
관리자 계정을 생성하기 위해서는 Tomcat 설치 폴더\conf\tomcat-users.xml 파일을 수정해 주어야 합니다.
저의 경우 C:\Java\apache-tomcat-7.0.16\conf\tomcat-users.xml 입니다.
기본적으로는 아래와 같이 작성되어있습니다.
아래 쪽에 보면 user 등록에 대한 예시가 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | <!--?xml version='1.0' encoding='utf-8'?--> <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> < tomcat-users > <!-- NOTE: By default, no user is included in the "manager-gui" role required to operate the "/manager/html" web application. If you wish to use this app, you must define such a user - the username and password are arbitrary. --> <!-- NOTE: The sample user and role entries below are wrapped in a comment and thus are ignored when reading this file. Do not forget to remove <!.. ..> that surrounds them. --> <!-- <role rolename="tomcat"/> <role rolename="role1"/> <user username="tomcat" password="tomcat" roles="tomcat"/> <user username="both" password="tomcat" roles="tomcat,role1"/> <user username="role1" password="tomcat" roles="role1"/> --> </ tomcat-users > |
우리는 <tomcat-user></tomcat-user>사이에 우리가 필요한 역활(role) 및 계정(user)를 추가해 주면 됩니다.
기존에 주석처리 되어있는 것은 삭제하였습니다.
그리고 아래처럼 'admin-gui','manager-gui' role을 추가한 뒤
생성한 계정에 위의 두 role 지정해 주면 됩니다.
아래를 참고하여서 파일을 수정하고 저장합니다.
1 2 3 4 5 6 | <!--?xml version='1.0' encoding='utf-8'?--> < tomcat-users > < role rolename = "admin-gui" ></ role > < role rolename = "manager-gui" ></ role > < user username = "tomcat" password = "tomcat" roles = "admin-gui, manager-gui" ></ user > </ tomcat-users > |
그리고 Tomcat Service를 재시작 한 후에 등록한 username과 password를 이용하면 manager 페이지에 접근할 수 있습니다.
이로써 Tomcat 설치가 끝났습니다!
tomcat 설치 후 localhost 접속은 되는데 외부에서 IP로 접속해 들어오면 안되는 경우가 있는데 이럴때는
아래와 같이 하면 됩니다
server.xml 의 connector 태그에 address="0.0.0.0" 을 추가한다.
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" address="0.0.0.0" /> |
========================================================================================= http://www.javamaster.org/lecture/tomcat/tomcat.html 에서 퍼왔습니다. ==============================
======================================================================================
초보자를 위한 개발자 PC에서의 기본적인 Tomcat 설치방법입니다.
이상으로 초보자를 위한 개발자 PC에서의 기본적인 Tomcat 설치방법은 여기서 마무리를 하며, 디비풀링(DBCP) 설정 방법 및 사용방법 등 고급 사용법은 계속 해서 강의를 올리도록 하겠습니다.
======================================================================================
======================================================================================
톰켓 여러 웹 사이트 운용 하기. http://shonm.tistory.com/220 에서 퍼옴
======================================================================================
======================================================================================
Tomcat Web application 만들기
먼저, 웹 루트를 어디로 정할 것인가?
(아파치나 톰캣 자체가 static html을 바라보는 웹 웹루트)
톰켓이 기본적으로 보고 있는 루트 컨텍스트는 webapps/ROOT 이다.
server.xml 내용을 보면
- 96: <Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
와 같이 appBase는 ${catalina-home} 밑의 상대경로를 인자로 받으며,기본적으로 보안과 context의 통일적인 적용을 이유로 컨텍스트의 루트는 ROOT 디렉토리 밑이 됩니다.
따라서, 톰켓이 설치가 되면 웹루트는 ${catalina-home}/webapps/ROOT 가 된다.
(위의 과정대로 설치했다면 우리 시스템에서는 /usr/local/tomcat/webapps/ROOT 가 된다)
이를 3가지 형태로 변경해 사용할 수 있다.
1. webapp 자체를 웹루트 디렉토리로 만들고 싶을 때,
단지, <Host> 태그 내에 아래와 같은 컨텍스트를 추가하면 됩니다.
<Context path="" docBase="." reloadable="true"/>
사실 컨텍스트는 더 많은 옵션이 있으나 여기는 최소한의 사항만 적었습니다. 실서버에 적용할 때는 log 부분도 신경을 써주셔야 합니다. 더 자세한 사항은 웹을 검색해 보시기 바랍니다.
2. webapp/test/ROOT를 웹루트 디렉토리로 만들고 싶을 때,
- 96: <Host name="localhost" appBase="webapps/test"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
3. /home/dev/appName 을 웹루트 디렉토리로 만들고 싶을 때
- 96: <Host name="localhost" appBase="/home/dev/appName" unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false"> - <Context path="" docBase="." reloadable="true"/>
</Host>
또는,
- 96: <Host name="localhost" appBase="/home/dev"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="mywebappdir" reloadable="true"/>
</Host>
Context 를 빼먹으면 ROOT를 자동으로 웹루트로 쓴다.
3번의 설명은 Host의 appBase 경로를 다른 곳으로 돌린 경우에 해당한다.
이러한 경우 다음 항목인 " 별도의 디렉토리를 appBase로 잡을 경우 설정" 내용을 참고하여 진행해야 한다.
우리 시스템(2008년8월 개발서버)은 3번과 같이 별도의 경로를 web, app Base디렉토리로 잡고 진행한다.
p.s.> 톰켓 5.0부터 추가적인 context는 server.xml에 추가하지 않고,
각 웹어플리케이션 디렉토리 별로 META-INF 밑에 context.xml을 추가하게 됩니다.
웹루트를 appBase와 같이 하려면 이의 설정을 server.xml에서 설정해도 무방한 것 같습니다만,
webapps를 루트로 쓰는 것은 특별한 경우가 아니면 지양하는 게 좋으며,
꼭 필요하다면 apache의 redirect를 쓰는 방법 등으로 해결할 수도 있습니다.
별도의 디렉토리를 웹 컨텍스트 루트로 잡을 경우 설정과정
우리 시스템은 다른 하드디스크에 별도로 디렉토리를 생성하였다.
이는 /media/disk 로 마운트되어 있다.
- /media/disk/webapps 디렉토리를 생성해 권한을 사용가능한 일반유저 권한으로 설정한다(mkdir, chown 등 사용)
- 위 디렉토리에 컨텍스트가 될 "test" 디렉토리를 만들고 시험적으로 되는지 확인해 볼 만한 index.jsp 파일 하나를 아래와 같이 대충 만들어 넣는다.
- <html>
<head><title>TEST-INDEX</title>
<body>
<h1>INDEX</h1>
</body>
</html>
톰캣 관리자 화면에서 새로운 어플리케이션이 보여지게 하려면 TOMCAT_HOME /work/Catalina/호스트명(localhost)/{컨텍스트명}test.xml 파일을 아래와 같이 만들어 넣으면
- <?xml version='1.0' encoding='utf-8'?>
<Context path="/test"
docBase="/media/disk/webapps/test"
debug="0"
reloadable="true"
crossContext="true"
/>
톰캣 관리자 화면에서 확인이 될 수 있다.
즉, 호스트 밑에 컨텍스트명과 동일한 컨텍스트 xml 파일을 넣으면 된다는 것이지만, 런타임에만 적용되므로 환경설정에 완전히 적용하기 위해선 컨텍스트 설정에 관한 자세한 설정은 Tomcat 6 컨텍스트 설정방법 을 참고한다.
TOMCAT_HOME : 톰캣 설치 디렉터리
1. 도메인으로 분류하는 방법
TOMCAT_HOME\conf\server.xml 을 열면 기본적으로 하나의 Service 엘리먼트가 있고
그 하위에 Engine 엘리먼트가, 또 그 하위에 아래와 같은 하나의 Host 엘리먼트가 있다.
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
아래와 같이 추가하려는 도메인으로 Host 엘리먼트를 하나 더 추가한다.
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
<Host name="test.sisinfo.com" appBase="/media/disk/webapps/test"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
appBase는 이 컨텍스트의 물리적 영역이 되겠다.
물론 실제의 물리적인 디렉터리도 아래와 같이 필요하다.
/media/disk/webapps/test/ROOT
/media/disk/webapps/test/ROOT/WEB-INF
WEB-INF의 web.xml등은 TOMCAT_HOME/webapps/ROOT/WEB-INF에서 복사한다.
/media/disk/webapps/test/ROOT 디렉터리는 이 컨텍스트의 루트 디렉터리로 작동한다.
여기서 test.sisinfo.com은 추가하려는 도메인이 되겠으며,
실제로 도메인을 보유하지 않고 개발 PC에서 작업하는 경우,
C:\Windows\system32\drivers\etc\hosts 파일을 열고
마지막 줄에 다음을 추가한다.
192.168.10.105 test.sisinfo.com
이제 웹브라우저를 열고 [test.sisinfo.com:포트번호]에 접속하면 된다.
만일 /media/disk/webapps/test/ROOT 가 아닌 /media/disk/webapps/test 를 룰트 디렉터리로 사용하고자 하는 경우에는
server.xml을 다음과 같이 작성한다.
<Hostname="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
<Host name="test.sisinfo.com" appBase="/media/disk/webapps/test"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<context path="" docBase="/media/disk/webapps/test"></context>
</Host>
2. 포트 번호로 분류하는 방법
톰캣에서도 MS의 IIS와 같이 포트 번호에 따라 호스팅하는 것이 가능하다.
TOMCAT_HOME\conf\server.xml 을 열고 아래와 같이 Service 엘리먼트를 추가한다.
<Service name="testdomain">
<Connector port="8090" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="testdomain" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="localhost" appBase="C:\testdomain"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<context path="" docBase="C:\testdomain"></context>
</Host>
</Engine>
</Service>
Service 엘리먼트의 name 속성은 추가하려는 컨텍스트의 이름이 되겠다.
첫 Connector 엘리먼트의 port 속성은 사용하려는 포트 번호를 넣으면 된다.
Host 엘리먼트와 context 엘리먼트, appBase에 대한 물리적 경로 생성은 1항의 설명과 같다.
이제 웹브라우저를 열고 [localhost:포트번호]에 접속하면 된다.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
아파치와 연동없이 톰캣만으로도 하나의 IP로 다수의 웹사이트를 운영하는 것이 가능하다.
(아파치와 톰캣을 연동하는 방법에 대해서는 차후에 자세히 올리도록 하겠다)
특히 개발자의 경우 여러개의 프로젝트를 개발하거나 테스트하고자 할 때 웹사이트를 여러개 운영해야한다. 다수의 웹 사이트를 세팅하는 방법은 크게 2가지가 있다.
- 가상호스트를 이용하는 방법
- IP Address의 port를 여러개 사용하는 방법
가상호스트를 이용하는 방법은 도메인을 이용하여 실제로 서비스를 운영하는 경우가 아니면 개발자에겐 별 의미가 없다. 여기서는 두번째 방법인 IP 어드레스의 포트를 이용하는 방법에 대해서 설명하겠다. (바로가기 : 톰캣에서 가상 호스트를 이용하는 방법)
우선 설치 환경은 다음과 같다.
- O/S : Windows XP (난 아직 리눅스를 잘 모른다. 비슷하겠지만 테스트해보지 않았다)
- Tomcat 6.0 (정확히는 6.0.10) : 다운로드
설명의 편의를 위해 톰캣의 설치 디렉토리는 'TOMCAT_HOME' 으로 표기할 것이다. 참고로 내 경우는 C:\Server\Tomcat6.0 이다.
설정하는 방법은 간단하다. /TOMCAT_HOME/conf/에 있는 server.xml 파일만 수정하면 끝이다. server.xml의 쓸데없는 주석부분을 다 없애고 핵심부분만 남겨놓으면 아래와 같다.
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1"
maxThreads="150" connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /><Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/><Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host></Engine>
</Service>
우선 빨간색으로 표시한 부분만 이해하고 넘어가도 상관없다.
Connector port="8080"은 HTTP로 넘어오는 포트를 지정하는 것이다. 톰캣의 기본 포트가 8080인 이유가 여기에 있다. 따라서 8080 대신 기본 80포트를 사용하고 싶다면? 바로 이 부분을 port="80"으로 바꾸어주면 된다.
다음, Host 지시어의 appBase="webapps" 는 웹어플리케이션(웹사이트)의 위치를 나타낸다. appBase="./webapps"와 같은 의미다. 실제 위치는 TOMCAT_HOME/webapps이다. 물론 "d:/weapps/myweb1" 과 같이 절대경로로 지정하는 것도 가능하다.
그럼 웹사이트를 하다 더 추가하고 싶다면? 위의 <Service>...</Service>를 하나 더 만들어 버리면 된다. 위의 코드를 복사한 다음 server.xml 에 추가한다. 그리고 빨간색으로 표시한 부분만 수정하자.
<Service name="Catalina2">
<Connector port="9090" protocol="HTTP/1.1"
maxThreads="150" connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="localhost" appBase="d:/webapps/myweb2"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>
</Service>
다른 웹어플리케이션을 돌리기 위해 서비스를 하나 더 추가한 것이다.
port="9090" 은 새로 추가하고 싶은 포트이다.
appBase="d:/webapps/myweb2"는 9090 포트에서 돌아갈 웹사이트 위치이다.
이제 server.xml 설정은 끝난 것이다.
마지막으로 웹사이트의 ROOT 디렉토리를 지정해주자. 아래의 폴더를 생성한다.
d:/webapps/myweb2/ROOT/ (
d:/webapps/myweb2/ROOT/WEB-INF/
(WEB-INF 폴더를 만들고 web.xml 파일을 추가한다. 그냥 /TOMCAT_HOME/webapps/ROOT/WEB-INF/에 있는 web.xml 을 복사하면 된다.
무지 간단하다. 하지만 난 이 간단한 것을 위해서 하루종일 삽질해야만 했다. 검색해 보아도 문서는 많은데 실제 도움이 될만한 것이 별로 없었다.
테스트하기 위해 ROOT/index.html 또는 index.jsp를 만든다.
이제 톰캣을 재시작하고 웹브라우저로 접속해 보자.
http://localhost:8080
http://localhost:9090
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
톰캣에서 하나의 IP로 여러개의 웹사이트를 운영하는 방법은 2가지가 있다.
가상 호스트(Virtual Host)를 이용하는 방법 IP Address의 port를 여러개 사용하는 방법
여기서는 가상 호스트를 이용하여 톰캣에서 여러개의 웹사이트를 운영하는 방법에 대해서 설명하고자 한다.
설치 환경은 다음과 같다.
- O/S : Windows XP (Windows Server 동일)
- Tomcat 6.0.10
설명의 편의를 위해 톰캣의 설치 디렉토리는 'TOMCAT_HOME' 으로 표기할 것이다. 참고로 내 경우는 C:\Server\Tomcat6.0 이다.
설정하는 방법은 /TOMCAT_HOME/conf/에 있는 server.xml 파일만 수정하면 된다. server.xml의 쓸데없는 주석부분을 다 없애고 관련 부분만 남겨놓으면 아래와 같다.
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1"
maxThreads="150" connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /><Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/><Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host></Engine>
</Service>
위의 내용에서 핵심 부분은 <Host></Host> 영역이다.
1. 우선 <Connector port="8080" protocol="HTTP/1.1" 부분의 port를 80으로 수정한다.
도메인명이 기본으로 80포트를 사용하기 때문이다.
2. <Host>... </Host> 에 해당하는 부분을 복사하여 2개를 만든다. 그리고 이렇게 수정하자.
<Host name="www.myweb1.com" appBase="d:/webapps/myweb1"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host><Host name="www.myweb2.com" appBase="d:/webapps/myweb2"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
appBase="webapps" 는 톰캣의 기본 웹루트인 TOMCAT_HOME/webapps 디렉토리를 가르킨다. 웹사이트를 원하는 디렉토리에 두고 싶다면 d:/webapps/myweb1 처럼 자기가 지정하고 싶은 곳으로 수정하면 된다.
3. 마지막으로 웹사이트들의 ROOT 디렉토리를 지정해주자. 아래의 폴더를 생성한다.
d:/webapps/myweb1/ROOT/
d:/webapps/myweb1/ROOT/WEB-INF/
d:/webapps/myweb2/ROOT/
d:/webapps/myweb2/ROOT/WEB-INF/
그리고 WEB-INF 폴더 밑에 각각 web.xml 파일을 추가한다. 그냥 /TOMCAT_HOME/webapps/ROOT/WEB-INF/에 있는 web.xml 을 복사하면 된다.
4. 테스트하기 위해 ROOT/index.html 또는 index.jsp를 만든다.
이제 톰캣을 재시작하고 웹브라우저로 접속해 보자.
http://www.myweb1.com
http://www.myweb2.com
정말 간단하지 않은가?
다른건 잘모르겠고,
나만의 완성본 이다. ( 여러개의 호스트 다른 디렉토리로 운영 )
대소문자 꼮 !!!!!!! 반다시~~~~
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
</Host>
<Host name="test1.sumin.wo.tc" appBase="C:\temp1" unpackWARs="true" autoDeploy="true">
</Host>
<Host name="test2.sumin.wo.tc" appBase="C:\temp2" unpackWARs="true" autoDeploy="true">
</Host>
자.. 그럼 위의 내용으로 했으면 톰켓으로 웹사이트 다중 오픈이 가능할것이다.
그럼.. 부득이하게. iis 가 기존이 돌아가고 있다면 ? 그럼 아파치랑 충돌 날것이다.
그럼 충돌을 방지 해야 겠지???
그러기 위해선 iis 로 입력 신호를 받고 jsp 등 java 가 돌아가야 한다면 그 것을 톰켓에 전달하여 처리 해서 다시 리턴값을 받아서 보여주어야 한다.
이때 톰켓포트는 어디로 해야 하나 .~~~ 톰켓만 돌아간다면 80 을 사용해도 무방하나,
iis 와 연동한다면 80 포트를 제외한 다른 포트를 사용해야 한다.
그리고 iis 와 톰켓과의 통신방식은 jk , ajk13 인가? 를 사용하므로 기본포트가 8009 이다.
그럼 머냐 iis 80 으로 받아서 8009 로 다시 보내주는 거다 자동으로..
흠~
설정방법은 아래와 같다.
매우 길고 복잡한 과정이므로 정말 긴급한 필요가 없다면 그냥 톰캣 내장 개발 및 테스트용 웹 서버를 쓸 것을 권하는 바이다.
아래에서는 이미 JDK 또는 JRE와 톰캣이 설치되어 있다고 가정한다. 참고로 톰캣 최신 버전의 경우 JRE 1.5 이상이 필요하다.
OS는 Windows XP Professional을 기준으로 하고, 톰캣은 c:\temp\tomcat 에 설치되어 있다고 가정한다.
아래 주소에서 jk 커넥터 1.2.15를 받아서 설치한다 ( 이상하게 msi 는 이것밖에 없다. )
아래 주소에서 1.2.26 버전의 dll을 받아서, 기존의 것과 교체한다 ( 굳이 안해도..~~~ )
※ 기본 설정으로 설치했다면 리다이렉터는 아래 주소에 설치되므로,
C:\Program Files\Apache Software Foundation\Jakarta Isapi Redirector\bin
위에서 받은 파일을 해당 디렉토리로 옮긴 다음에, 원래 있던 isapi_redirect.dll을 지우고 isapi_redirect.dll로 파일 이름을 바꾸어준다=========( 3 ~ 5 까지는 톰켓 설정을 미리 했다면 완료 되어 있을 내용이다. ) ===============
내 컴퓨터 -> 등록정보 (시스템 등록 정보) -> 고급 -> 환경변수에 (사용자 변수 또는 시스템 변수 어느쪽이든)
CATALINA_HOME과 JRE_HOME (또는 JDK를 설치했다면 JAVA_HOME) 을 추가 또는 수정해준다.
※ 만약 톰캣 설치 과정에서 위와 같은 환경변수 등록을 이미 다 끝냈다면 넘어가도 좋다- ex) 톰캣이 c:\temp\tomcat에 설치되어 있고, JRE 1.6.0이 c:\Program Files\Java\jre1.6.0_05라면
- CATALINA_HOME c:\temp\tomcat
- JRE_HOME c:\program files\java\jre1.6.0_05
- 톰캣이 설치된 패스 밑의 conf 디렉토리에 있는 server.xml 파일을 수정해준다. (ex: c:\temp\tomcat\conf\server.xml)
이 때 각종 설정을 추가할 위치는 </Host> 앞이라고 생각하면 편하다. - 연결하려는 가상 디렉토리 정보를 추가해주어야 한다. 만약! http://localhost/tomcatSample 과 같은 주소를 쓰고 싶다면 다음을 추가해준다.
- <Context path="/tomcatSample" docBase="C:\temp\tomcat\webapps\ROOT" debug="0" reloadable="true" />
※ 위의 주소는 c:\temp\tomcat에 톰캣을 깔았을 때, 톰캣에 기본으로 들어있는 테스트 웹사이트의 주소를 적은 것이다
=======================================================================
isapi connector가 설치된 디렉토리 밑의 conf\urlworkermap.properties 를 수정해준다
/servlets-examples/*=wlb 밑에 다음의 세 줄을 추가해준다
- /=wlb
/*.jsp=wlb
/*.do=wlb
- /=wlb
- IIS 설정 창을 띄운다. 시작 - 실행 - inetmgr (엔터)
- 로컬 컴퓨터 - 웹 사이트에 오른쪽 버튼을 클릭하고 ISAPI 필터 탭을 클릭한다.
추가 버튼을 누르고 다음을 입력한다.
필터 이름: 아무거나 (ex: tomcat connector)
실행 파일: C:\Program Files\Apache Software Foundation\Jakarta Isapi Redirector\bin\isapi_redirect.dll
(아마 기본값으로 설치했다면 위의 경로에 저 파일이 있을 것이다) 가상 디렉토리를 추가해준다. 이걸 안해주면 아마 .jsp 페이지는 제대로 나오는데 그림 등이 제대로 안나와서 화면 다 깨질듯?..
기본 웹 사이트 (오른쪽 버튼 클릭) - 새로 만들기 - 가상 디렉터리 를 클릭한 후
만들려는 가상 디렉토리 이름 isapi 가 있는곳 (ex: tomcatSample) 을 적어주고 그 경로를 지정해준다
ex) C:\temp\tomcat\webapps\ROOT권한은 읽기, 스크립트 실행을 주든지, 읽기만 주든지 하면 된다.
길었다 ㄱ- 이제 서버들을 띄울 차례임.
- 톰캣을 띄운다. 톰캣 밑의 bin\startup.bat 을 통해서 실행하거나, 다른 실행용 배치 파일을 만들어놨다면 그걸 쓰거나, 윈도우 서비스로 등록을 해놨다면 해당 서비스를 재시작한다.
- 웹서버를 다시 띄운다. 시작 - 실행 - iisreset (엔터)
위와 같이 설정했다면 다음 페이지에서 아파치 톰캣의 기본 안내화면을 볼 수 있을 것이다.
- http://localhost/tomcatSample/index.jsp
- 참고로 레지스터를 참고할것.
- 첨부파일
- iis-isapi.reg
- isapi_redirect.msi
'Server Story.... > Windows Server' 카테고리의 다른 글
서비스팩 (0) | 2012.09.20 |
---|---|
윈도우 암호 초기화 " 보안 계정 관리자 초기화 작업을 실패 " (0) | 2012.09.10 |
windows 2008 r2 password reset 윈도우 암호 분실 (0) | 2012.08.24 |
windows update fail (0) | 2012.08.15 |
command 명령 창으로 현재 커넥션 필터링 및 카운트 하기. (1) | 2012.08.05 |