server.xml 파일 위치
Tomcat x.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']
1. connectionTimeout : 타임아웃 시간을 지정. 연결 요청 후 URI 요청이 들어오기까지의 대기시간.
2. 기본값은 60초이며 10초 이내로 지정하는게 좋음.(5000은 5초)
3. 시간이 지나도록 연결이 안되지 못하면, 팝업 문구로 실패 메시지가 뜬다.
4. redirectPort="8443" : https로 요청이 들어왔을때 8443번포트로 리다이렉트시킨다
[Connector URIEncoding="utf-8" port="8009" protocol="AJP/1.3"/]
AJP - Apache Jserv Protocol
defaultHost로 처리를 넘긴다.
1. 가상의 호스트를 정의한다.
2. 톰켓의 기본 Document Root는 webapps/ROOT
3. appBase는 $CATALINA_HOME 디렉토리와 상대경로를 받는다.
이때 루트는 $CATALINA_HOME/webapps/ROOT
[Context path="/mng" docBase="D:/workspace/mng/webroot" reloadable="true"]
1. 가상호스트에 동작하는 하나의 웹 어플리케이션
2. docBase - 디렉토리를 절대경로로 지정을 하면 원하는 디렉토리를 Document Root로 사용 할 수 있다.
Host의 appBase 디렉토리에 대한 상대경로명을 지정할 수도 있다
3. path - docBase의 할당위치
4. 주소창에 http://localhost:8080/mng- 호스트명+포트+path
→ D:/workspace/mng/webroot
5. reloadable - true로 지정하면, Catalina는 /WEB-INF/classes/와 /WEB-INF/lib 안 클래스 들의 변경여부를 체크하여 변경이 발생하면 웹어플리케이션을 자동으로 재적재(reload) 함.
※ docBase를 아래 처럼 프로젝트명(mng)만 입력해도 상관없음.
(위의 경우는 jsp파일에서 include되는 js파일 버전을 수정시, 경로를 찾지 못하는 오류가 있어서 하위까지 입력)
[Context path="/drug" docBase="mng" reloadable="true" source="org.eclipse.jst.jee.server:drug"]
docBase를 프로젝트명(상대경로)로 한다면, 뒤에 source(처음 톰캣 연결시 생기는)부분을 변경하면 안됨.
톰캣에 Deploy하면 workspace\.metadata\.plugins에 서버에 올라갈 프로젝트 구조가 생성되는데
서버가 파일들을 찾아가는 경로가 된다.
OR
[Context path="/drug" docBase="drugadmin" reloadable="true" source="D:/workspace/drugadmin/WebContent"]
이런식으로 Source에 workspace상 디렉토리를 적어준다.
[참고]
'공부방 > Java' 카테고리의 다른 글
web.xml 생성 (0) | 2022.11.05 |
---|---|
Maven없이 JAVA 프로젝트 만들기 (0) | 2022.11.05 |
favicon.ico 에러 (0) | 2021.03.01 |
접속환경이 모바일이면 index변경 (0) | 2021.02.13 |
SpringSecurity Authentication관련 클래스와 처리 (0) | 2021.01.01 |