Post

Tomcat 서브도메인 설정

apache-tomcat-logo

1. server.xml에 Host 추가

$CATALINA_HOME/conf/server.xml를 편집한다.

1
$ sudo vi server.xml
  • server.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
...
<Engine name="Catalina" defaultHost="localhost">

    <!-- 기본 호스트 -->
    <Host name="domain.com"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
            
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
           prefix="localhost_access_log" suffix=".txt"
           pattern="%h %l %u %t &quot;%r&quot; %s %b" />
    </Host>

    <!-- 서브도메인 호스트 추가 -->
    <Host name="sub.domain.com"  appBase="sub_webapps"
            unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
           prefix="localhost_access_log" suffix=".txt"
           pattern="%h %l %u %t &quot;%r&quot; %s %b" />
    </Host>

</Engine>
...
  • name: 추가할 서브도메인명

  • appBase: 웹어플리케이션이 위치할 디렉터리 ($CATALINA_HOME 기준 디렉터리패스 설정)

    • 예) 위의 server.xml 설정에서 domain.com 디렉터리는 $CATALINA_HOME/webapps이고 sub.domain.com 디렉터리는 $CATALINA_HOME/sub_webapps이다.

2. 서브도메인 호스트 컨텍스트 설정

$CATALINA_HOME/conf/Catalina 하위에 추가한 서브도메인명과 동일한 폴더를 만든 후 ROOT.xml을 추가한다.

  • ROOT.xml
1
2
3
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="www/webapps/sub" privileged="true">
</Context>
  • 설정된 디렉터리 구조
1
2
3
4
5
6
7
8
9
10
11
12
$CATALINA_HOME
    ㄴ conf
        ㄴ Catalina
            ㄴ sub.domain.com
                ㄴ ROOT.xml
        ㄴ server.xml
    ㄴ webapps
        ㄴ ROOT
            ㄴ www.domain.com 웹어플리케이션
    ㄴ sub
        ㄴ ROOT
            ㄴ sub.domain.com 웹어플리케이션

[출처 및 참고]

This post is licensed under CC BY 4.0 by the author.