APM + Tomcat 연동하기
* 설치에 앞서 APM은 이미 다 설치되어 있다고 가정한다. APM 설치 매뉴얼은 하단 링크 참조
# 설치환경
- CentOS 5.x (64bit)
- Apache 2.2.34
- PHP 5.2.17
- Mysql 5.1.59
- APM 설치 디렉토리 : /home/APM 하단에 설치
- JDK : 7u15 / 설치디렉토리 : /home/APM/java
- Tomcat : 7.0.37 / 설치디렉토리 : /home/APM/tomcat
1. JDK 설치 (java 설치)
- yum install java 명령어로 간단히 설치 할 수 있지만, 관리 편의성을 위해 tar.gz 파일로 설치.
- 하단링크로 이동하여 버전에 맞는 Java SE Development Kit 을 다운 받는다.
- 다운 완료 후 서버에 파일을 업로드.
- JDK링크 : http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
[root@cafe24 src]# tar zxvf jdk-7u15-linux-x64.tar.gz
[root@cafe24 src]# mv jdk1.7.0_15 /home/APM/java
- /etc/profile 파일에 java 경로 및 환경변수를 추가한다.
[root@cafe24 src]# vi /etc/profile
-------------------------------------------------------------------------------------------
for i in /etc/profile.d/*.sh ; do
if [ -r "$i" ]; then
if [ "$PS1" ]; then
. $i
else
. $i >/dev/null 2>&1
fi
fi
done
unset i
unset pathmunge
# Add timestamp to .bash_history
HISTTIMEFORMAT="%Y-%m-%d [%H:%M:%S] "
export HISTTIMEFORMAT
JAVA_HOME=/home/APM/java
PATH="$JAVA_HOME/bin:$PATH"
export JAVA_HOME
-------------------------------------------------------------------------------------------
[root@cafe24 src]# source /etc/profile
2. Tomcat 설치
- tomcat 을 다운받아 압축을 풀고 /home/APM/tomcat 디렉토리로 이동한다
- 링크 : http://tomcat.apache.org 에서 Binary Distributions 버전을 다운 받는다.
[root@cafe24 src]# tar zxvf apache-tomcat-7.0.37-src.tar.gz
[root@cafe24 src]# mv apache-tomcat-7.0.37-src /home/APM/tomcat
- /etc/profile 파일에 tomcat 환경 변수를 추가한다
[root@cafe24 src]# vi /etc/profile
-------------------------------------------------------------------------------------------
for i in /etc/profile.d/*.sh ; do
if [ -r "$i" ]; then
if [ "$PS1" ]; then
. $i
else
. $i >/dev/null 2>&1
fi
fi
done
unset i
unset pathmunge
# Add timestamp to .bash_history
HISTTIMEFORMAT="%Y-%m-%d [%H:%M:%S] "
export HISTTIMEFORMAT
JAVA_HOME=/home/APM/java
PATH="$JAVA_HOME/bin:$PATH"
export JAVA_HOME
CATALINA_HOME=/home/APM/tomcat
PATH=$CATALINA_HOME/bin:$PATH
export CATALINA_HOME
-------------------------------------------------------------------------------------------
[root@cafe24 src]# source /etc/profile
- 정상적으로 실행되는지 확인하고 정지한다.
[root@cafe24 src]#
[root@cafe24 src]#
[root@cafe24 src]# catalina.sh start
Using CATALINA_BASE: /home/APM/tomcat
Using CATALINA_HOME: /home/APM/tomcat
Using CATALINA_TMPDIR: /home/APM/tomcat/temp
Using JRE_HOME: /home/APM/java
Using CLASSPATH: /home/APM/tomcat/bin/bootstrap.jar:/home/APM/tomcat/bin/tomcat-juli.jar
[root@cafe24 src]#
[root@cafe24 src]#
[root@cafe24 src]# ps -ef | grep tomcat
root 18066 1 26 13:05 pts/0 00:00:03 /home/APM/java/bin/java -
Djava.util.logging.config.file=/home/APM/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/home/APM/tomcat/endorsed -classpath /home/APM/tomcat/bin/bootstrap.jar:/home/APM/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/home/APM/tomcat -Dcatalina.home=/home/APM/tomcat -Djava.io.tmpdir=/home/APM/tomcat/temp org.apache.catalina.startup.Bootstrap start
root 18121 4786 0 1318121 4786 0 13:05 pts/0 00:00:00 grep tomcat
[root@cafe24 src]#
[root@cafe24 src]#
[root@cafe24 src]# catalina.sh stop
Using CATALINA_BASE: /home/APM/tomcat
Using CATALINA_HOME: /home/APM/tomcat
Using CATALINA_TMPDIR: /home/APM/tomcat/temp
Using JRE_HOME: /home/APM/java
Using CLASSPATH: /home/APM/tomcat/bin/bootstrap.jar:/home/APM/tomcat/bin/tomcat-juli.jar
[root@cafe24 src]#
3. Mysql-Tomcat 연동
- mysql-connector-java 를 설치한다
- mysql과 tomcat 을 연동하기위한 커넥터이다.
- 링크 : http://dev.mysql.com/downloads/connector/j/ 에서 다운 받는다.
- 또는 이곳에서 다운. http://mirror.cogentco.com/pub/mysql/Connector-J/
- 다운 받은 후 tomcat 라이브러리 디렉토리로 복사한다.
[root@cafe24 src]# tar zxvf mysql-connector-java-5.1.23.tar.gz
[root@cafe24 src]# cd mysql-connector-java-5.1.23
[root@cafe24 mysql-connector-java-5.1.23]# cp -a mysql-connector-java-5.1.23-bin.jar /home/APM/tomcat/lib/
[root@cafe24 mysql-connector-java-5.1.23]#
4. Apache - Tomcat 연동
- 아파치와 연동하기 위해 tomcat connector를 설치한다.
- 링크 : http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/source/
[root@cafe24 src]# tar zxvf tomcat-connectors-1.2.31-src.tar.gz
[root@cafe24 src]# cd tomcat-connectors-1.2.31-src/native
[root@cafe24 native]# ./configure --with-apxs=/home/APM/apache/bin/apxs
checking for target platform... unix
no apache given
no netscape given
configure: creating ./config.status
config.status: creating Makefile
config.status: creating apache-1.3/Makefile
config.status: creating apache-1.3/Makefile.apxs
config.status: creating apache-2.0/Makefile
config.status: creating apache-2.0/Makefile.apxs
config.status: creating common/Makefile
config.status: creating common/list.mk
config.status: creating common/jk_types.h
config.status: creating jni/Makefile
config.status: creating common/config.h
config.status: executing depfiles commands
[root@cafe24 native]# echo $?
0
[root@cafe24 native]# make
[root@cafe24 native]# echo $?
0
[root@cafe24 native]#
[root@cafe24 native]#
[root@cafe24 native]# ll
ÇÕ°è 1656
-rw-r--r-- 1 root bin 5915 10¿ù 18 2009 BUILDING.txt
-rw-r--r-- 1 root bin 65790 10¿ù 22 2010 CHANGES
-rw-r--r-- 1 root root 23712 2¿ù 22 15:35 Makefile
-rw-r--r-- 1 root bin 1362 10¿ù 22 2010 Makefile.am
-rw-r--r-- 1 root bin 23244 10¿ù 22 2010 Makefile.in
-rw-r--r-- 1 root bin 25824 10¿ù 22 2010 NEWS
-rw-r--r-- 1 root bin 1805 9¿ù 3 2007 README.txt
-rw-r--r-- 1 root bin 2211 3¿ù 8 2010 STATUS.txt
-rw-r--r-- 1 root bin 13286 3¿ù 8 2010 TODO.txt
-rw-r--r-- 1 root bin 261581 10¿ù 22 2010 aclocal.m4
drwxr-xr-x 2 root bin 4096 2¿ù 22 15:35 apache-1.3
drwxr-xr-x 3 root bin 4096 2¿ù 22 15:36 apache-2.0
-rwxr-xr-x 1 root bin 1213 5¿ù 14 2009 buildconf.sh
drwxr-xr-x 3 root bin 4096 2¿ù 22 15:36 common
-rw-r--r-- 1 root root 55331 2¿ù 22 15:35 config.log
-rwxr-xr-x 1 root root 100 2¿ù 22 15:35 config.nice
-rwxr-xr-x 1 root root 41698 2¿ù 22 15:35 config.status
-rwxr-xr-x 1 root bin 819872 10¿ù 22 2010 configure
-rw-r--r-- 1 root bin 25756 10¿ù 22 2010 configure.in
drwxr-xr-x 3 root bin 4096 10¿ù 22 2010 docs
drwxr-xr-x 4 root bin 4096 10¿ù 22 2010 iis
drwxr-xr-x 2 root bin 4096 2¿ù 22 15:35 jni
-rwxr-xr-x 1 root root 228737 2¿ù 22 15:35 libtool
drwxr-xr-x 2 root bin 4096 10¿ù 22 2010 netscape
drwxr-xr-x 2 root bin 4096 10¿ù 22 2010 nt_service
drwxr-xr-x 3 root bin 4096 10¿ù 22 2010 scripts
[root@cafe24 native]#
[root@cafe24 native]# cd apache-2.0/
[root@cafe24 apache-2.0]# ll
ÇÕ°è 3152
-rw-r--r-- 1 root root 3176 2¿ù 22 15:35 Makefile
-rw-r--r-- 1 root root 1566 2¿ù 22 15:35 Makefile.apxs
-rw-r--r-- 1 root bin 1474 10¿ù 21 2010 Makefile.apxs.in
-rw-r--r-- 1 root bin 3021 10¿ù 21 2010 Makefile.in
-rw-r--r-- 1 root bin 7088 10¿ù 22 2010 Makefile.vc
-rw-r--r-- 1 root bin 6590 9¿ù 3 2007 NWGNUmakefile
-rw-r--r-- 1 root bin 10243 6¿ù 22 2007 bldjk.qclsrc
-rw-r--r-- 1 root bin 11089 6¿ù 22 2007 bldjk54.qclsrc
-rw-r--r-- 1 root bin 1335 9¿ù 14 2010 config.m4
-rw-r--r-- 1 root root 1721532 2¿ù 22 15:36 mod_jk.a
-rw-r--r-- 1 root bin 129083 10¿ù 22 2010 mod_jk.c
-rw-r--r-- 1 root bin 11395 9¿ù 14 2010 mod_jk.dsp
-rw-r--r-- 1 root root 786 2¿ù 22 15:36 mod_jk.la
-rw-r--r-- 1 root root 309 2¿ù 22 15:36 mod_jk.lo
-rw-r--r-- 1 root root 199248 2¿ù 22 15:36 mod_jk.o
-rwxr-xr-x 1 root root 1071864 2¿ù 22 15:36 mod_jk.so
[root@cafe24 apache-2.0]#
[root@cafe24 apache-2.0]# cp -a mod_jk.so /home/APM/apache/modules/
[root@cafe24 apache-2.0]#
- httpd.conf 파일에 복사한 mod_jk.so 모듈을 추가한다.
- wokers.properties 파일 부분도 추가한다.
- Directory Index 부분에 index.jsp 를 추가한다
[root@cafe24 src]# vi /home/APM/apache/conf/httpd.conf
-------------------------------------------------------------------------------------------
LoadModule speling_module modules/mod_speling.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule redurl_module modules/mod_url.so
LoadModule php5_module modules/libphp5.so
LoadModule jk_module modules/mod_jk.so
<IfModule mod_jk.c>
JkWorkersFile /home/APM/apache/conf/workers.properties
< /IfModule>
<IfModule mod_url.c>
CheckURL On
< /IfModule>
<IfModule dir_module>
DirectoryIndex index.html index.php index.jsp
< /IfModule>
-------------------------------------------------------------------------------------------
[root@cafe24 src]#
- mod_jk에서 사용하는 workers.properties 파일을 작성한다
[root@cafe24 src]# vi /home/APM/apache/conf/workers.properties
-------------------------------------------------------------------------------------------
workers.tomcat_home=/home/APM/tomcat
workers.java_home=/home/APM/java
ps=/
worker.list=ajp13
# Definition for Ajp13 worker
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
-------------------------------------------------------------------------------------------
[root@cafe24 src]# httpd -t
Syntax OK
[root@cafe24 src]#
5. httpd-vhosts.conf 파일 수정
- JkMount 지시자를 사용해 *.jsp로 오는 요청은 workers.properties에 설정된 ajp13 worker로 보내게 된다.
[root@cafe24 src]# vi /home/APM/apache/conf/extra/httpd-vhosts.conf
-------------------------------------------------------------------------------------------
#
NameVirtualHost *:80
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any block.
#
DocumentRoot "/home/APM/apache/htdocs"
ServerName x.x.x.x <------ (IP주소 혹은 도메인)
ErrorLog "logs/dummy-host.example.com-error_log"
CustomLog "logs/dummy-host.example.com-access_log" common
ExpiresActive On
ExpiresByType image/jpeg "acces plus 1 month"
ExpiresByType image/gif "acces plus 1 month"
JkMount /*.jsp ajp13
-------------------------------------------------------------------------------------------
[root@cafe24 src]#
6. server.xml 파일 수정
- 아파치에서 넘어오는 ajp13 worker 를 처리하기 위해서 tomcat의 server.xml 파일을 수정한다.
- 하단의 로 시작하는 부분을 자신의 apache vhosts 설정에 맞게 수정해 준다
[root@cafe24 src]# vi /home/APM/tomcat/conf/server.xml
-------------------------------------------------------------------------------------------
.
.
.
.
<Host name="x.x.x.x" appBase="/home/APM/apache/htdocs"
unpackWARs="true" autoDeploy="true">
<Context path="/" docBase="webapps" reloadable="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" />
</Host>
</Engine>
</Service>
< /Server>
-------------------------------------------------------------------------------------------
[root@cafe24 src]#
7. jsp 동작 확인
- 웹 소스 디렉토리에 테스트용 jsp 파일을 넚고 웹에서 정상 출력되는지 확인해본다.
- 위에서 docBase 를 webapps 라는 디렉토리로 설정했기 때문에 *.jsp 소스는 webapps 디렉토리 하단에 있어야 한다!
webapps 디렉토리가 없다면 appBase 디렉토리 하단에 만들어 주면 된다.
[root@cafe24 src]# mkdir /home/APM/apache/htdocs/webapps
[root@cafe24 src]# cd /home/APM/apache/htdocs/webapps
[root@cafe24 src]# vi test.jsp
-------------------------------------------------------------------------------------------
< html>
< head>
< title>jsp test</title>
< /head>
< body>
<%
int sum = 0;
for(int i = 0; i <= 100; i++) {
sum = sum + i;
}
%>
1부터 100까지의 합은 <%= sum %>입니다.
</body>
< /html>
-------------------------------------------------------------------------------------------
[root@cafe24 src]#
- http://x.x.x.x/test.jsp 파일을 엑세스 해본다. apache와 tomcat이 정상적으로 설정이 되었다면
"1부터 100까지의 합은 5050 입니다" 라는 페이지가 출력 될 것이다.
'시스템운영' 카테고리의 다른 글
[Solaris] 시스템 관리명령 (0) | 2016.01.05 |
---|---|
[LINUX/UNIX] 명령어 요약 (0) | 2016.01.05 |
[시스템 ] 서버관리 확인사항 (0) | 2016.01.05 |
[ MAC ] 맥초보자가 실수하는 몇가지 (0) | 2016.01.05 |
[ LINUX ] CENT OS 5.2 무선랜카드 설치기 2012.11090 (0) | 2016.01.05 |
댓글