配置Nginx+PHP的正确思路与过程

  

关于配置Nginx+PHP的正确思路与过程,我将为您提供完整攻略。

配置Nginx和PHP的正确思路

通常,配置Nginx和PHP时有两种常见的方法:FastCGI和PHP-FPM。 FastCGI使用外部进程处理PHP代码,而PHP-FPM更为现代化,支持更多功能,例如对请求进行更好的处理,以及可以更好地管理进程池。此外,新版本的PHP也鼓励使用PHP-FPM作为默认的PHP请求处理方法。

下面是一个基本的步骤清单来配置Nginx和PHP:

  1. 安装Nginx和PHP
  2. 配置Nginx以使用PHP解析器
  3. 配置PHP-FPM
  4. 重启Nginx和PHP-FPM服务

接下来,我将为您提供以上步骤的详细说明,以便您更好的理解。

示例说明1

假设我们已经安装了Nginx和PHP,并且想要为它们配置FastCGI处理PHP请求。

步骤1

首先,我们需要安装PHP FastCGI扩展:

sudo apt-get install php-cgi

步骤2

然后,我们需要更新Nginx配置文件以告诉它如何解析PHP代码。在/etc/nginx/sites-available/default文件中,找到以下行:

index index.html index.htm;

将其替换为:

index index.php index.html index.htm;

接下来,找到以下段落:

# pass PHP scripts to FastCGI server
#
#location ~ \.php$ {
#    include snippets/fastcgi-php.conf;
#
#    # With php-fpm (or other unix sockets):
#    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
#    # With php-cgi (or other tcp sockets):
#    # fastcgi_pass 127.0.0.1:9000;
#}

然后取消注释相关行,并将fastcgi_pass行中的文件路径更改为正确的路径。

步骤3

我们还需要更新PHP FastCGI配置以便正确处理请求。在/etc/nginx/fastcgi_params文件中,找到以下行:

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;

将其改为:

fastcgi_param  SCRIPT_FILENAME    $request_filename;

步骤4

最后,我们需要重启Nginx和PHP服务,然后重新加载配置文件以使更改生效:

sudo service nginx restart
sudo service php7.x-fpm restart #x代表PHP版本号

现在,Nginx将能够正确处理PHP请求。

示例说明2

接下来,我们将展示如何使用PHP-FPM配置Nginx和PHP。

步骤1

首先,我们需要从Ubuntu存储库安装PHP-FPM:

sudo apt-get install php-fpm

步骤2

然后,我们需要更新Nginx配置文件以告诉它使用PHP-FPM处理请求。在/etc/nginx/sites-available/default文件中,找到以下行:

index index.html index.htm;

将其替换为:

index index.php index.html index.htm;

接下来,找到以下段落:

# pass PHP scripts to FastCGI server
#
#location ~ \.php$ {
#    include snippets/fastcgi-php.conf;
#
#    # With php-fpm (or other unix sockets):
#    # fastcgi_pass unix:/run/php/php7.4-fpm.sock;
#    # With php-cgi (or other tcp sockets):
#    # fastcgi_pass 127.0.0.1:9000;
#}

然后,注释fastcgi_pass行,并使用以下内容替换它:

fastcgi_pass unix:/run/php/php7.x-fpm.sock;

其中,x代表您的PHP版本。

步骤3

接下来,我们需要更新PHP-FPM配置。在/etc/php/7.x/fpm/pool.d/www.conf文件中,找到以下行:

listen = /run/php/php7.4-fpm.sock

将其替换为:

listen = /run/php/php7.x-fpm.sock

步骤4

最后,我们需要重启Nginx和PHP服务,然后重新加载配置文件以使更改生效:

sudo service nginx restart
sudo service php7.x-fpm restart   #x代表PHP版本号

现在,Nginx将能够正确处理使用PHP-FPM的PHP请求。

希望这些步骤可以帮助您正确配置Nginx和PHP,并解决相关问题。

相关文章