Apache Tomcat์ ๋์์ ์ ์ดํ๋ ํต์ฌ ์ค์ ํ์ผ๋ค์ ๋ชจ๋
/conf๋๋ ํ ๋ฆฌ์ ์์นํฉ๋๋ค. ๊ฐ์ฅ ์ค์ํserver.xml(ํฌํธ, ์ปค๋ฅํฐ)๊ณผweb.xml(์ธ์ , MIME)์ ์ญํ ๊ณผ ์์ฃผ ์ฌ์ฉํ๋ ์ค์ ๋ณ๊ฒฝ ๊ฐ์ด๋๋ฅผ ์ ๋ฆฌํฉ๋๋ค.
1. ์ค์ ํ์ผ ๊ฐ์ (Configuration Overview)
Tomcat ์ค์น ๊ฒฝ๋ก ๋ด conf ๋๋ ํ ๋ฆฌ์๋ ๋ค์๊ณผ ๊ฐ์ ์ฃผ์ XML ํ์ผ๋ค์ด ์กด์ฌํฉ๋๋ค.
| ํ์ผ๋ช | ์ฃผ์ ์ญํ ๋ฐ ์ค๋ช |
|---|---|
| server.xml |
Tomcat์ ๋ฉ์ธ ์ค์ ํ์ผ์
๋๋ค. - HTTP/AJP ํฌํธ ์ค์ - ๊ฐ์ ํธ์คํธ(Host) ๋ฐ Context ์ค์ - ์ฐ๋ ๋ ํ(Thread Pool) ๊ด๋ฆฌ |
| web.xml |
๋ชจ๋ ์น ์ ํ๋ฆฌ์ผ์ด์
์ ๊ธฐ๋ณธ ์์ฑ์ ์ ์ํฉ๋๋ค. - ์ธ์ ํ์์์(Session Timeout) ์ค์ - MIME ํ์ ์ ์, ๊ธฐ๋ณธ ์๋ธ๋ฆฟ ๋งคํ |
| context.xml |
์น ์ ํ๋ฆฌ์ผ์ด์
์ Context ์ค์ ์ ๋ด๋นํฉ๋๋ค. - JNDI ๋ฆฌ์์ค(DB Connection Pool) ์ค์ ์ ์ฃผ๋ก ์ฌ์ฉ |
| tomcat-users.xml | Tomcat Manager/Admin ํ์ด์ง ์ ๊ทผ ๊ณ์ ์ ๊ด๋ฆฌํฉ๋๋ค. |
2. server.xml ์ฃผ์ ์ค์ ๊ฐ์ด๋
์์ง๋์ด๊ฐ ๊ฐ์ฅ ๋น๋ฒํ๊ฒ ์์ ํ๋ ํ์ผ์ ๋๋ค. ํฌํธ ์ถฉ๋ ํด๊ฒฐ์ด๋ ์ธ์ฝ๋ฉ ์ฒ๋ฆฌ๋ฅผ ์ํด ํ์์ ์ผ๋ก ํ์ธํด์ผ ํฉ๋๋ค.
1) HTTP ํฌํธ ๋ณ๊ฒฝ ๋ฐ ์ธ์ฝ๋ฉ ์ค์
๊ธฐ๋ณธ 8080 ํฌํธ๋ฅผ 80์ผ๋ก ๋ณ๊ฒฝํ๊ฑฐ๋, ํ๊ธ ๊นจ์ง ๋ฐฉ์ง๋ฅผ ์ํด URIEncoding์ ์ค์ ํฉ๋๋ค.
<!-- ๊ธฐ๋ณธ ์ค์ -->
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<!-- ํ๋ ์ค์ ์์ -->
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8" />
URIEncoding="UTF-8" ์์ฑ์ด ๋๋ฝ๋์์ ๊ฐ๋ฅ์ฑ์ด ํฝ๋๋ค.
2) AJP ํฌํธ ์ค์ (์น ์๋ฒ ์ฐ๋ ์)
Apache HTTP Server์ ์ฐ๋ํ ๋ ์ฌ์ฉํ๋ AJP ํ๋กํ ์ฝ ํฌํธ์ ๋๋ค. ์ฌ์ฉํ์ง ์๋๋ค๋ฉด ์ฃผ์ ์ฒ๋ฆฌํ์ฌ ๋ณด์์ ๊ฐํํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
<!-- ๊ธฐ๋ณธ๊ฐ 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
3. web.xml ์ฃผ์ ์ค์ ๊ฐ์ด๋
๋ชจ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ฉ๋๋ ์ ์ญ(Global) ์ค์ ์ ๋ด๋นํฉ๋๋ค.
1) ์ธ์ ํ์์์ (Session Timeout)
์ฌ์ฉ์ ์ธ์ ๋ง๋ฃ ์๊ฐ์ ์ค์ ํฉ๋๋ค. (๋จ์: ๋ถ)
<session-config>
<session-timeout>30</session-timeout>
</session-config>
2) ๋๋ ํ ๋ฆฌ ๋ฆฌ์คํ ๋นํ์ฑํ (๋ณด์)
ํน์ ๋๋ ํ ๋ฆฌ ์ ๊ทผ ์ ํ์ผ ๋ชฉ๋ก์ด ๋
ธ์ถ๋๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด listings ๊ฐ์ false๋ก ์ค์ ํด์ผ ํฉ๋๋ค.
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value> <!-- true๋ฉด ํ์ผ ๋ชฉ๋ก ๋
ธ์ถ๋จ -->
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
4. tomcat-users.xml (Manager App)
http://localhost:8080/manager ํ์ด์ง์ ์ ์ํ์ฌ GUI๋ก ์ ํ๋ฆฌ์ผ์ด์
์ ๋ฐฐํฌํ๊ฑฐ๋ ์ค์งํ๋ ค๋ฉด ๊ณ์ ์ค์ ์ด ํ์ํฉ๋๋ค.
<tomcat-users>
<!-- ์ญํ ์ ์ -->
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<!-- ์ฌ์ฉ์ ์ ์ -->
<user username="admin" password="password" roles="manager-gui,admin-gui"/>
</tomcat-users>
Next Step:
์ค์ ํ์ผ ์์ ํ์๋ ๋ฐ๋์ Tomcat์ ์ฌ๊ธฐ๋ํด์ผ ์ ์ฉ๋ฉ๋๋ค. ๋ค์ ๋จ๊ณ์์๋ ์ค์ ์ด์ ํ๊ฒฝ์์ ์ฑ๋ฅ์ ์ต์ ํํ๊ธฐ ์ํ JVM ๋ฉ๋ชจ๋ฆฌ ์ค์ (Heap Size)๊ณผ GC ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.
