일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 구로파티룸
- mysql
- 옥길파티룸
- 휴식
- 서울파티룸
- 옥길요거트
- 스컬킹점수계산
- 파티룸
- 해외여행
- 스컬킹
- 일
- 스컬킹점수
- 옥길그릭요거트
- 착한코딩
- 광명파티룸
- 스페이스우일
- 웹개발
- 보드게임점수
- MBTI
- 가장존경하는인물
- 그릭요거트
- 존경하는위인
- 코딩
- 부천공간대여
- 취미
- 보드게임점수계산
- 부천파티룸
- 옥길동요거트
- 개발자
- 옥길동파티룸
- Today
- Total
SIMPLE & UNIQUE
server.xml의 이해<Apache Tomcat 서버> 본문
Apache Tomcat
- 아파치 톰캣(Apache Tomcat)은 아파치 소프트웨어 재단(ASF:Apache Software Foundation)에서 개발
- 서블릿 컨테이너가 있는 웹 애플리케이션 서버(WAS)
- 톰캣은 웹 서버와 연동하여 실행할 수 있는 자바 환경을 제공
- 자바 서버 페이지(JSP)와 자바 서블릿이 실행할 수 있는 환경을 제공.
1. server.xml 의 이해
<server.xml 파일 기본 디렉토리>
-C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\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>
<Server port="8005" shutdown="SHUTDOWN">
- 서버는 지정된 포트를 통해 shutdown명령어를 받는다.
**Connector 엘리먼트
요구를 <Engine>에 건네 주는 역할한다.
<Serviced>는 하나 이상의 <Connector>를 갖을 필요 있다.
사용자가 HTTP 또는 HTTP/SSL 등 여러가지 방법으로 요구를 보내면
요구조건과 맞는 <Connector>들이 응답하며, 이를 받은 <Engine>은 매번 동일하게 처리한다.
<Connector connectionTimeout="5000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
- connectionTimeout - 타임아웃 시간을 지정한다. 연결 요청 후 URI 요청이 들어오기까지의 대기시간이다.
기본값은 60초이며 10초 이내로 지정하는게 좋다.(5000은 5초) - 시간이 지나도록 연결이 안되지 못하면, 팝업 문구로 실패 메시지가 뜬다.
- redirectPort="8443" - https로 요청이 들어왔을때 8443번포트로 리다이렉트시킨다
<Connector URIEncoding="utf-8" port="8009" protocol="AJP/1.3"/>
- AJP - Apache Jserv Protocol
- 적절한 host로 처리를 넘긴다.
- 가상의 호스트를 정의한다.
- 톰켓의 기본 Document Root는 webapps/ROOT
- appBase는 $CATALINA_HOME 디렉토리와 상대경로를 받는다.
- 이때 루트는 $CATALINA_HOME/webapps/ROOT
<Context path="/drug" docBase="D:/workspace/drugadmin/WebContent" reloadable="true" >
- 가상호스트에 동작하는 하나의 웹 어플리케이션
- docBase - 디렉토리를 절대경로로 지정을 하면 원하는 디렉토리를 Document Root로 사용 할 수 있다.
Host의 appBase 디렉토리에 대한 상대경로명을 지정할 수도 있다 - path - docBase의 할당위치
- 주소창에 http://localhost:8080/drug - 호스트명+포트+path
- => D:/workspace/drugadmin/WebContent
- reloadable - true로 지정하면, Catalina는 /WEB-INF/classes/와 /WEB-INF/lib 안 클래스 들의 변경여부를 감시하다가, 변경이 발견되면 웹어플리케이션을 자동으로 재적재(reload)한다.
####docBase를 아래 처럼 프로젝트명(drugadmin)만 입력해도 상관없다.######
(위의 경우는 jsp파일에서 include되는 js파일 버전을 수정시, 경로를 찾지 못하는 오류가 있어서 하위까지 입력했다)
<Context path="/drug" docBase="drugadmin" reloadable="true" source="org.eclipse.jst.jee.server:drug">
- docBase를 프로젝트명(상대경로)로 한다면, 뒤에 source(처음 톰캣 연결시 생기는)부분을 그대로 두어야 한다.
- 톰캣에 디플로이하면 workspace\.metadata\.plugins에 서버에 올라갈 프로젝트 구조가 생성되는데
- 서버가 파일들을 찾아가는 경로가된다.
- 또는
- <Context path="/drug" docBase="drugadmin" reloadable="true" source="D:/workspace/drugadmin/WebContent">
- 이런식으로 Source에 workspace상 디렉토리를 적어준다.
'Java & Spring > Guide' 카테고리의 다른 글
JSP 내장 객체 (0) | 2017.08.16 |
---|---|
out 내장 객체 (0) | 2017.08.16 |
request 내장 객체 (0) | 2017.08.16 |
Java instanceof 연산자 (0) | 2017.03.31 |
Web.xml (0) | 2017.03.13 |