FastCGI 정보

FastCGI의 기술 원리


FastCGI의 기술 원리를 이해하려면 "단생존기 응용 프로그램"이 무엇인지, "장생존기 응용 프로그램"이 무엇인지 알아야 한다.
먼저 CGI 기술에서 시작합니다. 다음은 CGI 기술의 이론입니다. 고객이 CGI를 요청할 때마다 웹 서버는 운영체제에 새로운 CGI 프로세스를 생성하도록 요청합니다.CGI가 충족되면 서버가 이 프로세스를 죽입니다.서버가 클라이언트의 모든 요청에 대해 이러한 과정을 반복해야 한다.한편, FastCGI 기술의 이론은 FastCGI 프로그램이 생기면 고객의 요구가 명확하게 끝날 때까지 계속 일할 수 있다는 것이다.협동 처리를 통해 프로그램의 성능을 향상시키려면 웹 서버에 여러 FastCGI 응용 프로그램의 복사본을 실행할 것을 요청할 수 있습니다.
CGI는 이른바 짧은 생존기 응용 프로그램이고, FastCGI는 이른바 긴 생존기 응용 프로그램이다.
FastCGI 프로그램은 끊임없이 새로운 프로세스를 생성할 필요가 없기 때문에 서버의 압력을 크게 낮출 수 있다.또한 비교적 높은 응용 효율을 발생시킨다.
현재 비교적 유행하는 자바 언어 서브렛 기술은 디자인에 있어서FastCGI의 기술 운행을 참고하여 설계되었다.
[
편집하다 ]

FastCGI의 특징


1. 기존 페이지 처리 기술 탈피
전통적인 페이지 처리 기술은 프로그램이 웹 서버나 응용 프로그램 서버와 같은 서버에 있어야 한다.이러한 역사는 이미 N년 전에 FastCGI 기술에 의해 깨졌다. FastCGI 기술의 응용 프로그램은 서버 그룹에 설치된 모든 서버에 설치될 수 있고 TCP/IP 프로토콜을 통해 웹 서버와 통신할 수 있다. 이렇게 하면 대형 분포식 웹 그룹을 개발하는 데 적합할 뿐만 아니라 효율적인 데이터 라이브러리 제어에도 적합하다.
2. 명확한 요청 모드
CGI 기술은 명확한 역할이 없다. FastCGI 프로그램에서 프로그램은 명확한 역할(응답기 역할, 인증기 역할, 필터 역할)을 부여받는다.
3. 합리적인 절차 구조
처음에는 FastCGI 응용 프로그램의 구조적 요구를 정말 싫어했다.괜찮아, 당신은 한동안 작성한 후에 이런 구조를 좋아하게 될 거야. 이런 완전한 규범화된 구조만이 당신의 프로그램을 더욱 효율적으로 할 수 있어.
[
편집하다 ]

Using FastCGI with Rails

$ /etc/init.d/httpd stop

$ sudo apt-get install libfcgi-dev
$ sudo gem install fcgi

FreeBSD user
$ sudo gem install fcgi -- --with-fcgi-include=/usr/local/include --with-fcgi-lib=/usr/local/lib

apache httpd. conf
LoadModule fastcgi_module /usr/lib/apache2/modules/mod_fastcgi.so
<IfModule mod_fastcgi.c>
    FastCgiIpcDir /tmp/fcgi_ipc/
    AddHandler fastcgi-script .fcgi
</IfModule>

Gentoo users
emerge fcgi ruby-fcgi mod_fastcgi
$ apache2ctl reload

public/dispatch.fcgi
charge require 'fcgi' to
require 'rubygems'
require_gem 'fcgi'

$ sudo gem update

public/.htaccess
charge RewriteRule ^(.*)$ /dispatch.cgi?$1 [QSA,L] 
to RewriteRule ^(.*)$ /dispatch.fcgi?$1 [QSA,L]

관련 정보:http://wiki.rubyonrails.com/rails/pages/FastCGI

좋은 웹페이지 즐겨찾기