003_PHP 구성

PHP 구성

풀 1. PHP-FPM

1.1 개방 풀 구성

#### 编辑 php-fpm 配置文件 php-fpm.con
vim /usr/local/php/etc/php-fpm.conf
#### 在[global]部分增加以下内容
include = etc/php-fpm.d/*.conf  # 相当与Nginx的虚拟主机文件 “vhost” 的配置
#### 创建存放pool配置文件目录
mkdir /usr/local/php/etc/php-fpm.d/
cd /usr/local/php/etc/php-fpm.d/

1.2 풀 구성 파일 www를 만들기

vim www.conf
#### 内容如下
[test]
listen = /tmp/test.sock
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

1.3 풀 구성 파일 TEST2 만들기

vim test2.conf
#### 内容如下
[admin]
listen = /tmp/test2.sock
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

/ usr / 지방 / PHP / sbin에 / PHP-FPM -t

/etc/init.d/php-fpm 다시 시작

2. PHP-FPM 느린 실행 로그

2.1 터닝 느린 로그 구성

#### 编辑php-fpm的pool文件;
vim /usr/local/php-fpm/etc/php-fpm.d/test2.conf
#### 添加慢日志记录配置
request_slowlog_timeout = 1
# 超过1秒的php解析 记录一次慢日志,实际生产环境中 设置2秒
slowlog = /usr/local/php-fpm/var/log/test2-slow.log
# 慢日志存放路径、名称

2.2 테스트 느린 로그 구성

가상 호스트 구성 test2.com.conf의 nginx, 그리고 유닉스 : /tmp/php-fcgi.sock 유닉스를 읽어 /tmp/test2.sock를

다시로드의 nginx 서비스

#### 创建测试html页面
vim /data/wwwroot/test2.com/sleep.php
#### 内容如下
<?php
echo "test slow log";
sleep(2);
echo "done";
?>

curl -x127.0.0.1:80 test2.com/sleep.php

cat /usr/local/php-fpm/var/log/test2-slow.log

3. PHP-FPM은 open_basedir을 정의

3.1 개방의 open_basedir 구성

open_basedir을 제한 디렉토리 PHP 구문 분석

LAMP 아키텍처의 open_basedir은 아파치 설정에서 설정 될 수 LNMP 아키텍처 설정을 직접 PHP의 설정 파일에

vim /usr/local/php-fpm/etc/php-fpm.d/admin.conf
#### 配置文件中加入如下内容
php_admin_value[open_basedir]=/data/wwwroot/test.com:/tmp/
# 这里限制的目录为“/data/wwwroot/test.com”/和“/tmp/”目录

오류 로그를보고 다시 구성 오류 로그, 테스트, 다시 test.conf 변화를 다시의 open_basedir 경로 테스트를 수정, 시험하기위한 테스트 PHP 스크립트 만들기

오류 로그 3.2 PHP-FPM 구성

구성 파일을 편집 :

vim /opt/php-fpm/etc/php.ini
……
display_errors = Off
;错误显示 “Off 关闭” “On 开启” ,开启后会在浏览器中显示错误信息;生产环境不开启
……
error_log = error_log = /opt/php-fpm/var/log/error.log
;定义日志位置、日志名称
……
error_reporting = E_ALL
;定义日志级别
……

로그 파일을 만듭니다

#### 创建错误日志文件
touch  /opt/php-fpm/var/log/error.log
#### 设置权限777 (创建日志文件,设置权限,防止因权限问题导致日志无法记录)
chmod 777 /opt/php-fpm/var/log/error.log

4. PHP-FPM 프로세스 관리

매개 변수 설명 섹션 프로파일 PHP-fpm.conf

pm = dynamic
//动态进程管理,也可以是static
pm.max_children = 50
//最大子进程数,ps aux可以查看
pm.start_servers = 20
//启动服务时会启动的进程数
pm.min_spare_servers = 5
//定义在空闲时段,子进程数的最少数量,如果达到这个数值时,php-fpm服务会自动派生新的子进程。
pm.max_spare_servers = 35
//定义在空闲时段,子进程数的最大值,如果高于这个数值就开始清理空闲的子进程。
pm.max_requests = 500
//定义一个子进程最多处理的请求数,也就是说在一个php-fpm的子进程最多可以处理这么多请求,当达到这个数值时,它会自动退出。

추천

출처www.cnblogs.com/cy-8593/p/12333617.html