Maison > développement back-end > tutoriel php > pool php-fpm, journal d'exécution lente PHP, open_basedir, gestion des processus php-fpm

pool php-fpm, journal d'exécution lente PHP, open_basedir, gestion des processus php-fpm

不言
Libérer: 2023-03-24 07:54:02
original
2386 Les gens l'ont consulté

Cet article présente le contenu du pool php-fpm, du journal d'exécution lente de PHP, d'open_basedir et de la gestion des processus php-fpm. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer. >

Configuration du pool de php-fpm


Plusieurs machines virtuelles peuvent être ouvertes dans nginx, et elles nécessitent toutes PHP pour fournir des services, donc afin de garantir que chacune Performances différentes de la machine virtuelle, plusieurs services de pool php-fpm peuvent être activés. Chaque piscine dessert un site.

Méthode 1 :

Ajouter du contenu dans /usr/local/php-fpm/etc/php-fpm.conf :

//两个模块命名为不同名字,监听的socket名字也不一样。在vhost相应的conf的中设置对应路径即可。
[www]
listen = /tmp/www.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

[shuai。com]
listen = /tmp/shuai.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/local/php-fpm/sbin/php-fpm -t  //验证配置是否正确
service php-fpm restart  //重启
[root@shuai-01 etc]# ps aux |grep php-fpm
root       5854  1.2  0.4 227212  4972 ?        Ss   01:41   0:00 php-fpm: master process (/usr/local/php-fpm/etc/php-fpm.conf)
php-fpm    5855  0.0  0.4 227152  4708 ?        S    01:41   0:00 php-fpm: pool www
php-fpm    5856  0.0  0.4 227152  4708 ?        S    01:41   0:00 php-fpm: pool www
php-fpm    5857  0.0  0.4 227152  4708 ?        S    01:41   0:00 php-fpm: pool www
php-fpm    5858  0.0  0.4 227152  4708 ?        S    01:41   0:00 php-fpm: pool www
php-fpm    5859  0.0  0.4 227152  4712 ?        S    01:41   0:00 php-fpm: pool www
php-fpm    5860  0.0  0.4 227152  4712 ?        S    01:41   0:00 php-fpm: pool www
php-fpm    5861  0.0  0.4 227152  4712 ?        S    01:41   0:00 php-fpm: pool www
php-fpm    5862  0.0  0.4 227152  4712 ?        S    01:41   0:00 php-fpm: pool www
php-fpm    5863  0.0  0.4 227152  4716 ?        S    01:41   0:00 php-fpm: pool www
php-fpm    5864  0.0  0.4 227152  4716 ?        S    01:41   0:00 php-fpm: pool www
php-fpm    5865  0.0  0.4 227152  4716 ?        S    01:41   0:00 php-fpm: pool www
php-fpm    5866  0.0  0.4 227152  4716 ?        S    01:41   0:00 php-fpm: pool www
php-fpm    5867  0.0  0.4 227152  4716 ?        S    01:41   0:00 php-fpm: pool www
php-fpm    5868  0.0  0.4 227152  4716 ?        S    01:41   0:00 php-fpm: pool www
php-fpm    5869  0.0  0.4 227152  4716 ?        S    01:41   0:00 php-fpm: pool www
php-fpm    5870  0.0  0.4 227152  4716 ?        S    01:41   0:00 php-fpm: pool www
php-fpm    5871  0.0  0.4 227152  4716 ?        S    01:41   0:00 php-fpm: pool www
php-fpm    5872  0.0  0.4 227152  4716 ?        S    01:41   0:00 php-fpm: pool www
php-fpm    5873  0.0  0.4 227152  4716 ?        S    01:41   0:00 php-fpm: pool www
php-fpm    5874  0.0  0.4 227152  4716 ?        S    01:41   0:00 php-fpm: pool www
php-fpm    5875  0.0  0.4 227152  4712 ?        S    01:41   0:00 php-fpm: pool shuai.com
php-fpm    5876  0.0  0.4 227152  4712 ?        S    01:41   0:00 php-fpm: pool shuai.com
php-fpm    5877  0.0  0.4 227152  4712 ?        S    01:41   0:00 php-fpm: pool shuai.com
php-fpm    5878  0.0  0.4 227152  4712 ?        S    01:41   0:00 php-fpm: pool shuai.com
php-fpm    5879  0.0  0.4 227152  4720 ?        S    01:41   0:00 php-fpm: pool shuai.com
php-fpm    5880  0.0  0.4 227152  4720 ?        S    01:41   0:00 php-fpm: pool shuai.com
php-fpm    5881  0.0  0.4 227152  4720 ?        S    01:41   0:00 php-fpm: pool shuai.com
php-fpm    5882  0.0  0.4 227152  4720 ?        S    01:41   0:00 php-fpm: pool shuai.com
php-fpm    5883  0.0  0.4 227152  4720 ?        S    01:41   0:00 php-fpm: pool shuai.com
php-fpm    5884  0.0  0.4 227152  4720 ?        S    01:41   0:00 php-fpm: pool shuai.com
php-fpm    5885  0.0  0.4 227152  4720 ?        S    01:41   0:00 php-fpm: pool shuai.com
php-fpm    5886  0.0  0.4 227152  4720 ?        S    01:41   0:00 php-fpm: pool shuai.com
php-fpm    5887  0.0  0.4 227152  4720 ?        S    01:41   0:00 php-fpm: pool shuai.com
php-fpm    5888  0.0  0.4 227152  4720 ?        S    01:41   0:00 php-fpm: pool shuai.com
php-fpm    5889  0.0  0.4 227152  4720 ?        S    01:41   0:00 php-fpm: pool shuai.com
php-fpm    5890  0.0  0.4 227152  4720 ?        S    01:41   0:00 php-fpm: pool shuai.com
php-fpm    5891  0.0  0.4 227152  4720 ?        S    01:41   0:00 php-fpm: pool shuai.com
php-fpm    5892  0.0  0.4 227152  4720 ?        S    01:41   0:00 php-fpm: pool shuai.com
php-fpm    5893  0.0  0.4 227152  4720 ?        S    01:41   0:00 php-fpm: pool shuai.com
php-fpm    5894  0.0  0.4 227152  4720 ?        S    01:41   0:00 php-fpm: pool shuai.com
root       5897  0.0  0.0 112684   976 pts/0    S+   01:42   0:00 grep --color=auto php-fpm
Copier après la connexion
Utiliser le pool :

