nginx - 如何让 Nginx 生成 fcgi 文件

标签 nginx fastcgi

我有一个与 Apache 一起使用的 .fcgi 文件,我只需将重写规则指向该文件,它就会完成其工作,但 Nginx 似乎无法像这样工作。

在 Apache 上,我只需将请求重定向到文件。从原始项目 .htaccess 开始:

RewriteEngine On
RewriteBase /matrufsc
RewriteRule ^dispatch\.fcgi/ - [L]
RewriteRule ^(.*)$ dispatch.fcgi/$1 [L]

因此,除了尝试访问 root 之外的每个请求都将路由到 dispatch.fcgi/$request。但Nginx无法直接执行文件。我必须有哪些替代方法来执行该文件?

这是一个Python脚本,可以过滤请求并根据请求的"file"采取行动。可以看到脚本源码here at GitHub ,对于具有上述 htaccess 的 Apache 来说,它的工作方式如下。我不知道如何使用 FastCGI。

如何从 Nginx 生成 fastcgi 进程?我不知道它或如何更好地描述它。

最佳答案

您将需要使用一个名为 fastcgi 的模块。

文档在这里 FastCGI Module .

示例位置

location / {
    fastcgi_pass  localhost:9000;
    fastcgi_index index.php;

    fastcgi_param SCRIPT_FILENAME /home/www/scripts/php$fastcgi_script_name;
    fastcgi_param QUERY_STRING    $query_string;
    fastcgi_param REQUEST_METHOD  $request_method;
    fastcgi_param CONTENT_TYPE    $content_type;
    fastcgi_param CONTENT_LENGTH  $content_length;
}

这还需要运行 fastcgi 守护进程。该守护程序的安装取决于您的操作系统。

这是 wiki 上讨论 fcgi 的另一个页面。

http://wiki.nginx.org/FcgiExample

关于nginx - 如何让 Nginx 生成 fcgi 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22953351/

相关文章:

windows - 用于 Windows 的 php-fpm?

facebook - URL 请求了 HTTP 重定向,但无法遵循。 - Facebook/Nginx 问题

node.js - NgInx 静态内容 Nodejs 应用程序反向代理禁止错误

nginx - Graph 每秒 nginx 请求数

python - 启动 uWSGI 实例失败,代码为 203

简单连接到 MySQL 时 PHP 超时 - 在 win2k8 64 位 IIS 7/FastCGI php 上 - 新安装

perl - 如何在 Perl 和 FCGI 中设置 POST_MAX 限制

php - Zend Opcache 不缓存所有文件(CentOS 6.7 + Nginx 1.8.1 + PHP 7 + Laravel 5.1)

python - Flask:子目录中的静态文件

PHP - 预加载所有类/函数