Sun Java System Web Server 7.0 Update 3 관리자 설명서

FastCGI 응용 프로그램 개발

FastCGI 응용 프로그램은 Perl, PHP, C 및 Java를 사용하여 개발할 수 있습니다. 다음 절에서는 흔히 사용되는 일부 프로그래밍 언어를 통해 응용 프로그램을 개발하는 절차를 간략하게 설명합니다.

ProcedureFastCGI 응용 프로그램 실행

  1. Web Server를 중지합니다.

  2. Web Server를 다시 시작합니다.

  3. 응용 프로그램 루트가 "fcgi"인 응용 프로그램에 액세스합니다.

    예: http://localhost/fcgi/ListDir.php

FastCGI 응용 프로그램의 구조

전형적인 FastCGI 응용 프로그램의 코드 구조는 다음과 같습니다.

Initialization code

Start of response loop
		body of response loop
End of response loop

초기화 코드는 응용 프로그램을 초기화할 때 한 번만 실행됩니다. 초기화 코드는 보통 데이터베이스 열기 또는 테이블이나 비트맵의 값 계산과 같이 시간이 오래 걸리는 작업을 수행합니다. CGI 프로그램을 FastCGI 프로그램으로 변환할 때의 주된 작업은 초기화 코드를 각 요청에 대해 실행해야 할 코드와 분리하는 것입니다.

응답 루프는 계속 실행되며 클라이언트 요청이 도착하기를 기다립니다. 루프는 FastCGI 라이브러리에 있는 루틴인 FCGI_Accept에 대한 호출로 시작됩니다. FCGI_Accept 루틴은 클라이언트에서 FastCGI 응용 프로그램을 요청할 때까지 프로그램 실행을 차단합니다. 클라이언트 요청이 들어오면 FCGI_Accept 차단이 해제되고 응답 루프 본문이 한 번 실행된 후 다시 차단되어 다른 클라이언트 요청을 기다립니다. 루프는 시스템 관리자 또는 Web Server가 FastCGI 응용 프로그램을 종료한 경우에만 종료됩니다.

Perl 사용

CPAN에서 최신 FCGI를 다운로드하여 설치합니다. ActivePerl의 경우 http://aspn.activestate.com/ASPN/Downloads/ActivePerl/PPM/Zips에서 모듈을 다운로드할 수 있습니다.

Perl을 사용한 FastCGI 응용 프로그램 작성에 대한 자세한 내용은 http://www.fastcgi.com/#TheDevKit를 참조하십시오.

PHP 사용

PHP 4.3.0 이후로 FastCGI가 PHP 엔진용으로 지원되는 구성이 되었습니다. FastCGI을 지원하는 PHP 4.3.x 이상의 엔진을 컴파일하려면 다음과 같이 작성 과정 중에 구성 스위치 --enable-fastcgi를 포함합니다.


./configure <other-options> --enable-fastcgi
gmake

컴파일이 끝나면 php 바이너리에 FastCGI를 사용할 수 있게 됩니다.

PHP 버전 5.1.2 이하(PHP 4.x 포함)를 사용하는 경우에는 FastCGI 플러그인을 바인드 경로와 함께 host: port 형식으로 구성해야 합니다. 예를 들면 bind-path = "localhost: 3333"과 같습니다.

PHP 버전 5.1.3 이상에서는 bind-path가 선택 사항입니다. 이 값을 지정하는 경우 "host: port" 형식을 사용하면 안 됩니다. 문자열을 지정할 수 있습니다. 예를 들면 bind-path = "myphpbindpath"와 같습니다.

C/Java 사용

FastCGI 개발 키트는 FastCGI C/Java 응용 프로그램을 작성하는 API를 제공합니다. http://www.fastcgi.com/devkit/doc/fcgi-devel-kit.htm에서 키트를 다운로드할 수 있습니다.

다운로드된 FastCGI 개발 키트를 구축하려면 다음 단계를 수행합니다.

  1. tar 파일의 압축을 해제합니다. 이 작업으로 fcgi-devel-kit라는 새 디렉토리가 만들어집니다.

  2. fcgi-devel-kit 디렉토리에서 다음 순서로 명령을 실행합니다.

    1. ./configure

    2. make

C를 사용한 FastCGI 응용 프로그램 작성에 대한 자세한 내용은 http://www.fastcgi.com/devkit/doc/fcgi-devel-kit.htm#S3을 참조하십시오.

Java를 사용한 FastCGI 응용 프로그램 작성에 대한 자세한 내용은 http://www.fastcgi.com/devkit/doc/fcgi-java.htm을 참조하십시오.