비실이의 개발 성장기

[tomcat] Tomcat7.0의 server.xml 설정 본문

Web server & WAS/tomcat

[tomcat] Tomcat7.0의 server.xml 설정

DubbingLee 2016. 12. 3. 21:49

이번 포스팅은


Tomcat7.0의  server.xml 에 대해 알아보겠습니다.





 Q. Tomcat의 server.xml 이 하는 역할은??


A. server.xml은 메인 설정 파일이고 톰캣 startup 초기 설정을 명세하는 책임이 있다. 


server.xml파일의 요소들은 5가지 기본 카테고리에 속한다.


(Top Level Elements, Connectors, Containers, Nested Components, Global Settings)


*참고 : https://yangbongsoo.gitbooks.io/study/content/tomcat_configuration.html




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
<!--  server.xml 의 root element, server의 shutdown port를 지정 함 -->
<Server port="8005" shutdown="SHUTDOWN">  
      |     <!--  server는 1개 이상의  service를 가질 수 있지만, 보통은 server.xml을 분리해서 관리-->
      +---<Service  name="Catalina">   <!-- service는 독립적인 톰캣의 서비스 이다. -->
                  |    <!-- Connector Client와 요청을 주고 응답을 받는 Interface이다. -->
                  +---<Connector port="8080" protocol="HTTP/1.1">
                  |    <!-- Connector 에는 HTTP와 AJP등이 있다. -->
                  +---<Connector port="8009" protocol="AJP/1.3" >  <!-- Apache Jserv Protocol -->
                  |    <!-- Engine은 적절한 Host로 처리를 넘기는 역할을 한다. -->
                  +---<Engine name="Catalina" defaultHost="localhost">
                              | <!-- Realm, Valve Component를 이용하면 Database연결, Single Sing On,
                              +---<Realm>              Access Log등 부가기능을 이용 할 수 있다. -->
                              |
                              +---<Valve>
                              | 
                              +---<Logger>
                              |   <!-- 가상 호스트를 정의한다. -->
                              +---<Host appBase="webapps">
                                          | <!-가상호스트에서 동작하는 하나의  어플리케이션 이다. -->
                                          +---<Context path="" docBase="C:\workspace\project\wiki ">
                                          |
                                          +---<Valve>
                                          |
                                          +---<Realm>
                                          |
                                          +---<Logger>
cs


위 코드는 server.xml 내부 엘리먼트 구조 입니다.


*참고 : http://wiki.gurubee.net/pages/viewpage.action?pageId=26739695





그럼 server.xml 이 어디에 있는지 찾아보겠습니다.



Tomcat 이 설치되어 있는 경로로 이동합니다.







tomcat디렉토리로 이동했으면 


server.xml 파일이 어디에 위치 하는지 알아보겠습니다.


find ./* -name server.xml 을 입력합니다.



./conf 에 server.xml 이 있네요.



명령어 more ./conf/server.xml 을 입력하여 server.xml 내용을 보겠습니다.








상당히 많은 내용이 있으나, 위에서 봤던 server.xml 내부 엘리먼트 구조 입니다.


spacebar 를 누르면 다음 내용을 확인 할 수 있습니다.





지난번 Tomcat 7.0 환경구축 포스팅에서 


Tomcat이 제대로 실행되고 있는지 확인하기 위해


인터넷브라우저에 ip주소:8080 을 입력하고 고양이(?) 페이지가 뜨는 것을 확인했습니다.


우리가 따로 설정하지 않았으나 고양이 페이지가 뜬 것은 server.xml에 기본설정이 잡혀있기 때문입니다.


이를 Document Root Path 라고 합니다.




server.xml 의 끝부분에 오면 <Host> 설정이 되어있습니다.





appBase는 Tomcat 7.0 설치과정에 환경변수 설정을 했는데, 그 때 지정한 $CATALINA_HOME(Tomcat설치 위치) 경로 + 입력값 을 인자값으로 받습니다. 


/usr/local/apache-tomcat/webapps



<Host>의 childElement로 <Context> 를 명시해줘야 하는데... 따로 명시하지 않으면 ROOT를 기본으로 합니다.



즉, Document Root Path는  /usr/local/apache-tomcat/webapps/ROOT 가 됩니다.


그럼 해당 경로로 가보겠습니다.






우리가 ip주소:8080 을 입력하면 출력되는 페이지가 index.jsp 입니다.


확인 차 index.jsp 페이지 내부 내용을 변경 해 보겠습니다.



vi index.jsp 를 입력한 뒤, 아래와 같이 테스트를 위한 구문을 추가하겠습니다.


내용을 저장한 뒤, Tomcat을 재 시작하겠습니다.




Tomcat 중지 / 시작을 하기위해 경로를 Tomcat 디렉토리/bin 으로 이동하겠습니다.




tomcat 중지 명령 : ./shutdown.sh


tomcat 실행 명령 : ./start.sh





tomcat 재실행이 완료되었으면 ip주소:8080을 입력하여 확인해보겠습니다.



테스트를 위해 추가한 내용이 출력된 것을 확인할 수 있습니다.




그 다음으로 Tomcat UTF-8 설정을 하겠습니다.


UTF-8 설정을 해주지 않으면, get 방식으로 전달된 데이터의 경우 한글깨짐이 발생하게 됩니다.




URIEncoding="UTF-8" 을 port 8080 부분에 추가하면 끝입니다.


(URIEncoding 입력 시 I는 대문자 i 입니다...)






다음 포스팅은 


Tomcat log 파일 설정방법에 대해 포스팅 할 예정입니다. 


# 잘못된 내용이 있으면 댓글 남겨주세요.







3 Comments
댓글쓰기 폼