리눅스

본문 바로가기
사이트 내 전체검색


리눅스
리눅스

12. PHP-FPM 설치하기

페이지 정보

작성자 관리자 댓글 0건 조회 5,319회 작성일 20-09-28 11:20

본문

12. PHP-FPM 설치하기

CGI와 FastCGI


- 로그인, 게시글 등록과 같이 동적인 페이지 사용 시 웹 외부 프로그램(WAS 등)에서 처리하는 방법이 필요합니다.


- 외부 프로그램이 내용을 전달받아 HTML 파일로 반환하는 단계를 CGI라고 합니다.


- PHP-FPM는 PHP FastCGI Process Manager의 약자로 여기서 FastCGI는 CGI보다 더 빠른 처리를 뜻합니다.



일반 CGI의 경우


- 요청(Request)가 인입될 때마다 신규 프로세스를 생성/구동하여 이 과정에서 부하 증가 등의 이슈가 발생됩니다.



FastCGI의 경우


- FastCGI 실행 시 미리 프로세스를 생성한 뒤 해당 프로세스를 활용함으로써 일반 속도가 빠르고 부하가 적습니다.


- 이론 상으로 볼 시 일반 CGI를 FastCGI를 변경하여 처리할 경우 3~30배의 성능 개선 효과를 볼 수 있습니다.



Apache에서 PHP-FPM 사용 


Yum 패키지 설치를 통해 php-fpm 패키지를 설치합니다.


# yum install -y php-fpm


/etc/httpd/conf.d/ 경로에 php.conf 파일을 열어 SetHandler 옵션을 수정합니다.


# cd /etc/httpd/conf.d

# vi php.conf

#

# Cause the PHP interpreter to handle files with a .php extension.

#

<FilesMatch \.php$>

#SetHandler application/x-httpd-php

SetHandler "proxy:fcgi://127.0.0.1:9000"

</FilesMatch>



php-fpm을 기동한 뒤 Apache를 재기동하여 .php 파일 접근 시 php-fpm으로 연결될 수 있도록 합니다.


systemctl enable php-fpm

# systemctl restart php-fpm

# systemctl restart httpd



# ps axf
31421 ?        Ss     0:00 php-fpm: master process (/etc/php-fpm.conf)
31423 ?        S      0:00  \_ php-fpm: pool www
31424 ?        S      0:00  \_ php-fpm: pool www
31425 ?        S      0:00  \_ php-fpm: pool www
31426 ?        S      0:00  \_ php-fpm: pool www
31427 ?        S      0:00  \_ php-fpm: pool www
31541 ?        Ss     0:00 /usr/sbin/httpd -DFOREGROUND
31550 ?        S      0:00  \_ /usr/sbin/httpd -DFOREGROUND
31551 ?        S      0:00  \_ /usr/sbin/httpd -DFOREGROUND
31552 ?        S      0:00  \_ /usr/sbin/httpd -DFOREGROUND
31553 ?        S      0:00  \_ /usr/sbin/httpd -DFOREGROUND
31554 ?        S      0:00  \_ /usr/sbin/httpd -DFOREGROUND


netstat 명령을 통해 PHP-FPM(9000), Apache(80) 포트가 정상 기동됐는지 확인합니다.


# netstat -nlpt

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name

tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      31421/php-fpm: mast

tcp6       0      0 :::80                   :::*                    LISTEN      31541/httpd





댓글목록

등록된 댓글이 없습니다.


개인정보취급방침 서비스이용약관 모바일 버전으로 보기 상단으로

TEL. 063-469-4551 FAX. 063-469-4560 전북 군산시 대학로 558
군산대학교 컴퓨터정보공학과

Copyright © www.leelab.co.kr. All rights reserved.