CentOS 7에서 톰캣 8.0.52 버전 컴파일 설치하는 방법과 서비스를 등록 및 배포를 위한 Tomcat Manager를 사용해보도록 해보겠습니다.



1. 의존성 설치

# yum install -y wget




2. 톰캣 설치

톰캣 공식 사이트( 링크 )에서 톰캣 8.0.52.tar.gz 파일의 다운로드 주소를 복사합니다.



그리고 톰캣 파일의 알집을 해제하고, 라이브러리 관리를 편리하게 하기 위해 /usr/local/victolee 디렉터리를 만들어서 톰캣 파일을 옮깁니다.

# wget http://apache.tt.co.kr/tomcat/tomcat-8/v8.0.52/bin/apache-tomcat-8.0.52.tar.gz

# tar xvfz apache-tomcat-8.0.52.tar.gz

# mv apache-tomcat-8.0.52 /usr/local/victolee/tomcat8.0.52





3. 환경 변수 설정

JDK를 설치했을 때와 마찬가지로, 어느 디렉터리에서나 tomcat을 실행 할 수 있도록 환경변수를 설정해야 합니다.

그리고 톰캣은 java 프로그램이므로 JDK가 설치되어 있어야 합니다. ( JDK 설치는 여기를 참고해주세요 )

# vi /etc/profile
#tomcat
export CATALINA_HOME=/usr/local/victolee/tomcat8.0.52

 

# source /etc/profile





4. 톰캣 환경 설정

다음으로 톰캣 환경 설정 파일인, server.xml 파일에서 톰캣의 port 확인 및 URI Encoding을 추가 하도록 하겠습니다.

# vi /usr/local/victolee/tomcat8.0.52/conf/server.xml

( connectionTimeout을 검색해서 Connector 정보를 다음과 같이 수정 합니다. ( line : 69 ) )

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





5. 톰캣 실행 및 테스트

이제 톰캣을 실행하고 브라우저에서 접속해보도록 하겠습니다.

# /usr/local/victolee/tomcat8.0.52/bin/startup.sh # ps -ef | grep tomcat


ifconfig로 IP를 확인한 후, 브라우저에서 접속해봅니다.  ( 저 같은 경우는, http://192.168.245.132:8080 )

주의 할 것은 server.xml 파일에서 본 것처럼 포트가 8080이라는 것입니다.



보시는 바와 같이 톰캣 페이지가 응답되면 톰캣 설치가 잘 된 것입니다.





6. 서비스 등록

이번에는 서버가 실행되면 tomcat이 자동으로 실행되도록 서비스를 등록하겠습니다. ( 서비스에 대해서는 여기를 참고해주세요 )

서비스를 등록하지 않으면 매 번 /usr/local/victolee/tomcat8.0.52/bin/catalina.sh start 명령으로 tomcat을 실행해야 합니다.

서비스를 등록하기 전에 실행되고 잇는 tomcat 프로세스를 종료 하고 진행합니다.

# /usr/local/victolee/tomcat8.0.52/bin/catalina.sh stop


# vi /usr/lib/systemd/system/tomcat.service [Unit] Description=tomcat8 After=network.target syslog.target [Service] Type=forking Environment=JAVA_HOME=/usr/local/victolee/jdk1.8 User=root Group=root ExecStart=/usr/local/victolee/tomcat8.0.52/bin/startup.sh ExecStop=/usr/local/victolee/tomcat8.0.52/bin/shutdown.sh UMask=0007 RestartSec=10 Restart=always


SuccessExitStatus=143

[Install] WantedBy=multi-user.target





7. 서비스 관리

마지막으로 서비스를 활성화 시킵니다.

서비스가 등록이 되었는지 확인하기 위해 재부팅을 한 후, 프로세스를 확인하는 것으로 테스트를 마칩니다.

재부팅을 했는데 톰캣이 돌아가고 있으면 서비스 등록이 성공적으로 된 것입니다.

# systemctl enable tomcat.service
# systemctl start tomcat.service
# ps -ef | grep tomcat

# reboot
# ps -ef | grep tomcat





8. Tomcat Manager

다음으로는 톰캣에 설치된 애플리케이션 관리 및 톰캣 서버를 관리하는 GUI 환경의 Tomcat Manager를 사용해보도록 하겠습니다.

이 글에서는 배포하는 목적으로 Tomcat Manager를 이용하려 합니다.


우선은 DB를 사용하지 않는 간단한 웹 애플리케이션을 war 파일로 준비합니다.


*참고

서버에 DB가 설치되어 있다면 웹 애플리케이션에서 DB의 연결을 서버 환경에 맞게 재설정을 해줘야 합니다. 

applicationContext.xml

<!-- Connection Pool DataSource -->

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">

     <property name="driverClassName" value="com.mysql.jdbc.Driver" />

     <property name="url" value="jdbc:mysql://IP주소:3306/데이터베이스명" />

     <property name="username" value="사용자명" />

     <property name="password" value="비밀번호" />

</bean>

서버에서도 같은 이름의 데이터베이스와 사용자가 존재해야 합니다.

*



그리고 tomcat-users.xml 파일을 수정해서 Tomcat Manager를 등록합니다.

# vi /usr/local/victolee/tomcat8.0.52/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="admin" password="manager" roles="admin,manager,manager-gui, manager-script, manager-jmx, manager-status"/>


Tomcat Manage는 브라우저에서 접속을 하는데, 그러기 위해서는 아이디와 비밀번호가 필요합니다.

위의 설정에 따르면 아이디는 admin이고, 비밀번호는 manager입니다.



다음은 manager.xml 파일을 생성하여, Context를 등록합니다.

아래의 설정은 외부 서버에 대한 모든 접근을 허용하겠다는 의미입니다.

# vi /usr/local/victolee/tomcat8.0.52/conf/Catalina/localhost/manager.xml

<Context privileged="true" antiResourceLocking="false" docBase="${catalina.home}/webapps/manager"> <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" /> </Context>



이제 Tomcat Manager에 접속해보겠습니다.

톰캣을 수정했으므로 톰캣을 재시작하고, 브라우저에서 IP주소/manager (저 같은 경우는, http://192.168.245.132:8080/manager )으로 접속해서 아이디와 비밀번호를 입력합니다.

# systemctl restart tomcat.service




마지막으로 배포 작업을 해보도록 하겠습니다.

Tomcat Manager에서 "파일 선택"을 누른 후 처음에 준비했던 war 파일을 올립니다.

그리고 "deploy" 버튼을 누르면 Applications 목록에 애플리케이션이 추가가 될 것입니다.


만약 웹 애플리케이션의 프로젝트이름이 example라면, 브라우저에서 IP주소/example( 저 같은 경우는, http://192.168.245.132:8080/example/~~ )으로 접속해서 애플리케이션에 접근할 수 있습니다.




이상으로 톰캣8.0.52 버전을 설치하고, 서비스 등록 및 Tomcat Manager를 이용해서 배포작업까지 해보았습니다.