1. JDK 8 설치

2020/04/07 - [IT/JAVA] - [Java] Windows 10 Open-JDK 8 다운로드 및 환경변수 설정

 

2. Tomcat 8.5 다운로드 

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

64bit, 32bit 중 하나를 선택해서 다운로드 해주세요.

32-bit Windows zip (pgp, sha512)
64-bit Windows zip (pgp, sha512)

다운로드가 완료되었다면 원하는 경로에 알집을 풀어주세요.

D:\tomcat\apache-tomcat-8.5.57

 

3. Tomcat 설정

1) URIEncoding UTF-8 설정

D:\tomcat\apache-tomcat-8.5.57\conf\server.xml
URIEncoding UTF-8 설정
...
<Connector port="8080" protocol="HTTP/1.1"
                connectionTimeout="20000"
                redirectPort="8443"
                URIEncoding="UTF-8" />
...

 

2) 콘솔창 한글 깨짐 수정

D:\tomcat\apache-tomcat-8.5.57\conf\logging.properties
1catalina.org.apache.juli.AsyncFileHandler.encoding = EUC-KR

2localhost.org.apache.juli.AsyncFileHandler.encoding = EUC-KR

3manager.org.apache.juli.AsyncFileHandler.encoding = EUC-KR

4host-manager.org.apache.juli.AsyncFileHandler.encoding = EUC-KR

java.util.logging.ConsoleHandler.encoding = EUC-KR

 

3) tomcat manager 설정

D:\tomcat\apache-tomcat-8.5.57\conf\tomcat-users.xml
...
  <role rolename="manager"/>
  <role rolename="manager-gui" />
  <role rolename="manager-script" />
  <role rolename="manager-jmx" />
  <role rolename="manager-status" />
  <role rolename="admin"/>
  <user username="tester" password="1234" roles="admin, manager, manager-gui, manager-script, manager-jmx,  manager-status"/>

...

 

4. tomcat 실행

1) cmd 실행 (윈도우키 + r, cmd 입력) 또는 PowerShell 실행

2) D:\tomcat\apache-tomcat-8.5.57\bin 으로 이동

3) startup.bat 입력

 

5. tomcat Test

1) 기본 페이지

http://localhost:8080

 

2) manager 페이지 

http://localhost:8080/manager
사용자 이름과 비밀번호는 tomcat-users.xml에 설정한 값으로 입력하면 됩니다.

 

6. war파일 올리기

D:\tomcat\apache-tomcat-8.5.57\webapps
위 경로에 war파일을 올린 후 톰캣을 재시작하면 됩니다.

CentOS 7에 Tomcat8을 설치 및 설정하는 예제를 진행하겠습니다. 테스트의 편의성을 위해 root 계정에서 진행하겠습니다.

1. open-jdk 1.8 설치 

jdk가 설치되어 있지 않다면 아래 링크에서 다운로드해주세요.

2020/02/19 - [IT/Linux] - [Linux] CentOS 7에 OpenJDK 1.8 설치

2. tomcat 설치

tomcat은 설치하는 방법이 다양합니다. 이번 예제는 wget을 이용해 설치하겠습니다.

# wget http://archive.apache.org/dist/tomcat/tomcat-8/v8.5.27/bin/apache-tomcat-8.5.27.tar.gz

// 압축 해체
# tar zxvf apache-tomcat-8.5.27.tar.gz

// 톰캣을 /usr/local/로 이동시키고 디렉토리 이름을 tomcat8로 변경
# mv apache-tomcat-8.5.27 /usr/local/tomcat8

3. tomcat 설정 및 환경 변수 등록

vi /usr/local/tomcat8/conf/server.xml
// vi /usr/local/tomcat8/conf/server.xml
// 아래 설정을 찾아서 URIEncoding="UTF-8"을 추가한다.

...
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               URIEncoding="UTF-8" />
...
vi /etc/profile
...

JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64
CATALINA_HOME=/usr/local/tomcat8
CLASSPATH=$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/lib-jsp-api.jar:$CATALINA_HOME/lib/servlet-api.jar
PATH=$PATH:$JAVA_HOME/bin:/bin:/sbin
export JAVA_HOME PATH CLASSPATH CATALINA_HOME
설정 후 아래 명령어 입력 
# source /etc/profile

3. tomcat 실행

startup.sh파일은 tomcat을 실행시키는 shell script입니다. 해당 파일을 실행시켜 tomcat을 작동시켜줍니다.

# /usr/local/tomcat8/bin/startup.sh

tomcat이 실행되고 있는지 확인합니다.

//톰캣 프로세스 확인
# ps -ef|grep tomcat8

// 8080 포트가 열려있는지 확인 
# netstat -tln

 테스트해보기 위해 다음 명령어를 실행시켜줍니다.

# wget http://localhost:8080/

index.html 파일이 다운로드 되었다면 정상적으로 tomcat이 실행되고 있다는 의미입니다. 

index.html 파일은 기본적으로 실행되는 /usr/local/tomcat8/webapps/ROOT WebService에서 다운받은 것이며, 

http://localhost:8080 호출 시,  /usr/local/tomcat8/webapps/ROOT/index.jsp 파일이 index.html로 변환되어 다운됩니다.


4. systemctl 등록

vi /etc/systemd/system/tomcat8.service
# Systemd unit file for tomcat
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target

[Service]
Type=forking

Environment="JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64/"
Environment="CATALINA_HOME=/usr/local/tomcat8"
Environment="CATALINA_BASE=/usr/local/tomcat8"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"

ExecStart=/usr/local/tomcat8/bin/startup.sh
ExecStop=/usr/local/tomcat8/bin/shutdown.sh

User=root
Group=root
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

 

# systemctl daemon-reload
# systemctl enable tomcat8

// tomcat8 실행
# systemctl start tomcat8

5. systemctl service 부팅 시 자동 실행

//부팅 시 자동 실행 서비스 등록
# systemctl enable tomcat8.service
//등록된 서비스 조회
# systemctl list-unit-files --type service |grep tomcat8

 

6. tomcat manager 설정 (해당 설정은 선택사항 입니다.)

tomcat manager란 tomcat 모니터링 및 어플리케이션 관리, WAR 배포 및 다양한 서비스를 제공해주는 관리 페이지입니다.

1) tomcat-users.xml 수정

vi /usr/local/tomcat8/conf/tomcat-users.xml
<tomcat-users xmlns="http://tomcat.apache.org/xml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd" version="1.0">

  <role rolename="manager"/>
  <role rolename="manager-gui" />
  <role rolename="manager-script" />
  <role rolename="manager-jmx" />
  <role rolename="manager-status" />
  <role rolename="admin"/>
  <user username="admin" password="패스워드" roles="admin,manager,manager-gui, manager-script, manager-jmx,  manager-status"/>

</tomcat-users>

 

2) 외부 접근 허용 설정

vi /usr/local/tomcat8/conf/Catalina/localhost/manager.xml
<Context privileged="true" antiResourceLocking="false" docBase="${catalina.home}/webapps/manager">          <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>

설정 후, 서버 재시작

3) 테스트

http://자신의IP:8080/manager

위 주소를 입력하고 ID와 password를 입력면 아래와 같은 웹페이지가 노출됩니다.  

만약 접근이 안된다면 여러가지 이유가 있겠지만, 8080포트로 방화벽이 열려있는지 확인해주시기 바랍니다.
방화벽에 대한 정보는 아래 링크를 이용해주세요.
2020.03.02 - [IT/Linux] - [Linux] firewalld 방화벽 설정하기

'IT > Linux' 카테고리의 다른 글

[Linux] CentOS7에 MariaDB 설치하기  (8) 2020.02.24
[Linux] CentOS 7에 OpenJDK 1.8 설치  (0) 2020.02.19
[Linux] 계정과 그룹관리  (0) 2020.02.12
[Linux] CentOS 7 Git Server 구축하기  (0) 2020.02.11
[Linux] CentOS 7 Mysql 설치  (0) 2019.12.27

+ Recent posts