fastcgi_pass

`fastcgi_pass` 指令将请求转发到 FastCGI 服务器进行处理,通常与 PHP 和其他 Web 应用一起使用。 — NGINX HTTP Core

fastcgi_pass
locationif in location
语法fastcgi_pass address;
默认值none
上下文location, if in location
模块NGINX HTTP Core
参数1

说明

NGINX 中的 `fastcgi_pass` 指令用于指定将负责处理请求的 FastCGI 服务器的位置。它可以把流量指向 TCP 套接字、Unix 套接字,或带指定端口的 IP 地址。该指令通常在 `location` 块中配置,使 NGINX 能够根据 URL 路径和其他参数管理请求的处理方式。当接收到请求时,请求会被转发到已定义的 FastCGI 服务器,该服务器处理请求并将相应的响应返回给 NGINX,随后 NGINX 将该响应发送给客户端。 在使用场景中,你通常会将 `fastcgi_pass` 指令与其他指令(例如 `fastcgi_param`)一起配置,`fastcgi_param` 用于为 FastCGI 应用设置参数(例如脚本文件名、请求方法等)。FastCGI 服务器会返回已处理的数据,NGINX 将该响应转发回客户端。该机制对于 Web 应用中的动态内容生成至关重要,因为后端处理被卸载到 FastCGI 服务器,从而提升性能和可扩展性。

配置示例

location ~ \.php$ {
    include fastcgi_params;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

确保 FastCGI 服务器正在运行并可访问;否则,NGINX 将无法连接并响应客户端请求。

检查 `fastcgi_pass` 中指定的套接字或地址是否与 FastCGI 应用的配置端口和 IP 地址匹配,以避免连接问题。

确保使用 `fastcgi_param` 包含相关参数,尤其是 `SCRIPT_FILENAME` 参数,否则 FastCGI 应用可能无法正常工作。