PHP-FPM(FastCGI Process Manager)是一个PHP FastCGI实现,它可以提高PHP脚本的执行速度。Nginx是一个高性能的HTTP和反向代理服务器。将PHP-FPM与Nginx配合使用,可以提高网站性能和安全性。以下是配置Nginx与PHP-FPM配合使用的步骤:
在大多数Linux发行版中,可以使用包管理器(如apt或yum)安装Nginx和PHP-FPM。例如,在Ubuntu上,可以使用以下命令安装:
sudo apt-get update
sudo apt-get install nginx php-fpm
编辑PHP-FPM配置文件(通常位于/etc/php/版本号/fpm/pool.d/www.conf),设置监听地址和端口。例如:
listen = 127.0.0.1:9000
这里的127.0.0.1表示PHP-FPM只接受来自本地的连接,9000是端口号。你也可以使用Unix套接字(如/var/run/php/php7.4-fpm.sock)代替TCP端口。
编辑Nginx的站点配置文件(通常位于/etc/nginx/sites-available/默认),在location块中添加以下内容:
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000; # 或者使用Unix套接字:fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
这里的fastcgi_pass指令告诉Nginx将PHP请求转发到PHP-FPM。fastcgi_index指定默认的PHP入口文件,fastcgi_param设置传递给PHP-FPM的参数。
为了使配置生效,需要重启Nginx和PHP-FPM服务:
sudo systemctl restart nginx
sudo systemctl restart php-fpm
创建一个名为info.php的文件,放在Nginx的根目录下(例如/var/www/html),并添加以下内容:
<?php
phpinfo();
?>
在浏览器中访问http://your_server_ip/info.php,如果看到PHP信息页面,说明Nginx已成功与PHP-FPM配合使用。
注意:在生产环境中,请确保Nginx和PHP-FPM配置文件的安全性,遵循最佳实践。