Linux PHP-FPM(FastCGI Process Manager)和Nginx可以通过FastCGI协议协同工作,以提供高效的PHP网站和应用程序服务。以下是它们协同工作的基本步骤:
安装和配置:
/etc/nginx/nginx.conf
或/etc/nginx/sites-available/your-site
),并设置一个location块来处理.php
文件。配置PHP-FPM:
/etc/php/7.x/fpm/pool.d/www.conf
),确保监听地址和端口设置正确。默认情况下,PHP-FPM监听Unix socket(例如/run/php/php7.x-fpm.sock
)或TCP端口(例如127.0.0.1:9000
)。fastcgi_pass
指令指向正确的socket路径。如果使用TCP端口,则指向相应的IP地址和端口。Nginx配置:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.x-fpm.sock; # 或者使用TCP端口,如 fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
sudo systemctl restart nginx
sudo systemctl restart php7.x-fpm
info.php
),其中包含phpinfo();
函数,以验证配置是否正确。http://your-domain.com/info.php
),如果看到PHP信息页面,则表示配置成功。通过以上步骤,Nginx将能够将PHP请求转发给PHP-FPM进行处理,并将处理结果返回给客户端。这种协同工作方式利用了Nginx的高性能和PHP-FPM的灵活性,为网站和应用程序提供了高效的服务。