在CentOS系统上,PHP-FPM(FastCGI Process Manager)和Nginx可以通过以下步骤协同工作,以提供高效的PHP处理能力:
安装Nginx和PHP-FPM: 首先,确保你的CentOS系统已经安装了Nginx和PHP-FPM。你可以使用以下命令来安装它们:
sudo yum install epel-release
sudo yum install nginx
sudo yum install php-fpm php-mysqlnd
配置PHP-FPM:
编辑PHP-FPM的配置文件,通常位于/etc/php-fpm.d/www.conf或/etc/php-fpm.conf。确保监听地址和端口设置正确,例如:
listen = /run/php-fpm/www.sock
listen.owner = nginx
listen.group = nginx
这里的listen.owner和listen.group应该设置为Nginx运行的用户和组。
启动并启用PHP-FPM服务: 使用以下命令启动PHP-FPM服务,并设置开机自启:
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
配置Nginx:
编辑Nginx的配置文件,通常位于/etc/nginx/nginx.conf或/etc/nginx/conf.d/default.conf。在server块中添加一个location块来处理PHP文件:
server {
listen 80;
server_name example.com; # 替换为你的域名或IP地址
root /var/www/html; # 替换为你的网站根目录
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/www.sock; # 使用UNIX套接字
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
这里的fastcgi_pass指令指定了PHP-FPM的监听地址和端口。使用UNIX套接字通常比TCP/IP套接字更高效。
重启Nginx服务: 使用以下命令重启Nginx服务,以应用配置更改:
sudo systemctl restart nginx
测试配置:
创建一个简单的PHP文件(例如info.php),并将其放置在网站根目录下,内容如下:
<?php
phpinfo();
在浏览器中访问该文件(例如http://example.com/info.php),如果看到PHP信息页面,则说明Nginx和PHP-FPM已经成功协同工作。
通过以上步骤,你可以在CentOS系统上配置Nginx和PHP-FPM协同工作,提供高效的PHP处理能力。