RadarURL

유닉스/리눅스
2013.03.08 07:50

Apache/FastCGI

조회 수 7288 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

Apache/FastCGI

mod_perl, mod_ruby 등이  HTTPD의 모듈로서 프로그램(perl, ruby)을 움직이는 것에 반해 FastCGI 는 HTTPD와는 다른 프로세스로서 프로그램을 기동하고 소켓을 통해서 통신하는 구조이다. 기동된 프로그램은 CGI와 다르고 처리 종료후도 그대로 머무른다. 다른 서버에 두는 것도 가능하므로 부하 분산도 가능

어느쪽도 프로그램의 기동을 빨리 하는 구조인 것에 차이는 없지만 perl, ruby, php등의 복수의 스크립트를 다룰 경우 모두를 Apache의 모듈로 설정해버리면  HTTPD가 비대해져 정적 컨텐츠에의 액세스도 무거워지게 되므로 그러한 경우에 유효한 것일지도 모른다.
한편, 노멀의 CGI는 프로그램의 기동이 늦다

Apache에서 사용할수 있는FastCGI에는 두종류가 있다.

이 둘의 차이는 결국 속도가 아닐까 한다.
mod_fcgid가 mod_fastcgi 보다 빠른것이 장점이다.

Apache이외 Lighttpd등에 사용이 가능하다

mod_fastcgi

_ Install

여기에서는 apache2에서 mod_fastcgi를 사용하는경우를 적는다.
debian이라면 libapache2-mod-fastcgi 라는 패키지명으로 되어 있다.
설치 방법은 debian류 라면 아래와 같다.

# a2enmod
Which module would you like to enable?
Your choices are: actions asis auth_anon auth_dbm auth_digest auth_ldap cache cern_meta cgi cgid dav dav_fs deflate disk_cache expires ext_filter fastcgi file_cache headers imap include info ldap mem_cache mime_magic perl php4 proxy proxy_connect proxy_ftp proxy_http rewrite ruby speling ssl suexec unique_id userdir usertrack vhost_alias
Module name? fastcgi

/etc/apache2/mods-available/fastcgi.conf 를 편집. 추가할 필요가 있는것은 FastCGIConfig 디렉토리 정도. 프로세스수의 상한, 스크립트당 사용할 최대 프로세스수 등을 설정할수 있다.

예를 들면

FastCGIConfig -maxProcesses 6 -maxClassProcesses 2 -autoUpdate

그리고 DirectoryIndex에 index.fcgi도 추가해두면 좋을것 같다.
mod_rewrite에서 URL의 치환을 해놓은 경우에도 필요하다면 그것에 맞춰서 설정을 고친다.

상세한 설정은 공식 문서를 참고하자.

mod_fcgid

_ Install

Gentoo라면 mod_fcgid를 emerge하면 된다.

_ Config

Gentoo의 경우 먼저 Apache의 기동옵션을 변경할 필요가 있다.
/etc/conf.d/apache2를 편집. APACHE2_OPTS  -D FCGID 를 추가한다.

APACHE2_OPTS="-D DEFAULT_VHOST -D FCGID -D DAV -D SVN -D INFO -D USERDIR"

이것으로 mod_fcgid용의 스크립트 /etc/apache2/modules.d/20_mod_fcgid.conf 를 읽을수 있으므로필요에 따라 변경, 추가한다. 아래는 그 예이다.

<IfDefine FCGID>
    <IfModule !mod_fcgid.c>
 LoadModule fcgid_module modules/mod_fcgid.so
    </IfModule>
    <IfModule mod_fcgid.c>
 AddHandler fcgid-script .fcgi
# SocketPath /var/log/apache2/fcgidsock/
 MaxProcessCount 3
 DefaultMaxClassProcessCount 2
 TerminationScore 10
 SpawnScore 80
 IdleTimeout 300
    </IfModule>
</IfDefine>

config 설정에 관해서는 공식사이트문서를 참고

PHP

FastCGI로 PHP를 사용하는 경우 php를 사용할 디렉토리 마다 설정을 할 필요가 있다.
아래와 그 예

<IfModule mod_fcgid.c>
    AddHandler fcgid-script .php
    <Directory "/var/www/localhost/htdocs/php">
