자바 기반인 tomcat 은 아파치 진영의 또 다른 산물이다.
JSDK(servlet)의설치 없이 tomcat 의 설치만으로 servlet 과 jsp 를
바로 사용할 수 가 있다.
참고로 Tomcat3.1 은 servlet 2.2 와 jsp 1.1을 지원한다.
tomcat은 그 자체가 바로 web server 로 사용할 수 있고 이를
stand/alone 모드라고 하는데 개발진들은 이를 별로 권장하지
않고 기존의 웹서버에 추가(add/on) 하여 사용하기를 권장한다.
특히 servlet 의 경우 매번 컴파일할때마다 아파치의
재기동없이 바로 실행 결과를 볼 수 있어 개발자에게는
더없이 즐겁다. (하지만 대체로 재컴파일된 서블릿 은 바로
로딩이 안되고 브라우져를 죽였다가 다시 시작하면 되는데
이게 왜이런지 아시는 분은 메일이나 제 홈에 글좀 남겨주세요)
테스트 환경 :
wowlinux 6.2
postgreSQL7.0.2
JDK1.2.2
Apache1.3.12
설치 :
설치전에 아파치와의 연동을 위해 아파치는 DSO 로
컴파일되어 있어야 한다.
(Apache Configure 예 :
./configure //prefix=/usr/local/apache \
//enable/module=most \
//enable/shared=max
make
make install )
기타 JDK1.1.x 버젼이 설치되어 있어야 한다.
설치는 생각보다 간단하다.
http://jakarta.apache.org/downloads/binindex.html 에서 이미 컴파일된
바이너리패키지(jakarta/tomcat.tar.gz)를 다운받고 mod_jserv.so 를 다운받는다.
(성질 급하게도 처음에는 소스를 직접다운받아 mod_jserv.so 를 직접 컴파일하고
말았다... 완전히 헛 고생..)
적당한 디렉토리에 바이너리 패키지의 압축을 풀면 설치 완료이다.
설정 :
1.다운받은 mod_jserv.so 를 아파치 디렉토리의 libexec 디렉토리에 복사한다.
2.TOMCAT_HOME 과 JAVA_HOME 환경변수를 설정한다. 만약 tomcat 의 경로가
/usr/local/jakarta/tomcat 이면 /etc/profile 등의 파일에 다음처럼 설정한다.
export TOMCAT_HOME=/usr/local/jakarta/tomcat
JAVA_HOME 또한 마찬가지로 jdk의 경로가 /usr/local/jdk1.2.2 이면
다음과 같다.
export JAVA_HOME=/usr/local/jdk1.2.2
그런 후 설정 화일을 실행하여 변수를 메모리로 올리면 되고..
(예 : [root@nogadax local]$ . /etc/profile )
3.tomcat 디렉토리의 conf 디렉토리에 존재하는 tomcat/apache.conf 를
아래처럼 아파치 디렉토리 밑의 conf 디렉토리내의 httpd.conf 파일의
제일 마지막에 추가하면 된다.(참고로 이 화일의 내용은 tomcat 에 의해
실행될때마다 자동으로 변경되어 설정된다.)
Include /usr/local/jakarta/tomcat/conf/tomcat/apache.conf
실행하기 :
먼저 tomcat 을 실행한 후에 아파치를 실행한다.
1. tomcat 실행은 tomcat 의 bin 디렉토리의 "tomcat.sh start" 나
startup.sh 를 실행한다.
2. 아파치를 실행한다.
종료하기 :
1. tomcat을 종료한다. 실행때와 마찬가지로 tomcat 의 bin 디렉토리의
"tomcat.sh stop" 나 "shutdown.sh" 를 실행한다.
2. 아파치를 종료한다.
테스트하기 :
테스트는 URL 이 http://210.110.144.235 일때에 다음과 같다.
1. http://210.110.144.235/examples/servlets
2. http://210.110.144.235.examples/jsp
jakarta/tomcat/conf 디렉토리의 server.xml 보기 :
tomcat에서 server.xml 은 중요한 화일이다. 아래는 화일은 모든 내용은 아니지만 다음의
부분만 대충 보자.
<Context path="/examples" docBase="webapps/examples" debug="0" reloadable="true" >
</Context>
<Context path="/pgsql" docBase="webapps/pgsql" debug="0" reloadable="true" >
</Context>
<Context path="/websql" docBase="webapps/websql" debug="0" reloadable="false" >
</Context>
Context는 url이 저쩌고 하는 것 같은데(본인도 잘 모름) 어쩨든 이전의 jserv 에서
리포지터리 역활을 하는 것 같다.
제일 위의 examples 는 샘플용의 예제가 있으며 tomcat 의 설치 후 web 상에서
바로 실행할 수가 있다. 샘플용의 예제는 examples/WEB_INF/classes 에 있다.
path = "/examples" 는 url 에서 사용한다. docBase는 path 에 연결된 서버상의
디렉토리이며 wepapps 디렉토리는 tomcat 디렉토리 밑에 있다.
reloadable="true"는 Auto/reloadable 이며 false이면 웹 어플리케이션의
Auto/reloadable 이 되지 않는다.
기타 pgsql 과 webswl 은 필자가 테스트를 위해 만든 것이다. 이 두개의 디렉토리는
webapps 디렉토리에 생성하였고 각각의 디렉토리에는 또 다른 디렉토리를 만들어야 한다.
다음은 그 예이다.
webapps/pgsql/WEB/INF/classes
webapps/websql/WEB/INF/classes
최종 디렉토리인 classes 에 서블릿 클래스들이 들어가면 되며 tomcat 실행후
tomcat 디렉토리의 tomcat/apache.conf 를 보라
다음은 pgsql을 브라우져에서 사용하는 URL 예이다.
http://210.110.144.235/pgsql/servlet/example
위의 example 는 서블릿(example.class)이며 "pgsql/WEB/INF/classes"
이 있다.
기타 :
만약 jsdk 가 없다면 tomcat 디렉토리 밑의 lib 디렉토리의 servlet.jar 을
CLASSPATH 에 등록하면 된다.
그런 후 servlet 프로그램들을 컴파일하면 된다.
PostgreSQL 의 JDBC 에 연동 :
Tomcat 3.1 에 postgreSQL의 JDBC 연동은 의외로 간단합니다.
환경변수 CLASSPATH 에 등록하기만 하면 됩니다.
그러면 Tomcat 실행시 자동으로 읽어서 JDBC 를 로딩합니다.
|