작은숲:위키노트/PHP-FPM 설정: 두 판 사이의 차이
잔글 (문자열 찾아 바꾸기 - "분류:서버" 문자열을 "분류:위키노트/서버" 문자열로) |
잔글 (문자열 찾아 바꾸기 - "<source" 문자열을 "<syntaxhighlight" 문자열로) |
||
| 2번째 줄: | 2번째 줄: | ||
== PHP-FPM 설정 == | == PHP-FPM 설정 == | ||
보안을 위해 <code>php.ini</code> 파일에서 아래 내용을 추가한다. | 보안을 위해 <code>php.ini</code> 파일에서 아래 내용을 추가한다. | ||
< | <syntaxhighlight lang="cfg"> | ||
cgi.fix_pathinfo = 0 | cgi.fix_pathinfo = 0 | ||
</source> | </source> | ||
<code>php-fpm.conf</code> 파일에서 아래 내용을 확인한다. | <code>php-fpm.conf</code> 파일에서 아래 내용을 확인한다. | ||
< | <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> 파일에서 아래 내용을 서버 사양에 맞게 설정한다. | ||
< | <syntaxhighlight lang="cfg"> | ||
[www] | [www] | ||
user = nobody | user = nobody | ||
| 29번째 줄: | 29번째 줄: | ||
</source> | </source> | ||
<code>/dev/shm</code>은 공유 메모리 영역으로 이곳에 소켓 파일을 만들어 조금이라도 처리 속도를 높인다. 유닉스 소켓을 쓰지 않고 TCP 포트를 쓰려면 아래와 같이 수정한다. | <code>/dev/shm</code>은 공유 메모리 영역으로 이곳에 소켓 파일을 만들어 조금이라도 처리 속도를 높인다. 유닉스 소켓을 쓰지 않고 TCP 포트를 쓰려면 아래와 같이 수정한다. | ||
< | <syntaxhighlight lang="cfg"> | ||
[www] | [www] | ||
user = nobody | user = nobody | ||
| 44번째 줄: | 44번째 줄: | ||
== 서비스 설정과 실행 == | == 서비스 설정과 실행 == | ||
소스를 컴파일해서 설치한 경우 서비스 스크립트 파일을 복사해서 서비스로 실행하도록 한다. | 소스를 컴파일해서 설치한 경우 서비스 스크립트 파일을 복사해서 서비스로 실행하도록 한다. | ||
< | <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">
- 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 </source>
같이 보기
| PHP 7.0 | |
|---|---|
| PHP 5.6 | |
| PHP 5.5 | |
| 확장 기능 | |
| 활용 | |
| 소프트웨어 | |