在Ubuntu上,PHP-FPM(FastCGI Process Manager)与Nginx配合使用可以实现高效的PHP网站和应用服务。以下是配置Nginx以使用PHP-FPM的步骤:
安装PHP-FPM: 在Ubuntu上,可以使用以下命令安装PHP-FPM:
sudo apt-get update
sudo apt-get install php-fpm
配置PHP-FPM:
安装完成后,PHP-FPM的默认配置文件通常位于/etc/php/版本号/fpm/pool.d/www.conf
。你可以根据需要编辑这个文件,例如设置监听地址和端口。默认情况下,PHP-FPM监听Unix套接字/run/php/php7.4-fpm.sock
(版本号可能会有所不同)。
配置Nginx:
编辑Nginx的站点配置文件,通常位于/etc/nginx/sites-available/
目录下。你需要为你的站点创建一个配置文件,例如yourdomain.com
。
在配置文件中,找到location ~ \.php$
部分,并修改为以下内容,以便Nginx将PHP请求传递给PHP-FPM:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock; # 根据实际安装的PHP版本调整
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
如果你想让Nginx也处理PHP请求(而不是总是传递给PHP-FPM),可以添加一个条件判断:
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.4-fpm.sock; # 根据实际安装的PHP版本调整
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
重启Nginx和PHP-FPM服务: 保存配置文件后,重启Nginx和PHP-FPM服务以应用更改:
sudo systemctl restart nginx
sudo systemctl restart php7.4-fpm # 根据实际安装的PHP版本调整
测试配置:
创建一个名为info.php
的文件,放在你的网站根目录下,内容如下:
<?php
phpinfo();
?>
在浏览器中访问http://yourdomain.com/info.php
,如果看到PHP信息页面,说明配置成功。
以上步骤应该可以帮助你在Ubuntu上配置Nginx以使用PHP-FPM。根据实际需求,你可能需要调整配置文件以满足特定需求。