前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx ngx_http_fastcgi_module模块详解(八)

Nginx ngx_http_fastcgi_module模块详解(八)

作者头像
咻一咻
发布2020-05-29 15:32:47
5170
发布2020-05-29 15:32:47
举报
文章被收录于专栏:咻一咻咻一咻

ngx_http_fastcgi_module

模块功能

允许将请求传递给另一台服务器。 转发请求到FastCGI服务器,不支持php模块方式

代码语言:javascript
复制
1、fastcgi_pass address; 
    address为后端的fastcgiserver的地址 
    可用位置:location, if in location

2、fastcgi_index name; 
    fastcgi默认的主页资源 
    可用位置:http, server, location

    示例:fastcgi_index index.php;

3、fastcgi_param parameter value [if_not_empty]; 
    设置传递给FastCGI服务器的参数值,可以是文本,变量或组合
    可用位置:http, server, location

    示例模板 实现LNP: 
        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; 
                ...
            }
        3)fastcgi服务器实现
            yum install php-fpm
            vim /etc/php-fpm.d/www.conf
            listen = 9000 改此行
            #listen.allowed_clients = 127.0.0.1 删除或注释此行
            systemctl restart php-fpm

    示例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; 
        }
    参考:http://coolnull.com/3872.html #写的很详细

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];
    可用位置:http
    定义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; 
    调用指定的缓存空间来缓存数据 
    可用位置:http, server, location

6、fastcgi_cache_key string; 
    定义用作缓存项的key的字符串 
    可用位置:http, server, location

    示例:fastcgi_cache_key $request_rui;

7、fastcgi_cache_methods GET | HEAD | POST ...; 
    可用位置:http, server, location
    为哪些请求方法使用缓存

8、fastcgi_cache_min_uses number; 
    缓存空间中的缓存项在inactive定义的非活动时间内至少要被访问到此处所指定的次数方可被认作活动项 
    可用位置:http, server, location

9、fastcgi_keep_conn on | off; 
    收到后端服务器响应后,fastcgi服务器是否关闭连接,建议启用长连接 
    可用位置:http, server, location

10、fastcgi_cache_valid [code ...] time; 
    不同的响应码各自的缓存时长 
    可用位置:http, server, location

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

练习:


  • 定义四个虚拟主机,混合使用三种类型的虚拟主机
    • 仅开放给来自于本地网络中的主机访问

  • 实现lnmp,提供多个虚拟主机
  • http, 提供wordpress
  • https, 提供pma

ngx_http_proxy_module模块 详细说明请参考官网 地址链接

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-03-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ngx_http_fastcgi_module
相关产品与服务
轻量应用服务器
轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、Web应用、小程序/小游戏、游戏服、电商应用、云盘/图床和开发测试环境,相比普通云服务器更加简单易用且更贴近应用,以套餐形式整体售卖云资源并提供高带宽流量包,将热门开源软件打包实现一键构建应用,提供极简上云体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档