CentOS 7和8上安装和配置PHPFPM的步骤略有不同,但整体流程是相似的,下面将详细介绍在CentOS系统上安装和配置PHPFPM的步骤:
CentOS 7 安装 PHPFPM
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
systemctl enable nginx
```
2、安装 PHPFPM 及相关组件
使用YUM包管理器安装PHP及其相关组件:
```bash
yum y install php phpfpm phpgd phpmysql phpcommon phppear phpmbstring phpmcrypt
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
```