#        SetHandler fcgid-script
        FCGIWrapper /usr/bin/php-cgi .php
#        DirectoryIndex index.php

        Options +ExecCGI
#        AllowOverride None
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</IfModule>

FCGIWrapper로 CGI용 php의 패스 (랑 확장자)를 설정한다.  < Directory "/foo/bar”>에서 지정한 디렉토리 산하가  모두  php 의 파일이라면  AddHandler 이 아닌 SetHandler 쪽을 사용하는 것이다소 빠를 것이다. 그렇지 않을 경우에  SetHandler 을 사용하면  모든 파일이  php로 인식되는것에 주의

그리고 /etc/apache2/mods-available/fcgid.conf에

 AddHandler    fcgid-script .fcgi .php

로 설정하지 않으면 FCGI로 잘 동작 하지 않는다.

상세한 설정은 공식 사이트 문서 를 참고

Link

 
Link: Lighttpd(1249d)

출처 : http://blog.naver.com/parkjy76/30131948872

?

공부 게시판

공부에 도움되는 글을 올려주세요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 [공지] 공부 게시판 입니다. 처누 2003.08.18 930297
191 유닉스/리눅스 리눅스 서버 설치 중 에러 "Failed to find a suitable stage1 device" JaeSoo 2025.10.03 11
190 유닉스/리눅스 Linux 11 . Linux 설치 시 lvm 수동설정 JaeSoo 2025.10.03 13
189 유닉스/리눅스 [Rocky Linux] 누구나 쉽게 따라하는 Rocky Linux 9.0 OS 다운로드 및 설치 방법~!! JaeSoo 2025.10.03 13
188 유닉스/리눅스 Linux/Rocky Linux Rocky Linux : Composer 설치 JaeSoo 2025.09.29 29
187 유닉스/리눅스 [Rocky Linux] 록키 리눅스 최신 업데이트 적용 방법 JaeSoo 2025.09.29 26
186 유닉스/리눅스 rocky linux 커널 업데이트 JaeSoo 2025.09.29 23
185 유닉스/리눅스 Clonezilla(클론질라) 백업파일 하드디스크로 복구 방법 JaeSoo 2025.09.28 33
184 유닉스/리눅스 클론질라 사용 방법 - OS 이미지 백업 CloneZilla JaeSoo 2025.09.28 33
183 유닉스/리눅스 [Linux / Rocky] FTP 접속 관련 설정 실습 예제 JaeSoo 2025.09.23 47
182 유닉스/리눅스 Could not reliably determine the server's fully qualified domain name JaeSoo 2025.09.23 43
181 유닉스/리눅스 [아파치] 아파치 웹서버에 .htaccess 파일 설정하는 방법 JaeSoo 2025.09.23 49
180 유닉스/리눅스 [Linux] Apache web server의 rewrite module 사용하기 [출처] [Linux] Apache web server의 rewrite module 사용하기|작성자 g00dmoney JaeSoo 2025.09.23 43
179 유닉스/리눅스 록키 리눅스 9.1에서 apache, mysql, PHP 설치 JaeSoo 2025.09.23 46
178 유닉스/리눅스 [권한문제] 라이믹스 Fatal error: Uncaught Rhymix\Framework\Exception: Cannot write template cache file JaeSoo 2025.09.23 37
177 유닉스/리눅스 라이믹스 php 에러 표시 JaeSoo 2025.09.23 36
176 유닉스/리눅스 Rocky Linux - 라이믹스(Rhymix) 설치하기 JaeSoo 2025.09.23 33
175 유닉스/리눅스 라이믹스(Rhymix) 매뉴얼 JaeSoo 2025.09.23 25
174 유닉스/리눅스 [ Apache ] 아파치 start/stop/restart 명령어 JaeSoo 2025.09.23 21
173 유닉스/리눅스 Rocky Linux : PHP - 가상호스팅 설정 JaeSoo 2025.09.23 28
172 유닉스/리눅스 [Error] FirewallD is not running 해결하기 JaeSoo 2025.09.23 29
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 Next
/ 10


즐겨찾기 (가족)

JAESOO's HOMEPAGE


YOUNGAE's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너