r3421555 发表于 2017-8-18 08:51:03

[LNMP]php-fpm相关配置

php-fpm pool

方式一
1、编辑php-fpm配置文件


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# vi /usr/local/php-fpm/etc/php-fpm.conf

pid = /usr/local/php-fpm/var/run/php-fpm.pid
error_log = /usr/local/php-fpm/var/log/php-fpm.log

listen = /tmp/php-fcgi.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
#####添加以下内容#####

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




2、检查与重载


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# /usr/local/php-fpm/sbin/php-fpm -t
NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful

# /etc/init.d/php-fpm reload
Reload service php-fpmdone
# ps aux |grep php-fpm
root      883310.00.1 2267564976 ?      Ss   21:15   0:00 php-fpm: master process (/usr/local/php-fpm/etc/php-fpm.conf)
php-fpm   883320.00.1 2266964712 ?      S    21:15   0:00 php-fpm: pool www
php-fpm   883330.00.1 2266964712 ?      S    21:15   0:00 php-fpm: pool www
php-fpm   883340.00.1 2266964712 ?      S    21:15   0:00 php-fpm: pool www
php-fpm   883350.00.1 2266964712 ?      S    21:15   0:00 php-fpm: pool www
php-fpm   883360.00.1 2266964716 ?      S    21:15   0:00 php-fpm: pool www
php-fpm   883370.00.1 2266964716 ?      S    21:15   0:00 php-fpm: pool www
php-fpm   883380.00.1 2266964716 ?      S    21:15   0:00 php-fpm: pool www
php-fpm   883390.00.1 2266964716 ?      S    21:15   0:00 php-fpm: pool www
php-fpm   883400.00.1 2266964716 ?      S    21:15   0:00 php-fpm: pool www
php-fpm   883410.00.1 2266964716 ?      S    21:15   0:00 php-fpm: pool www
php-fpm   883420.00.1 2266964716 ?      S    21:15   0:00 php-fpm: pool www
php-fpm   883430.00.1 2266964720 ?      S    21:15   0:00 php-fpm: pool www
php-fpm   883440.00.1 2266964720 ?      S    21:15   0:00 php-fpm: pool www
php-fpm   883450.00.1 2266964720 ?      S    21:15   0:00 php-fpm: pool www
php-fpm   883460.00.1 2266964720 ?      S    21:15   0:00 php-fpm: pool www
php-fpm   883470.00.1 2266964720 ?      S    21:15   0:00 php-fpm: pool www
php-fpm   883480.00.1 2266964720 ?      S    21:15   0:00 php-fpm: pool www
php-fpm   883490.00.1 2266964720 ?      S    21:15   0:00 php-fpm: pool www
php-fpm   883500.00.1 2266964720 ?      S    21:15   0:00 php-fpm: pool www
php-fpm   883510.00.1 2266964720 ?      S    21:15   0:00 php-fpm: pool www
php-fpm   883520.00.1 2266964716 ?      S    21:15   0:00 php-fpm: pool test.com
php-fpm   883530.00.1 2266964716 ?      S    21:15   0:00 php-fpm: pool test.com
php-fpm   883540.00.1 2266964716 ?      S    21:15   0:00 php-fpm: pool test.com
php-fpm   883550.00.1 2266964716 ?      S    21:15   0:00 php-fpm: pool test.com
php-fpm   883560.00.1 2266964720 ?      S    21:15   0:00 php-fpm: pool test.com
php-fpm   883570.00.1 2266964720 ?      S    21:15   0:00 php-fpm: pool test.com
php-fpm   883580.00.1 2266964720 ?      S    21:15   0:00 php-fpm: pool test.com
php-fpm   883590.00.1 2266964724 ?      S    21:15   0:00 php-fpm: pool test.com
php-fpm   883600.00.1 2266964724 ?      S    21:15   0:00 php-fpm: pool test.com
php-fpm   883610.00.1 2266964724 ?      S    21:15   0:00 php-fpm: pool test.com
php-fpm   883620.00.1 2266964724 ?      S    21:15   0:00 php-fpm: pool test.com
php-fpm   883630.00.1 2266964724 ?      S    21:15   0:00 php-fpm: pool test.com
php-fpm   883640.00.1 2266964724 ?      S    21:15   0:00 php-fpm: pool test.com
php-fpm   883650.00.1 2266964724 ?      S    21:15   0:00 php-fpm: pool test.com
php-fpm   883660.00.1 2266964724 ?      S    21:15   0:00 php-fpm: pool test.com
php-fpm   883670.00.1 2266964724 ?      S    21:15   0:00 php-fpm: pool test.com
php-fpm   883680.00.1 2266964724 ?      S    21:15   0:00 php-fpm: pool test.com
php-fpm   883690.00.1 2266964724 ?      S    21:15   0:00 php-fpm: pool test.com
php-fpm   883700.00.1 2266964724 ?      S    21:15   0:00 php-fpm: pool test.com
php-fpm   883710.00.1 2266964724 ?      S    21:15   0:00 php-fpm: pool test.com
root      884920.00.0 112652968 pts/0   S+   21:16   0:00 grep --color=auto php-fpm




