如何为NGINX网站添加PHP-FPM支持
建站教程 2021-02-05 09:58 1131

如果想从Apach换到NGINX,你可能会发现一个问题,那就是如何添加对PHP快速进程管理器(PHP-FPM)的支持。PHP-FPM是一个针对PHP脚本和应用程序的FastCGI处理程序,这使得网站可以处理更高的负载。PHP-FPM比传统的基于CGI的多用户PHP环境要快得多,而且还允许使用不同版本的PHP来托管多个应用程序。

我想引导你完成安装 PHP-FPM 的过程,然后在你的 NGINX 站点中启用它。它不像Apache那样简单,但对于任何IT专家来说,它应该不是什么难题。

首先准备一个正在运行的NGINX实例和一个有sudo权限的用户。我将在我选择的Ubuntu 20.04服务器上进行演示,但是这个过程可以修改为在任何支持PHP和PHP-FPM的平台上工作。

如何安装PHP-FPM

首先我们要做的是安装PHP-FPM和一些额外的东西。登录到你的Ubuntu服务器实例,并在终端窗口中发出命令。

sudo apt install php php-cli php-fpm php-json php-pdo php-mysql php-zip php-gd  php-mbstring php-curl php-xml php-pear php-bcmath -y

上述命令将下载并安装所有必要的依赖关系。

PHP-FPM 安装完毕后,你需要找出验证PHP版本。

php --version

然后你可以用命令检查PHP-FPM的状态。

sudo systemctl status php7.X-fpm

其中X是PHP的版本号。

如果你看到PHP-FPM没有运行(应该是),用命令启动它。

sudo systemctl start php7.X-fpm

其中X是PHP的版本号。

最后,使用命令启用PHP-FPM。

sudo systemctl enable php7.x-fpm

同样,其中X是PHP的版本号。

如何配置PHP-FPM

现在我们需要做一些配置上的修改,以便NGINX知道PHP-FPM。首先是编辑默认的 NGINX 配置文件。用命令打开该文件。

sudo nano /etc/nginx/nginx.conf

在该文件中,寻找这一行。

#server_tokens off;

取消这行,所以它看起来像:

server_tokens off;

保存并关闭该文件 

接下来,我们需要编辑默认的虚拟主机配置。用命令打开该文件。

sudo nano /etc/nginx/sites-available/default

在该文件中,寻找下面的部分。

# pass PHP scripts to FastCGI server

该部分应如下所示:

简单说就是取消上图中四行前的注释(删除#字符):

保存并关闭该文件。

用命令重新启动NGINX。

sudo systemctl restart nginx

如何测试安装

用命令创建一个测试文件。

sudo nano /var/www/html/info.php

在该文件中,粘贴以下内容。

<?php

phpinfo();

?>

保存并关闭该文件。

打开网页浏览器并将其指向 http://SERVER/info.php (其中 SERVER 是主机服务器的 IP 地址)。你应该看到,在PHP信息页面的顶部,FPM/FastCGI列出了服务器API,在cgi-fcgi下,php-pm是活动的。

至此,你已经有了支持PHP-FPM的NGINX。记住,当你建立虚拟主机的配置文件时,你需要确保在这些文件中包含PHP支持。为此,你可以使用/etc/nginx/sites-available/default文件作为例子。

标签:

  • NGINX