FastCGI 응용 프로그램은 Perl, PHP, C 및 Java를 사용하여 개발할 수 있습니다. 다음 절에서는 흔히 사용되는 일부 프로그래밍 언어를 통해 응용 프로그램을 개발하는 절차를 간략하게 설명합니다.
Web Server를 중지합니다.
Web Server를 다시 시작합니다.
응용 프로그램 루트가 "fcgi"인 응용 프로그램에 액세스합니다.
예: http://localhost/fcgi/ListDir.php
전형적인 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 응용 프로그램을 종료한 경우에만 종료됩니다.
CPAN에서 최신 FCGI를 다운로드하여 설치합니다. ActivePerl의 모듈은 http://aspn.activestate.com/ASPN/Downloads/ActivePerl/PPM/Zips에서 다운로드할 수 있습니다.
Perl을 사용하여 FastCGI 응용 프로그램을 작성하는 경우에 대한 자세한 내용은 http://www.fastcgi.com/devkit/fastcgi-prog-guide/ch3perl.htm#3659를 참조하십시오.
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"와 같습니다.
FastCGI 개발 키트는 FastCGI C/Java 응용 프로그램을 작성하는 API를 제공합니다. 이 키트는 http://www.fastcgi.com/devkit/doc/fcgi-devel-kit.htm에서 다운로드할 수 있습니다.
다운로드된 FastCGI 개발 키트를 구축하려면 다음 단계를 수행합니다.
tar 파일의 압축을 해제합니다. 이 작업으로 fcgi-devel-kit라는 새 디렉토리가 만들어집니다.
fcgi-devel-kit 디렉토리에서 다음 순서로 명령을 실행합니다.
./configure
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을 참조하십시오.