3、编辑网站配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# vi /usr/local/nginx/conf/vhost/default.conf
server
{
    listen 80 default_server;
    server_name aaa.com;
    index index.html index.htm index.php;
    root /data/wwwroot/default;
    access_log /tmp/default.log juispan;
    location ~ \.php$
    {
      include fastcgi_params;
      fastcgi_pass unix:/tmp/test.sock;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME /data/wwwroot/default$fastcgi_script_name;
    }
}




方式二
1、编辑php-fpm配置文件

1
2
3
4
5
# vi /usr/local/php-fpm/etc/php-fpm.conf

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




2、编辑网站配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# mkdir /usr/local/php-fpm/etc/php-fpm.d
# vi /usr/local/php-fpm/etc/php-fpm.d/test.conf

listen = /tmp/test.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
# vi /usr/local/php-fpm/etc/php-fpm.d/abc.conf

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




3、检查与重载


1
2
3
4
5
# /usr/local/php-fpm/sbin/php-fpm -t
NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful

# /etc/init.d/php-fpm reload
Reload service php-fpmdone




4、检查效果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# ps aux |grep php-fpm
root      919550.10.1 2267844980 ?      Ss   21:50   0:00 php-fpm: master process (/usr/local/php-fpm/etc/php-fpm.conf)
php-fpm   919560.00.1 2267244728 ?      S    21:50   0:00 php-fpm: pool www
php-fpm   919570.00.1 2267244728 ?      S    21:50   0:00 php-fpm: pool www
php-fpm   919580.00.1 2267244728 ?      S    21:50   0:00 php-fpm: pool www
php-fpm   919590.00.1 2267244728 ?      S    21:50   0:00 php-fpm: pool www
php-fpm   919600.00.1 2267244732 ?      S    21:50   0:00 php-fpm: pool www
php-fpm   919610.00.1 2267244732 ?      S    21:50   0:00 php-fpm: pool www
php-fpm   919620.00.1 2267244732 ?      S    21:50   0:00 php-fpm: pool www
php-fpm   919630.00.1 2267244732 ?      S    21:50   0:00 php-fpm: pool www
php-fpm   919640.00.1 2267244732 ?      S    21:50   0:00 php-fpm: pool www
php-fpm   919650.00.1 2267244732 ?      S    21:50   0:00 php-fpm: pool www
php-fpm   919660.00.1 2267244736 ?      S    21:50   0:00 php-fpm: pool www
php-fpm   919670.00.1 2267244736 ?      S    21:50   0:00 php-fpm: pool www
php-fpm   919680.00.1 2267244736 ?      S    21:50   0:00 php-fpm: pool www
php-fpm   919690.00.1 2267244736 ?      S    21:50   0:00 php-fpm: pool www
php-fpm   919700.00.1 2267244736 ?      S    21:50   0:00 php-fpm: pool www
php-fpm   919710.00.1 2267244736 ?      S    21:50   0:00 php-fpm: pool www
php-fpm   919720.00.1 2267244736 ?      S    21:50   0:00 php-fpm: pool www
php-fpm   919730.00.1 2267244736 ?      S    21:50   0:00 php-fpm: pool www
php-fpm   919740.00.1 2267244736 ?      S    21:50   0:00 php-fpm: pool www
php-fpm   919750.00.1 2267244736 ?      S    21:50   0:00 php-fpm: pool www
php-fpm   919760.00.1 2267244732 ?      S    21:50   0:00 php-fpm: pool test
php-fpm   919770.00.1 2267244732 ?      S    21:50   0:00 php-fpm: pool test
php-fpm   919780.00.1 2267244732 ?      S    21:50   0:00 php-fpm: pool test
php-fpm   919790.00.1 2267244732 ?      S    21:50   0:00 php-fpm: pool test
php-fpm   919800.00.1 2267244736 ?      S    21:50   0:00 php-fpm: pool test
php-fpm   919810.00.1 2267244736 ?      S    21:50   0:00 php-fpm: pool test
php-fpm   919820.00.1 2267244740 ?      S    21:50   0:00 php-fpm: pool test
php-fpm   919830.00.1 2267244740 ?      S    21:50   0:00 php-fpm: pool test
php-fpm   919840.00.1 2267244740 ?      S    21:50   0:00 php-fpm: pool test
php-fpm   919850.00.1 2267244740 ?      S    21:50   0:00 php-fpm: pool test
php-fpm   919860.00.1 2267244740 ?      S    21:50   0:00 php-fpm: pool test
php-fpm   919870.00.1 2267244740 ?      S    21:50   0:00 php-fpm: pool test
php-fpm   919880.00.1 2267244740 ?      S    21:50   0:00 php-fpm: pool test
php-fpm   919890.00.1 2267244740 ?      S    21:50   0:00 php-fpm: pool test
php-fpm   919900.00.1 2267244740 ?      S    21:50   0:00 php-fpm: pool test
php-fpm   919910.00.1 2267244740 ?      S    21:50   0:00 php-fpm: pool test
php-fpm   919920.00.1 2267244740 ?      S    21:50   0:00 php-fpm: pool test
php-fpm   919930.00.1 2267244740 ?      S    21:50   0:00 php-fpm: pool test
php-fpm   919940.00.1 2267244740 ?      S    21:50   0:00 php-fpm: pool test
php-fpm   919950.00.1 2267244740 ?      S    21:50   0:00 php-fpm: pool test
root      920120.00.0 112652968 pts/0   S+   21:50   0:00 grep --color=auto php-fpm






