LNMP 구조 4 (pp - fpm 설정 상세 설명)
6098 단어 『LNMP 실전 시리즈 스 킬
LAMP 와 달리 LNMP 구조 에서 php - fpm 는 독립 된 서비스 로 존재 합 니 다. 독립 된 서비스 라면 반드시 자신의 프로필 이 있 을 것 입 니 다.php - fpm 의 설정 파일 은 / usr / local / php - fpm / etc / php - fpm. conf 입 니 다. include 문 구 를 지원 합 니 다. ngix. conf 의 include 와 유사 합 니 다.
Nginx 는 여러 개의 가상 호스트 를 설정 할 수 있 습 니 다. phop - fpm 설정 파일 phop - fpm. conf 는 여러 개의 pool 을 설정 할 수 있 습 니 다. 각각 pool 은 하나의 포트 를 감청 할 수 있 습 니 다. 그 중 하나의 pool 자원 이 다 소모 되면 다른 사이트 에서 자원 에 접근 할 수 없 게 되 고 502 오 류 를 보고 할 수 있 습 니 다.사 이 트 를 분리 해서 각각 풀 을 사용 할 필요 가 있다.
1. php - fpm. conf 중요 매개 변수
pid = run
/php-fpm
.pid
#pid , var/run/php-fpm.pid,
error_log = log
/php-fpm
.log
# , var/log/php-fpm.log
log_level = notice
# . : alert( ), error( ), warning( ), notice( ), debug( ). : notice.
emergency_restart_threshold = 60
emergency_restart_interval = 60s
# emergency_restart_interval SIGSEGV SIGBUS php-cgi emergency_restart_threshold ,php-fpm 。 。
process_control_timeout = 0
# . : s( ), m( ), h( ), d( ) : s( ). : 0.
daemonize =
yes
# fpm, yes, no。 FPM , 。 。
listen = 127.0.0.1:9000
#fpm , nginx php , 。 : 'ip:port', 'port', '/path/to/unix/socket'. .
listen.backlog = -1
#backlog ,-1 , , 。
listen.allowed_clients = 127.0.0.1
# FastCGI IP, any IP, nginx FPM ,listen IP。 any。 . ,
listen.owner = www
listen.group = www
listen.mode = 0666
#unix socket , tcp , 。
user = www
group = www
#
pm = dynamic
# ,pm static。
# , static dynamic。 static, pm.max_children 。 dynamic, :
pm.max_children
#,
pm.start_servers
#,
pm.min_spare_servers
#, , ,
pm.max_spare_servers
#, , ,
pm.max_requests = 1000
# . . '0' . PHP_FCGI_MAX_REQUESTS . : 0.
pm.status_path =
/status
#FPM . , . : none. munin
ping
.path =
/ping
#FPM ping . , ping . FPM . (/)。
ping
.response = pong
# ping . HTTP 200 text/plain . : pong.
request_terminate_timeout = 0
# . php.ini 'max_execution_time' . '0' 'Off'. 502 。
request_slowlog_timeout = 10s
# , PHP . '0' 'Off'
slowlog = log/$pool.log.slow
# , request_slowlog_timeout
rlimit_files = 1024
# rlimit . : 1024, ulimit -n ,ulimit -n 2048 。
rlimit_core = 0
# rlimit . : 'unlimited' 、0 . : .
chroot =
# Chroot . . , chroot .
chdir =
# , Chdir . . : , / (chroot )
catch_workers_output =
yes
# stdout stderr . , stdout stderr FastCGI /dev/null . : .
예 를 들 면:
pool 만 들 기
# cat php-fpm.conf [global] pid = /usr/local/php-fpm/var/run/php-fpm.pid error_log = /usr/local/php-fpm/var/log/php-fpm.log
。。。。。。。。
。。。。。。。。 [www] listen = /tmp/php-fcgi.sock #listen =127.0.0.1:9000 listen.mode = 666 user = php-fpm group = php-fpm pm = dynamic pm.max_children = 50 pm.start_servers = 20 pm.min_spare_servers = 5 pm.max_spare_servers = 35 pm.max_requests = 500 rlimit_files = 1024
PHP - fpm 프로 세 스 관리
여러 pool 만 들 기
# cat php-fpm.conf [global] pid = /usr/local/php-fpm/var/run/php-fpm.pid error_log = /usr/local/php-fpm/var/log/php-fpm.log
include = etc/php-fpm.d/*.conf
[root@global php-fpm.d]# vi www.conf [www] listen = /tmp/php-fcgi.sock #listen =127.0.0.1:9000 listen.mode = 666 user = php-fpm group = php-fpm pm = dynamic pm.max_children = 50 pm.start_servers = 20 pm.min_spare_servers = 5 pm.max_spare_servers = 35 pm.max_requests = 500 rlimit_files = 1024
[root@global php-fpm.d]# vi xavi.conf [xavi.com] listen = /tmp/xavier.sock #listen =127.0.0.1:9000 listen.mode = 666 user = php-fpm group = php-fpm pm = dynamic pm.max_children = 50 pm.start_servers = 20 pm.min_spare_servers = 5 pm.max_spare_servers = 35 pm.max_requests = 500 rlimit_files = 1024