ngx_http_fastcgi_module模块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ngx_http_fastcgi_module模块相关的知识,希望对你有一定的参考价值。

该模块转发请求到FastCGI服务器,不支持php模块方式

1、fastcgi_pass address;(Context:location, if in location)

    address为后端的fastcgi server的地址

2、fastcgi_index name;

    fastcgi默认的主页资源

    示例:

        fastcgi_index index.php;

3、fastcgi_param parameter value [if_not_empty];

    设置传递给 FastCGI服务器的参数值,可以是文本,变量或组合

     示例1:

        1)在后端服务器先配置fpm server和mariadb-server

        2)在前端nginx服务上做以下配置:

location ~* \.php$ {
    fastcgi_pass 后端fpm服务器IP:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME
    /usr/share/nginx/html$fastcgi_script_name;
    include fastcgi_params;
    …
}

    示例2:通过/pm_status和/ping来获取fpm server状态信息

location ~* ^/(pm_status|ping)$ {
    include fastcgi_params;
    fastcgi_pass 后端fpm服务器IP :9000;
    fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
}

4、fastcgi_cache_path path [levels=levels][use_temp_path=on|off]keys_zone=name:size [inactive=time] [max_size=size] [manager_files=number] [manager_sleep=time] [manager_threshold=time][loader_files=number] [loader_sleep=time][loader_threshold=time] [purger=on|off] [purger_files=number] [purger_sleep=time] [purger_threshold=time];

    定义fastcgi的缓存;

  • path 缓存位置为磁盘上的文件系统

  • max_size=size 磁盘path路径中用于缓存数据的缓存空间上限

  • levels=levels:缓存目录的层级数量,以及每一级的目录数量

  • levels=ONE:TWO:THREE

    示例:

        leves=1:2:2

        keys_zone=name:size

        k/v映射的内存空间的名称及大小

        inactive=time 非活动时长

5、fastcgi_cache zone | off;(Context:http, server, location)

    调用指定的缓存空间来缓存数据

6、fastcgi_cache_key string;

    定义用作缓存项的key的字符串

    示例:

        fastcgi_cache_key $request_rui;

7、fastcgi_cache_methods GET | HEAD | POST ...;

    为请求方法使用缓存

8、fastcgi_cache_min_uses number;

    缓存空间中的缓存项在inactive定义的非活动时间内至少要被访问到此处所指定的次数方可被认作活动项

9、fastcgi_keep_conn on | off;

    收到后端服务器响应后,fastcgi服务器是否关闭连接,建议启用长连接

10、fastcgi_cache_valid [code ...] time;

    不同的响应码各自的缓存时长

    示例:

http {
    fastcgi_cache_path /var/cache/nginx/fcgi_cache
    levels=1:2:1 keys_zone=fcgicache:20m inactive=120s;
    ...
    server {
        location ~* \.php$ {
        ...
        fastcgi_cache fcgicache;
        fastcgi_cache_key $request_uri;
        fastcgi_cache_valid 200 302 10m;
        fastcgi_cache_valid 301 1h;
        fastcgi_cache_valid any 1m;
        ...
        }
    }
}



以上是关于ngx_http_fastcgi_module模块的主要内容,如果未能解决你的问题,请参考以下文章

10-ngx_http_fastcgi_module

Nginx 之 fastcgi配置

CGI机制及实现

CGI机制及实现

模块讲解---time模块,datetime模块,random模块,hashlib模块和hmac模块,typing模块,requests模块,re模块

Python 常用模块 -- collections模块,time模块,random模块,os模块,sys模块