Spring Boot만 사용해서 WAS를 신경 쓸 일이 없었는데,
최근 Spring MVC 프로젝트를 실행시키다 보니, Tomcat을 볼 일이 많아졌다.
오늘 알아볼 것은 Eclipse 도움 없이 Tomcat에 프로젝트를 띄우기!
1. Tomcat 설치하기
https://tomcat.apache.org/download-80.cgi
Apache Tomcat® - Apache Tomcat 8 Software Downloads
Welcome to the Apache Tomcat® 8.x software download page. This page provides download links for obtaining the latest versions of Tomcat 8.x software, as well as links to the archives of older releases. Unsure which version you need? Specification versions
tomcat.apache.org
위 주소는 Apache Tomcat을 설치할 수 있는 URL이다.
접속 후 좌측의 Downlod 카테고리에서 원하는 Tomcat 버전에 맞추어 설치를 해준다.
필자는 Tomcat 8 Core Zip 파일을 설치해주었다. (프로젝트가 Java 8이라... 최대한 버전 낮추기)
설치 후 원하는 위치에 압축을 풀면 위와 같은 디렉토리 및 파일들이 보일 것이다.
2. 프로젝트 구동을 위한 설정
이제 프로젝트 구동을 위해 프로젝트 Path를 설정해줄 것이다.
압축을 풀어 설치한 Tomcat 구성 파일 내에서 conf\server.xml
파일을 편집기로 열어준다.
해당 파일은 서버 구성을 설정하는 XML로,
우리는 Port 번호 및 프로젝트 위치 설정 정도만 알면 될 것 같다.
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
maxParameterCount="1000"
/>
아래로 내리다보면 <Server>
태그의 자식 태그로 <Connector>
태그를 확인할 수 있다.
해당 태그는 Tomcat 연결 Port를 설정해주는 태그로,
port
속성 변경 시 톰캣이 구동되는 Port가 변경된다.
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<!-- Tomcat Path에 연동할 프로젝트 설정 -->
<Context docBase="{project_name}" path="/{endpoint}" reloadable="true"/>
</Host>
그 아래로 더 내리다 보면 <Host>
태그를 볼 수 있다.
처음 설치하고 난 후엔 <Context>
태그가 존재하지 않을텐데,
태그 내 docBase
속성에는 프로젝트를 알려주고 path
속성에는 endpoint를 임의로 명시하면 된다.
그렇다면 프로젝트를 어떻게 설정할까?
Tomcat의 하위 디렉토리인 webapps에 프로젝트를 옮기면 된다.
.jar
혹은 .war
로 압축해 옮겨도, Tomcat이 자동으로 압축을 해제해준다.
이후 docBase
Value에는 파일명만 기입해주는 것이다.
3. Tomcat Console 한글 깨짐
Tomcat을 실행하게 되면 콘솔 글자가 깨져 안 보일 때가 있다.
이는 Toncat Console의 인코딩이 UTF-8로 설정되어있어 생기는 문제로,
Windows Console은 기본 인코딩이 EUC-KR로 되어있기에
인코딩 방식이 맞지 않아 생기는 문제이다.
이번에는 Tomcat 디렉토리에서 conf\logging.properties
파일을 열어준다.
이후 java.util.logging.ConsoleHandler.encoding
의 Value를 UTF-8
에서 EUC-KR
로 변경해준 뒤,
Tomcat을 재실행하면 Console이 정상 출력될 것이다!
4. 톰캣 실행
가장 쉬운 단계만이 남았다.
Tomcat 디렉토리에서 startup.bat
을 실행시켜주면
localhost:{port}/{endpoint}
로 접속했을 때 프로젝트가 실행된다.