작은숲:위키노트/PHP-FPM 설정: 두 판 사이의 차이

큰숲백과, 나무를 보지 말고 큰 숲을 보라.
잔글 (문자열 찾아 바꾸기 - "분류:서버" 문자열을 "분류:위키노트/서버" 문자열로)
잔글 (문자열 찾아 바꾸기 - "<source" 문자열을 "<syntaxhighlight" 문자열로)
2번째 줄: 2번째 줄:
== PHP-FPM 설정 ==
== PHP-FPM 설정 ==
보안을 위해 <code>php.ini</code> 파일에서 아래 내용을 추가한다.
보안을 위해 <code>php.ini</code> 파일에서 아래 내용을 추가한다.
<source lang="cfg">
<syntaxhighlight lang="cfg">
cgi.fix_pathinfo = 0
cgi.fix_pathinfo = 0
</source>
</source>
<code>php-fpm.conf</code> 파일에서 아래 내용을 확인한다.
<code>php-fpm.conf</code> 파일에서 아래 내용을 확인한다.
<source lang="cfg">
<syntaxhighlight lang="cfg">
[global]
[global]
pid = run/php-fpm.pid
pid = run/php-fpm.pid
13번째 줄: 13번째 줄:
위와 같이 설정하면 <code>/usr/local/php70/var</code> 디렉토리 아래에 PID 파일과 로그 파일이 만들어진다.
위와 같이 설정하면 <code>/usr/local/php70/var</code> 디렉토리 아래에 PID 파일과 로그 파일이 만들어진다.
<code>php-fpm.d/www.conf</code> 파일에서 아래 내용을 서버 사양에 맞게 설정한다.
<code>php-fpm.d/www.conf</code> 파일에서 아래 내용을 서버 사양에 맞게 설정한다.
<source lang="cfg">
<syntaxhighlight lang="cfg">
[www]
[www]
user = nobody
user = nobody
29번째 줄: 29번째 줄:
</source>
</source>
<code>/dev/shm</code>은 공유 메모리 영역으로 이곳에 소켓 파일을 만들어 조금이라도 처리 속도를 높인다. 유닉스 소켓을 쓰지 않고 TCP 포트를 쓰려면 아래와 같이 수정한다.
<code>/dev/shm</code>은 공유 메모리 영역으로 이곳에 소켓 파일을 만들어 조금이라도 처리 속도를 높인다. 유닉스 소켓을 쓰지 않고 TCP 포트를 쓰려면 아래와 같이 수정한다.
<source lang="cfg">
<syntaxhighlight lang="cfg">
[www]
[www]
user = nobody
user = nobody
44번째 줄: 44번째 줄:
== 서비스 설정과 실행 ==
== 서비스 설정과 실행 ==
소스를 컴파일해서 설치한 경우 서비스 스크립트 파일을 복사해서 서비스로 실행하도록 한다.
소스를 컴파일해서 설치한 경우 서비스 스크립트 파일을 복사해서 서비스로 실행하도록 한다.
<source lang="console">
<syntaxhighlight lang="console">
# cp /usr/local/src/php-7.0.4/sapi/fpm/init.d.php-fpm /etc/init.d/php7-fpm
# 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
# chmod +x /etc/init.d/php7-fpm

2021년 3월 28일 (일) 12:51 판

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

PHP-FPM 설정

보안을 위해 php.ini 파일에서 아래 내용을 추가한다. <syntaxhighlight lang="cfg"> cgi.fix_pathinfo = 0 </source> php-fpm.conf 파일에서 아래 내용을 확인한다. <syntaxhighlight lang="cfg"> [global] pid = run/php-fpm.pid error_log = log/php-fpm.log </source> 위와 같이 설정하면 /usr/local/php70/var 디렉토리 아래에 PID 파일과 로그 파일이 만들어진다. php-fpm.d/www.conf 파일에서 아래 내용을 서버 사양에 맞게 설정한다. <syntaxhighlight lang="cfg"> [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 </source> /dev/shm은 공유 메모리 영역으로 이곳에 소켓 파일을 만들어 조금이라도 처리 속도를 높인다. 유닉스 소켓을 쓰지 않고 TCP 포트를 쓰려면 아래와 같이 수정한다. <syntaxhighlight lang="cfg"> [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 </source>

서비스 설정과 실행

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

  1. cp /usr/local/src/php-7.0.4/sapi/fpm/init.d.php-fpm /etc/init.d/php7-fpm
  2. chmod +x /etc/init.d/php7-fpm
  3. service php7-fpm start

Starting php-fpm done

  1. 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

  1. chkconfig php7-fpm on
  2. chkconfig --list | grep php7-fpm

php7-fpm 0:off 1:off 2:on 3:on 4:on 5:on 6:off </source>

같이 보기

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