Nginx设置FastCGI代理

来自泡泡学习笔记
跳到导航 跳到搜索

nginx可用于将请求路由到运行各种框架和编程语言(如PHP)构建的应用程序的FastCGI服务器。


与FastCGI服务器一起使用的最基本nginx配置包括使用fastcgi_pass指令代替proxy_pass指令,以及使用fastcgi_param指令设置传递给FastCGI服务器的参数。假设FastCGI服务器在localhost:9000上可访问。以前一节的代理配置为基础,将proxy_pass指令替换为fastcgi_pass指令,并将参数更改为localhost:9000。在PHP中,SCRIPT_FILENAME参数用于确定脚本名称,QUERY_STRING参数用于传递请求参数。最终的配置将是:

server {
    location / {
        fastcgi_pass  localhost:9000;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param QUERY_STRING    $query_string;
    }

    location ~ \.(gif|jpg|png)$ {
        root /data/images;
    }
}

这将设置一个服务器,除了静态图像的请求外,所有请求都将通过FastCGI协议路由到在localhost:9000上运行的代理服务器。