[root@shuai-01 etc]# cd /usr/local/nginx/conf/vhost/
[root@shuai-01 vhost]# ls
aaa.com.conf  ld.conf  proxy.conf  ssl.conf  test.com.conf
Copier après la connexion
Une définition :

[root@shuai-01 vhost]# vi test.com.conf
Copier après la connexion

pool php-fpm, journal dexécution lente PHP, open_basedir, gestion des processus php-fpm

Une définition est :

[root@shuai-01 vhost]# vi aaa.com.conf
Copier après la connexion

pool php-fpm, journal dexécution lente PHP, open_basedir, gestion des processus php-fpm

Méthode 2 :

La première méthode semble désordonnée. Cela peut être similaire à l'instruction include lors de l'ajout d'une machine virtuelle dans nginx.

Ajoutez du contenu dans /usr/local/php-fpm/etc/php-fpm.conf :

include = etc/php-fpm.d/*.conf
Puis supprimez la configuration suivante déclaration.

 mkdir /usr/local/php-fpm/etc/php-fpm.d/
 cd /usr/local/php-fpm/etc/php-fpm.d/
 vim www.conf //内容如下
[www]
listen = /tmp/www.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

vim aming.conf //内容如下
[aming]
listen = /tmp/aming.sock  //监听的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

//检查vhost的conf文件,相应的更改监听sock

/usr/local/php-fpm/sbin/php-fpm -t  //验证配置是否正确
service php-fpm restart  //重启
ps aux |grep php-fpm  //发现aming和www都出现了
Copier après la connexion
Journal d'exécution lente

php-fpm a une fonction très utile, qui est le journal d'exécution lente. Il peut être utilisé très efficacement pour diagnostiquer les problèmes du système. Surtout lorsque l'accès au système est lent.

vim /usr/local/php-fpm/etc/php-fpm.d/www.conf

//Ajoutez le contenu suivant
request_slowlog_timeout = 1 //Enregistre les instructions exécutées pendant plus de une seconde Descendez, dans un environnement de production, cela prend généralement 2 secondes pour écrire ici
slowlog = /usr/local/php-fpm/var/log/www-slow.log //Répertoire de stockage des journaux

vim /data/wwwroot/test.com/sleep.php
//写入如下内容
 <?php echo "test slow log";
 sleep(2);
 echo "done";
 ?>


[root@cent01 vhost]# curl -x127.0.0.1:80 test.com/sleep.php  //测试
Copier après la connexion
Test Lorsqu'une erreur 502 se produit, le *.sock surveillé dans le pool est différent du fichier de configuration principal.

test slow logdone
[root@cent01 vhost]# cat /usr/local/php-fpm/var/log/www-slow.log  //慢日志提示第三行花费的时间太多
[16-Nov-2017 20:20:39]  [pool www] pid 14208
script_filename = /data/nginx/test.com/sleep.php
[0x00007f630f62f270] sleep() /data/nginx/test.com/sleep.php:3
Copier après la connexion

当php文件遇到错误时,查错可以在/etc/init.d/php-fpm.ini 文件中打开display_error功能,这样错误就能直接在浏览器上显示。

open_basedir

open_basedir如果在php.ini中定义就不合适,在pool中定义刚刚好,在Apache中定义在虚拟主机配置文件。

可以直接在/usr/local/php-fpm/etc/php-fpm.d/www.conf中添加如下语句:

php_admin_value[open_basedir]=/data/nginx/aming.com:/tmp/

配置完成后重启服务 service php-fpm restart 或者 /etc/init.d/php-fpm restart

其中路径需要配置正确。否则会报错。

将配置文件改为如下几行。

[root@shuai-01 php-fpm.d]# vi /usr/local/php-fpm/etc/php.ini 

error_log=/usr/local/php-fpm/var/log/php_errors.log
error_reporting=E_ALL
display_errors = Off
log_errors = On
Copier après la connexion

创建一个存放错误日志的文件

[root@shuai-01 php-fpm.d]# touch /usr/local/php-fpm/var/log/php_errors.log
[root@shuai-01 php-fpm.d]# chmod 777 /usr/local/php-fpm/var/log/php_errors.log
Copier après la connexion

php-fpm进程管理

[root@shuai-01 php-fpm.d]# cat www.conf 
[www]
listen = /tmp/www.sock
listen.mode=666
user = php-fpm
group = php-fpm
pm = dynamic //动态的
;pm = static
pm.max_children = 50 //最大子进程50个
pm.start_servers = 20 // 启动的时候20个
pm.min_spare_servers = 5 //空闲时,最少有5个
pm.max_spare_servers = 35 //空闲时,最大有35个
pm.max_requests = 500 // 一个进程最多的请求数
rlimit_files = 1024
request_slowlog_timeout = 1  
slowlog = /usr/local/php-fpm/var/log/www-slow.log  
php_admin_value[open_basedir]=/data/wwwroot/test.com:/tmp/
Copier après la connexion

 相关推荐:

php配置php-fpm启动参数及配置详

详解open_basedir 配置项的文件权限问题

PHP 配置文件中open_basedir选项作用

          

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal