60.Unix2008. 12. 16. 17:10
반응형

유닉스에서 개발 웹 서버 설치, 설정하기

빠르고 기능이 풍부하고 자유롭게 사용 가능한 웹 서버를 만들면서 여러분의 유닉스 실력을 한 단계 높여보자

developerWorks
Go to the previous page 12 페이지 중 6 페이지 Go to the next page

문서 옵션
수평출력으로 설정

이 페이지 출력


제안 및 의견
피드백

튜토리얼 평가

이 컨텐츠를 개선하기 위한 도움을 주십시오.


서버 설정, 컴파일 시작

필자가 작업해온 모든 아파치 제품에는 설정, 컴파일, 시작 단계가 포함된다. 이 과정은 코드를 준비하고 소프트웨어가 어떻게 그리고 어디에 설치될지 등에 대해 알려주게 된다.

소프트웨어 설정하기

톰캣 소프트웨어를 설정하려면 다음과 같이 타이핑한다.

cd $CATALINA_HOME/bin

./configure --with-java=/usr/java

또는 다음과 같다.

export JAVA_HOME
./configure




위로


코드 컴파일하기

톰캣 코드를 컴파일했다면 이제 컴파일한다.

바이너리와 라이브러리 빌드하기

Listing 5에 톰캣 바이너리와 라이브러리를 빌드하는 코드를 보였다.


Listing 5. 바이너리와 라이브러리 빌드하기
                    
# gunzip jsvc.tar.gz

# pwd
/opt/apache-tomcat-6.0.16/bin

# tar -xvf jsvc.tar

# gmake 

gmake가 위치한 경로가 PATH에 있는지 확인하기 바란다(예를 들어 ./sfw/bin/).

기억해둘 것: 톰캣 사이트에서는 FreeBSD 시스템의 자체 BSD make 명령어 대신 GNU make(gmake)를 사용해야 한다고 언급하고 있다.

Listing 6의 코드로 실행 파일인 .jsvc를 생성한다. 이 파일은 톰캣을 데몬으로 성공적으로 구동하는 데 필요하다.

jsvc에 대한 간단 명료한 정의

jsvc는 런처(launcher) 프로세스, 통제(controller) 프로세스, 통제되는(controlled) 프로세스 이렇게 세 개의 프로세스를 사용한다. 통제되는 프로세스는 주 자바 쓰레드다. 이 주 자바 가상 머신(JVM)이 비정상적으로 종료되면 통제 프로세스, 즉 컨트롤러 다음에 재시작한다. jsvc는 데몬 프로세스이므로 root로 시작해야 한다. 인자값으로 -user를 주면 root 권한이 없는 사용자로도 동작시킬 수 있다.


Listing 6. jsvc에 권한을 설정하여 복사하기
                    
chmod 775 jsvc
cp jsvc ..
cd ..




위로


서버 시작하기

CLI나 내장된 서버 형태로 된 자바 프로그램으로 서버를 시작할 수 있다. 게다가 서버는 데몬 형태로 구동할 수 있는데 이렇게 하면 윈도 환경에서 서비스와 비슷한 형태로 자동 구동된다.

기본 시작 스크립트 구동하기

Listing 7에서는 톰캣용 기본 시작 스크립트를 보였다.


Listing 7. 기본 시작 스크립트
                    
cd $CATALINA_HOME/bin
./startup.sh 
cd ../logs

에러가 나는지 catalina.out을 확인하기 바란다. cat, vi, more, less를 쓴다면 파일 아래로 갈 때 시프트+G키를 누른다. 아니면 다음과 같이 타이핑할 수도 있다.

tail -50 catalina.out

위처럼 하면 에러 파일의 마지막 50번째 줄까지 체크할 수 있다.

이렇게 하는 게 이 튜토리얼의 범위를 넘어가긴 하지만 톰캣 코드를 수정하거나 스스로 LifecycleListeners를 구현하여 시작 프로세스를 입맛에 맞게 고칠 수도 있다.

시작 데몬 구동하기

데몬은 다양한 옵션을 사용해 시작할 수 있다. 이를테면 root가 아닌 사용자로 구동하려면 -user를 주거나, 특정 .pid 파일 위치를 명시하려면 -pid 옵션을 준다거나, 에러 및 출력 파일 로그를 설정하려면 각각 -errfile-outfile을 준다거나 할 수 있다. 어떤 옵션이 지원되는지 전체 내용을 보려면 ./jsvc -help라고 타이핑한다. Listing 8에서 jsvc 시작 스크립트의 예를 보였다.

데몬이란 무엇인가?

데몬은 비 대화형(non-interactive) 서버 애플리케이션으로서 명시한 시그널(signal)들을 운영체제가 통제하게 된다. 윈도에서 서비스를 떠올려보자. 윈도의 서비스는 서버 애플리케이션의 정상적인 셧다운을 위해 제공된다. 운영체제는 셧다운이 절박한 상황인 경우 서버 애플리케이션에게 이를 고지하게 되고 애플리케이션은 수행중인 과정을 끝내기 전에 어떤 작업을 수행할 수 있도록 할 여지가 생기게 된다.


Listing 8. jsvc 시작 스크립트의 예
                    
Bash#./jsvc –home /usr/jdk/instances/jdk1.5.0 \
–Dcatalina.home=/opt/apache-tomcat-6.0.16 \
-cp ./bin/bootstrap.jar -outfile ./logs/catalina.out \
-errfile ./logs/catalina.err \
       org.apache.catalina.startup.Bootstrap

jsvc/bin 디렉터리에 포함되어 있는 Tomcat.sh 스크립트를 사용하는 것도 꽤 도움이 된다. 하지만 여러분 환경에 맞게끔 경로 같은 것들을 맞춰서 변수를 편집할 필요는 있을 것이다.




위로


톰캣 설치 테스트하기

기본 톰캣은 http 포트 8080에 내부 HTTP 서버를 설치한다(Coyote HTTP/1.1). 이 아키텍처와 설정을 위해 아파치 HTTP 서버가 별도로 필요하지는 않다. $CATALINA_HOME 디렉터리의 server.xml 파일을 수정해서 80 같은 전형적인 웹 서버 포트 번호로 간단히 변경할 수 있다. 또한 기본 SSL(Secure Sockets Layer) 포트도 전형적인 SSL 포트 번호인 443으로 간단히 변경할 수 있다. server.xml 파일은 톰캣이 핵심 설정 서버 정보를 얻는 곳이라 할 수 있다.

http://localhost:8080/을 가보는 것으로서 톰캣이 성공적으로 구동되었는지 여부를 판별해볼 수 있다. 제대로 되었다면 그림 3과 비슷한 시작 페이지를 볼 수 있어야 한다.


그림 3. 톰캣 관리 콘솔 환영 페이지
톰캣 최초의 시작 페이지
Posted by 1010