HCRM博客

如何配置CentOS上的PHPFPM以优化性能?

CentOS 7和8上安装和配置PHPFPM的步骤略有不同,但整体流程是相似的,下面将详细介绍在CentOS系统上安装和配置PHPFPM的步骤:

CentOS 7 安装 PHPFPM

如何配置CentOS上的PHPFPM以优化性能?-图1
(图片来源网络,侵权删除)

1、安装 Nginx

首先需要安装Nginx,可以通过以下命令进行安装:

```bash

rpm ivh http://nginx.org/packages/centos/7/noARCh/RPMS/nginxreleasecentos70.el7.ngx.noarch.rpm

yum install y nginx

systemctl start nginx

如何配置CentOS上的PHPFPM以优化性能?-图2
(图片来源网络,侵权删除)

systemctl enable nginx

```

2、安装 PHPFPM 及相关组件

使用YUM包管理器安装PHP及其相关组件:

```bash

yum y install php phpfpm phpgd phpmysql phpcommon phppear phpmbstring phpmcrypt

如何配置CentOS上的PHPFPM以优化性能?-图3
(图片来源网络,侵权删除)

systemctl status phpfpm

systemctl start phpfpm

systemctl enable phpfpm

```

3、配置 Nginx 以支持 PHP

编辑Nginx配置文件/etc/nginx/conf.d/default.conf,添加以下内容以支持PHP:

```bash

vim /etc/nginx/conf.d/default.conf

```

在文件中添加以下代码:

```nginx

location ~ \.php$ {

root /usr/share/nginx/html;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

```

修改完配置后,重启Nginx服务:

```bash

systemctl restart nginx

```

4、测试 PHP 环境

创建一个简单的PHP文件来测试PHP是否配置成功:

```bash

vim /usr/share/nginx/html/index.php

```

在文件中添加以下代码:

```php

<?php

phpinfo();

?>

```

访问服务器的IP地址或域名,如果看到PHP信息页面,说明PHP环境配置成功。

CentOS 8 安装 PHPFPM

1、检查并安装 PHP

首先检查是否已经安装了PHP,如果有则卸载旧版本:

```bash

rpm qa | grep php

yum remove y "php*"

```

安装PHP及其相关组件:

```bash

yum install y php

```

2、启动 Nginx 服务

如果尚未安装Nginx,请先安装并启动Nginx:

```bash

yum install y nginx

systemctl start nginx

systemctl enable nginx

```

3、配置 PHPFPM 转发

修改Nginx配置文件/etc/nginx/nginx.conf,确保PHP脚本能够通过Nginx执行:

```bash

vim /etc/nginx/nginx.conf

```

在文件中添加或修改以下内容:

```nginx

server {

listen 80;

server_name localhost;

root /usr/share/nginx/html;

location ~ \.php$ {

root /usr/share/nginx/html;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

}

```

重启Nginx服务以应用更改:

```bash

systemctl restart nginx

```

4、测试 PHP 环境

创建一个简单的PHP文件来测试PHP是否配置成功:

```bash

vim /usr/share/nginx/html/index.php

```

在文件中添加以下代码:

```php

<?php

phpinfo();

?>

```

访问服务器的IP地址或域名,如果看到PHP信息页面,说明PHP环境配置成功。

优化 PHPFPM 配置

在某些情况下,可能需要优化PHPFPM的配置以减少内存使用,以下是一些常见的优化步骤:

1、查看当前 PHPFPM 进程情况

使用以下命令查看当前的PHPFPM进程数和内存使用情况:

```bash

pstree | grep phpfpm

ps auxw | head 1; ps auxw | sort rn k4 | head 50

```

2、修改 PHPFPM 配置文件

进入PHPFPM配置文件目录:

```bash

cd /etc/phpfpm.d/

```

备份原始配置文件:

```bash

cp www.conf www.conf.bak

```

使用文本编辑器打开配置文件:

```bash

vim www.conf

```

根据需要调整以下参数以优化性能和资源使用:

```ini

pm = dynamic # 设置为动态模式

pm.max_children = 25 # 最大子进程数

pm.start_servers = 5 # 动态模式下启动时创建的子进程数

pm.min_spare_servers = 2 # 动态模式下最少空闲进程数

pm.max_spare_servers = 10 # 动态模式下最多空闲进程数

```

保存并关闭文件,然后重启PHPFPM服务以应用更改:

```bash

systemctl restart phpfpm

```

FAQs(常见问题解答)

Q1: PHPFPM 和 Nginx 之间的区别是什么?

A1: PHPFPM(FastCGI Process Manager)是一种用于管理PHP FastCGI进程的工具,而Nginx是一个高性能的HTTP和反向代理服务器,PHPFPM负责处理PHP请求,而Nginx负责接收客户端请求并将其转发给PHPFPM进行处理,简而言之,Nginx作为Web服务器,而PHPFPM作为应用程序服务器。

Q2: 如何查看PHPFPM的版本?

A2: 你可以使用以下命令来查看已安装的PHPFPM版本:

```bash

phpfpm v

```

或者如果你使用的是PHP CLI(Command Line Interface):

```bash

php v

```

分享:
扫描分享到社交APP
上一篇
下一篇