티스토리 뷰

ubuntu 14.04 LTS 서버에서 톰캣인스턴스 여러개 생성하기

참고: https://help.ubuntu.com/lts/serverguide/tomcat.html


1. 개요

톰캣 인스턴스 여러개 생성하여, 가용성을 높이는 등 성능과 장애 대응 측면에서 유리한 점이 있지 않을까 합니다. 이전 게시물에서 톰캣을 설치한 상황을 가정해서 아래와 같이 인스턴스를 생성하고 아파치 설치 후 로드밸런싱 설정을 목표로 하지요..

2. 방법

2.1. 필요 패키지 설치

우선 아파치를 먼저 설치합니다.

$ sudo apt-get install apache2

브라우저 열고 해당 서버 아이피를 입력하여 기본 웹페이지가 잘 나오는지 확인해봅니다.


이전 게시물에 톰캣을 설치하였으니 추가적으로 tomcat7-user라는 패키지를 설치합니다.

$ sudo apt-get install tomcat7-user

2.2. 톰캣 인스턴스 생성 등 설정

필요한 패키지를 설치하였고, 아래 명령어로 추가할 인스턴스를 생성합니다. 마지막 인스턴스명에 특별히 경로를 지정하지 않으면 저 명령을 실행한 위치에 디렉토리를 생성합니다.

$ sudo tomcat7-instance-create -p 8088 -c 8006 /var/lib/tomcat7-01
You are about to create a Tomcat instance in directory 'tomcat7-01'
* New Tomcat instance created in tomcat7-01
* You might want to edit default configuration in tomcat7-01/conf
* Run tomcat7-01/bin/startup.sh to start your Tomcat instance

이중화를 목표로 하니 소스 디렉토리를 같게 해보겠습니다. 기본으로 설치하면 웹어플이 /var/lib/tomcat7/webapps이고, 추가로 설치한 인스턴스 또한 인스턴스명 이하 webapps이므로 아래와 같이 심볼릭 링크 하나 걸어줍니다.

$ sudo ln -s /var/lib/tomcat7/webapps/ROOT /var/lib/tomcat7-01/webapps/ROOT

톰캣 실행은 인스턴스명 이하에 bin디렉토리의 startup.sh 과 shutdown.sh로 합니다. 아래와 같이 추가한 톰캣을 기동해봅니다.

$ sudo ./startup.sh
Using CATALINA_BASE:   /var/lib/tomcat7-01
Using CATALINA_HOME:   /usr/share/tomcat7
Using CATALINA_TMPDIR: /var/lib/tomcat7-01/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
Tomcat started.
Tomcat started

생성할 때 웹포트로 열리는 지 확인해봅니다.


기본 톰캣 페이지와 동일한 내용의 It works!화면이 보이네요.
매번 해당경로의 startup.sh와 shutdown.sh는 번거로우니, 서비스로 등록한 뒤 부팅시 자동실행되도록 update-rc.d로 설정해봅니다.

$ sudo cp -p /etc/init.d/tomcat7 /etc/init.d/tomcat7-01

새로 복사한 파일 내 NAME값을 생성한 인스턴스명으로 변경합니다.

$ sudo vi /etc/init.d/tomcat7-01
.....
NAME=tomcat7-01
.....

저장한 다음
기본 설정틱 /etc/default/tomcat7파일도 인스턴스명으로 복사해서 생성합니다.

$ sudo cp -p /etc/default/tomcat7 /etc/default/tomcat7-01

*JAVA_HOME 등 톰캣 기동에 필요한 일반적 설정을 인스턴스별로 동일하게 한다면 심볼릭 아래와 같이 걸어도 될 듯 합니다.

$ sudo ln -s /etc/default/tomcat7 /etc/default/tomcat7-01

/etc/init.d/tomcat7-01파일 내 CATALINA_HOME도 NAME값 따라가니 심볼릭 링크 생성하기로 하지요..

$ sudo ln -s /usr/share/tomcat7 /usr/share/tomcat7-01

제대로 기동되는지 실행해봅니다..

$ sudo service tomcat7-01 start
 * Starting Tomcat servlet engine 01 tomcat7-01                 cat: /var/lib/tomcat7-01/conf/policy.d/*.policy: No such file or directory

에러가 뜨면서 실행이 안되네요..
policy.d 디렉토리도 심볼릭 걸도록 합니다.

$ sudo ln -s /var/lib/tomcat7/conf/Catalina /var/lib/tomcat7-01/conf/Catalina
$ sudo ln -s /var/lib/tomcat7/conf/tomcat-users.xml /var/lib/tomcat7-01/conf/tomcat-users.xml

2016.12.7. 확인해보니 톰캣 관리자 들어가려면 몇가지 더 심볼릭걸어야할 듯 합니다.

$ sudo ln -s /var/lib/tomcat7/conf/policy.d /var/lib/tomcat7-01/conf/policy.d

다시 기동하도록 하지요..

$ sudo service tomcat7-01 start
* Starting Tomcat servlet engine 01 tomcat7-01              [OK ]

웹도 잘 열리는 지 브라우저 띄워서 tomcat7-01의 포트 8088로 접근해봅니다.


서버 부팅 시 자동으로 실행되도록 update-rc.d를 이용해서 해당 스크립트를 아래와 같이 등록합니다.

$ sudo update-rc.d tomcat7-01 defaults
 Adding system startup for /etc/init.d/tomcat7-01 ...
   /etc/rc0.d/K20tomcat7-01 -> ../init.d/tomcat7-01
   /etc/rc1.d/K20tomcat7-01 -> ../init.d/tomcat7-01
   /etc/rc6.d/K20tomcat7-01 -> ../init.d/tomcat7-01
   /etc/rc2.d/S20tomcat7-01 -> ../init.d/tomcat7-01
   /etc/rc3.d/S20tomcat7-01 -> ../init.d/tomcat7-01
   /etc/rc4.d/S20tomcat7-01 -> ../init.d/tomcat7-01
   /etc/rc5.d/S20tomcat7-01 -> ../init.d/tomcat7-01

서버를 재구동한 다음 잘 올라오는 지 확인해 봅니다.

$ sudo reboot

...

$ sudo service tomcat7 status
 * Tomcat servlet engine is running with pid 1235
$ sudo service tomcat7-01 status
 * Tomcat servlet engine 01 is running with pid 969

웹브라우저로 해당 포트(8080,8080)로 접근하여 잘 열리는지도 한번 확인해 봅니다.

아파치 로드밸런싱 설정을 이후로 넘깁니다..

건강이 최고에요. 무조건 틈나면 운동하세요~!

'Web > tomcat' 카테고리의 다른 글

ubuntu 14.04 LTS에 tomcat7 설치하기  (0) 2016.02.29
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함