mod_php 대신 mod_fcgid 사용

mod_php 대신 mod_fcgid 사용

우분투와 센토스에서 mod_php 대신 mod_fcgid를 사용하려면 어떻게 해야 합니까? 두 가지의 주요 이점과 차이점은 무엇입니까?

답변1

mod_php:

  • mod_fcgid보다 조금 더 빠릅니다.
  • httpd 프로세스에서 실행
  • Apache API에 액세스할 수 있습니다( de.php.net/manual/en/ref.apache.php ).
  • 모든 도메인이 동일한 사용자로 실행되므로 공유 호스팅에는 좋지 않습니다.

mod_fcgid:

  • 원하는 사용자 아래에서 스크립트가 실행됩니다(공유 호스팅에 적합).
  • 강화된 보안
  • PHP 이상의 것을 실행할 수 있습니다
  • 여러 PHP 버전(예: php4, php5, php5.1, php5.2, php 5.3)을 실행할 수 있습니다.

답변2

내 공유 호스팅 플랫폼에서는 FastCGI를 사용하여 PHP를 직접 호출하는 대신 PHP를 실행합니다. 그들은 모듈이 아닌 기본적으로 CGI를 통해 PHP를 실행하므로 내 .htaccess파일에 다음을 추가하기만 하면 됩니다.

 AddHandler application/myphp .php
 Action application/myphp /cgi-bin/myphp.fcgi

myphp.fcgi다음으로 다음을 포함하는 cgi-bin 디렉토리에 스크립트를 생성해야 했습니다 .

#!/bin/sh

# This ensures PHP doesn't try to run it's own
# process manager.
export PHP_FCGI_CHILDREN=0

# Replace this shell image with a PHP
# image.
exec /path/to/php -c /path/to/my/php.ini

이것은 나에게 완벽하게 실행되며 내 호스팅 환경은 하드웨어 부하 분산 장치 뒤에 있는 거의 12개의 서버 클러스터 내에서 실행됩니다.

답변3

cgi = 각 요청은 프로세스를 시작하고 그 결과를 클라이언트로 다시 가져옵니다. fcgi = 애플리케이션(예: Ruby/Django) 또는 인터프리터(PHP)는 계속 실행되고 웹서버는 요청을 전달하고 그로부터 응답을 받습니다.

FastCGI는 거의 항상 더 빠르지만(이를 지원하는 항목의 경우) 매우 오래된 일부 항목(예: nagios)에는 cgi가 필요합니다. cgi의 유일한 장점은 트래픽 스크립트가 없는 경우 cgi 응용 프로그램이 메모리를 사용하지 않는다는 것입니다. 그러나 일반적으로 웹 서버는 한동안 사용되지 않는 FastCGI 응용 프로그램을 종료할 만큼 지능적이므로 이는 실제 이점이 아닙니다.

관련 정보