慢执行日志
1、编辑网站配置文件


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# vi /usr/local/php-fpm/etc/php-fpm.d/test.conf

listen = /tmp/test.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
request_slowlog_timeout = 2          ##超过2秒记录日志
slowlog = /usr/local/php-fpm/var/log/test_slow.log




2、检查与重载


1
2
3
4
5
6
# /usr/local/php-fpm/sbin/php-fpm -t
NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful

# /etc/init.d/php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpmdone




3、检查效果


1
2
3
4
5
# cat /usr/local/php-fpm/var/log/test_slow.log

pid 92722
script_filename = /data/wwwroot/default/1.php
sleep() /data/wwwroot/default/1.php:3





open_basedir
1、配置网站配置文件


1
# echo "php_admin_value=/data/wwwroot/default:/tmp/" >> /usr/local/php-fpm/etc/php-fpm.d/test.conf##限制default目录下不可以访问其他站点资源




2、编辑php.ini文件

1
2
# vi /usr/local/php-fpm/etc/php.ini
errot_log = /usr/local/php-fpm/var/log/php_error.log




3、检查与重载


1
2
3
4
5
6
# /usr/local/php-fpm/sbin/php-fpm -t
NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful

# /etc/init.d/php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpmdone




3、测试效果

1
2
3
4
5
6
# touch /usr/local/php-fpm/var/log/php_error.log
# chmod 777 /usr/local/php-fpm/var/log/php_error.log
# curl -x127.0.0.1:80 abc.com/2.php
File not found.
# ls /data/wwwroot/abc.com/
2.php





进程管理
▎配置文件参数详解:
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的子进程最多可以处理这么多请求,当达到这个数值时,它会自动退出。



云雀运维 发表于 2017-8-25 17:44:17

好复杂的样子!!!! itss
页: [1]
查看完整版本: [LNMP]php-fpm相关配置