PHP-FPM(FastCGI Process Manager)和Nginx是两个常用的Web服务器组件,它们可以协同工作来提供高性能的PHP网站和应用服务。以下是它们如何协同工作的基本步骤:
安装和配置Nginx:
/etc/nginx/nginx.conf或/etc/nginx/sites-available/yourdomain)中,设置一个server块来监听端口80(HTTP)或443(HTTPS)。安装和配置PHP-FPM:
/etc/php/7.x/fpm/pool.d/www.conf),并设置listen指令为一个Unix socket(例如/var/run/php/php7.x-fpm.sock)或TCP/IP端口(例如127.0.0.1:9000)。更新Nginx配置以使用PHP-FPM:
fastcgi_pass指令将请求传递给PHP-FPM。如果你使用Unix socket,配置可能如下所示:location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.x-fpm.sock; } 如果你使用TCP/IP端口,配置可能如下所示:location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass 127.0.0.1:9000; } 重启服务:
sudo systemctl restart nginx sudo systemctl restart php7.x-fpm 测试配置:
info.php),内容为<?php phpinfo(); ?>,并将其放置在Nginx的根目录下。通过这种方式,Nginx作为反向代理服务器接收客户端的HTTP请求,并将处理PHP脚本的请求转发给PHP-FPM。PHP-FPM处理这些请求并返回生成的HTML给Nginx,然后Nginx将这些响应发送回客户端。这种分离处理HTTP和PHP的方式可以提高性能和安全性。