http://fruitdev.tistory.com/23
한 서버내 서로 다른 서비스때문에 톰캣을 분리한다던지, 또는 로드밸런싱을 통산 부하분산을 목적 등으로 Tomcat을 다중으로 설치해야 할 일들이 있다.
오늘은 동일 서버내 tomcat을 다중으로 설치하는 방법에 대해 알아보자.
일단 설치에 앞서서, 동일 서버에서 tomcat 여러개를 사용하려면 내부 사용하는 port를 미리 정리할 필요가 있다.
이미 해당 서버에서 다른 port를 사용할 수 있으므로 설치 전에 정리해두면 도움이 된다.
tomcat 이용시에는 1개의 톰캣에서 보통 3개의 port를 사용한다고 생각하면 된다.
tomcat 내부 포트, apache 연동을 위한 ajp 포트, 서비스 포트 이다.
나는 아래와 같이 포트를 지정했다.
| tomcat_1 | tomcat_2 |
server port (내부) | 8005 | 18005 |
ajp1.3 port (내부) | 8009 | 18009 |
Connector port (외부) | 8080 | 18080 |
1. 톰캣 다운로드 및 설치
1 2 3 4 5 | [root@tourWeb1 ~]
[root@tourWeb1 ~]
[root@tourWeb1 ~]
[root@tourWeb1 ~]
[root@tourWeb1 ~]
|
2개의 톰캣을 서로 다른 이름으로 아래와 같이 복사하였다.
- tomcat 1 : /usr/local/tomcat7_1
- tomcat 2 : /usr/local/tomcat7_2
2. catalina.sh 파일 수정
각각 설치된 톰캣의 bin/catalina.sh 파일에 아래 노란색 내용을 추가한다.
단 경로는 해당 톰캣이 설치되어 있는 경로로 지정할것.
# resolve links - $0 may be a softlink PRG="$0"
while [ -h "$PRG" ]; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG=`dirname "$PRG"`/"$link" fi done
export CATALINA_HOME=/usr/local/tomcat7_1 export TOMCAT_HOME=/usr/local/tomcat7_1 export CATALINA_BASE=/usr/local/tomcat7_1 CATALINA_PID=/usr/local/tomcat7_1/bin/tomcat.pid
# Get standard environment variables PRGDIR=`dirname "$PRG |
3. server.xml 파일을 열어 미리 정의한 포트대로 변경해 준다.
- tomcat 1
<Server port="8005" shutdown="SHUTDOWN"> <!-- Security listener. Documentation at /docs/config/listeners.html <Listener className="org.apache.catalina.security.SecurityListener" /> --> ...
<Service name="Catalina">
<!--The connectors can use a shared executor, you can define one or more named thread pools--> <!-- <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="150" minSpareThreads="4"/> -->
<!-- A "Connector" represents an endpoint by which requests are received and responses are returned. Documentation at : Java HTTP Connector: /docs/config/http.html (blocking & non-blocking) Java AJP Connector: /docs/config/ajp.html APR (HTTP/AJP) Connector: /docs/apr.html Define a non-SSL HTTP/1.1 Connector on port 8080 --> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> ...
<!-- Define an AJP 1.3 Connector on port 8009 --> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> |
- tomcat 1
<Server port="18005" shutdown="SHUTDOWN"> <!-- Security listener. Documentation at /docs/config/listeners.html <Listener className="org.apache.catalina.security.SecurityListener" /> --> ...
<Service name="Catalina">
<!--The connectors can use a shared executor, you can define one or more named thread pools--> <!-- <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="150" minSpareThreads="4"/> -->
<!-- A "Connector" represents an endpoint by which requests are received and responses are returned. Documentation at : Java HTTP Connector: /docs/config/http.html (blocking & non-blocking) Java AJP Connector: /docs/config/ajp.html APR (HTTP/AJP) Connector: /docs/apr.html Define a non-SSL HTTP/1.1 Connector on port 8080 --> <Connector port="18080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> ...
<!-- Define an AJP 1.3 Connector on port 8009 --> <Connector port="18009" protocol="AJP/1.3" redirectPort="8443" /> |
4. 서비스를 시작시킨후 각각의 서비스 포트로 접속해서 제대로 동작하는지 확인한다.
http://soatolinux.blogspot.kr/2013/04/linux-tomcat.html
[ Linux ] 톰캣 tomcat 재실행 재시작
톰캣 설치 폴더의
bin 폴더로 가서
#>catalina.sh start
#>catalina.sh stop
http://www.v-eng.co.kr/bbs/board.php?bo_table=faq&wr_id=40
리눅스(Linux) 포트(port) 열기, 방화벽(firewall) 설정/해제 등 안내
--------------------------------------
리눅스 port를 열기 위해서는 iptables를 통해서, 포트를 열고 막고를 할 수 있습니다.
아래의 예제 부분만 따라 하시면 해당 port에 대해 모두 열 수 있습니다.
Inbound (외부에서 서버로 들어오는) , Outbound( 서버에서 외부로 나가는 ) 모두 port를 열기 위해서는 아래의 iptables로 INPUT, OUPUT 을 해주면 모두 열립니다.
권한은 root에서 해주시기 바랍니다.
iptables -I INPUT 1 -p tcp --dport 5900 -j ACCEPT
iptables -I OUTPUT 1 -p tcp --dport 5900 -j ACCEPT
예를 들면 ) FTP port 21번을 열고 싶다.
#iptables -I INPUT 1 -p tcp --dport 21 -j ACCEPT
#iptables -I OUTPUT 1 -p tcp --dport 21 -j ACCEPT
#service iptables save
#/etc/init.d/iptables restart
*확인 /etc/sysconfig/iptables (직접 추가해도 가능.)
*iptables 방화벽 켜고 /끄기
Task: Disable / Turn off Linux Firewall (Red hat/CentOS/Fedora Core)
Type the following two commands (you must login as the root user):
# /etc/init.d/iptables save
# /etc/init.d/iptables start
# /etc/init.d/iptables stop
http://blog.naver.com/PostView.nhn?blogId=jxs2&logNo=110147025566
-----------------------------------------------------------------
[참고 cdrom mount 예 : system 마다 다르므로 관리자에게 확인 필요]
mkdir /cdrom
mount -r -t iso9660 /dev/cdrom /cdrom
umount 는
umount /cdrom
Linux에서 열린 포트 확인/상대방 포트 확인/포트 열기
http://khie74.tistory.com/1169521441
http://oya150.tistory.com/entry/tomcat-%EC%97%90%EB%9F%AC-%EB%B0%9C%EC%83%9D-1
Port 번호로 실행중인 PID 찾기
http://blog.beany.co.kr/archives/2235
http://savinglove.tistory.com/22