PHP 7.0설치한 후 작은숲:위키노트/PHP-FPM으로 운용하기 위해 아래와 같이 설정한다.

PHP-FPM 설정

보안을 위해 php.ini 파일에서 아래 내용을 추가한다.

cgi.fix_pathinfo = 0

php-fpm.conf 파일에서 아래 내용을 확인한다.

[global]
pid = run/php-fpm.pid
error_log = log/php-fpm.log

위와 같이 설정하면 /usr/local/php70/var 디렉토리 아래에 PID 파일과 로그 파일이 만들어진다. php-fpm.d/www.conf 파일에서 아래 내용을 서버 사양에 맞게 설정한다.

[www]
user = nobody
group = nobody
listen = /dev/shm/php7-fpm.sock
listen.owner = nobody
listen.group = nobody
listen.mode = 0660
pm = dynamic
pm.max_children = 50
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
pm.max_requests = 500

/dev/shm은 공유 메모리 영역으로 이곳에 소켓 파일을 만들어 조금이라도 처리 속도를 높인다. 유닉스 소켓을 쓰지 않고 TCP 포트를 쓰려면 아래와 같이 수정한다.

[www]
user = nobody
group = nobody
listen = 127.0.0.1:9000
listen.allowed_clients = 127.0.0.1
pm = dynamic
pm.max_children = 50
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
pm.max_requests = 500

서비스 설정과 실행

소스를 컴파일해서 설치한 경우 서비스 스크립트 파일을 복사해서 서비스로 실행하도록 한다.

# cp /usr/local/src/php-7.0.4/sapi/fpm/init.d.php-fpm /etc/init.d/php7-fpm
# chmod +x /etc/init.d/php7-fpm
# service php7-fpm start
Starting php-fpm  done
# ps aux | grep php | grep -v grep
root     25268  0.0  0.0 234224  6844 ?        Ss   03:08   0:00 php-fpm: master process (/usr/local/php70/etc/php-fpm.conf)
nobody   25269  0.0  0.0 234224  6340 ?        S    03:08   0:00 php-fpm: pool www
nobody   25270  0.0  0.0 234224  6340 ?        S    03:08   0:00 php-fpm: pool www
# chkconfig php7-fpm on
# chkconfig --list | grep php7-fpm
php7-fpm        0:off   1:off   2:on    3:on    4:on    5:on    6:off

같이 보기

이 작은숲 문서의 출처는 위키노트의 위키노트/PHP-FPM 설정 문서입니다.