Nginx之ngx_http_fastcgi_module模块详解

一、ngx_http_fastcgi_module模块:

      nginx支持FastCGI模式

      CGI:Common GateWay Interface 公共网管接口,可以理解其为HTTP服务器与其他主机上运行的程序进行通信的接口。

      CGI适合于少量动态请求的场景,一旦遇到大量动态请求时就不能够高效处理了,而且处理这些请求会消耗大量系统资源,为解决这一问题FastCGI就出现了。

     HTTP模块默认包含至此FastCGI模式的支持

二、模块的常见指令

    1、fastcgi_pass address;

        addressfastcgi server的地址; location, if in location

    2、fastcgi_index name;

         fastcgi默认的主页资源;

    3fastcgi_param parameter value [if_not_empty];

        设置一个参数给后端的FastCGI服务器,值可以包括文本、变量或它们的组合

   4、fastcgi_cache_path path [levels=levels] [use_temp_path=on|off] keys_zone=name:size [inactive=time] [max_size=size]…

       定义fastcgi的缓存;缓存位置为磁盘上的文件系统,由path所指定路径来定义;

      levels=levels:缓存目录的层级数量,以及每一级的目录数量;levels=ONE:TWO:THREE

      keys_zone=name:size:k/v映射的内存空间的名称及大小

      inactive=time:非活动时长

      max_size=size:磁盘上用于缓存数据的缓存空间上限

   5、fastcgi_cache zone | off;

      调用指定的缓存空间来缓存数据;http, server, location

   6、fastcgi_cache_key string;

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

   7、fastcgi_cache_methods GET | HEAD | POST …;

       为哪些请求方法使用缓存;

   8fastcgi_cache_min_uses number;

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

   9fastcgi_cache_valid [code …] time;

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

   10、fastcgi_keep_conn on | off;(发起请求时保持链接)

三、利用fastcgi 实现lnmp(phpadmin包实现)

   要求:动态资源单独一个服务器(192.168.109.128

            静态资源单独一个服务器(192.168.109.130

            反向代理服务器 192.168.109.129

            数据库服务器(192.168.109.131 

   拓扑:

    Nginx之ngx_http_fastcgi_module模块详解

一、数据库配置(192.168109131

    1、安装数据库mariadb-server

yum install mariadb-server

    2、修改配置文件

        vim /etc/my.cnf.d/server.cnf

       Nginx之ngx_http_fastcgi_module模块详解

   3、启动服务

              Nginx之ngx_http_fastcgi_module模块详解

          4、创建数据库(wordpress)并授权用户zq

             Nginx之ngx_http_fastcgi_module模块详解 

二、静态资源配置

1、安装包

   Yum install nginx

2、定义虚拟主机

          Nginx之ngx_http_fastcgi_module模块详解       

3.创建URL目录

        并在此目录下下载phpadmin包解压

 Mkdir /data/www

 Cd /data/www

 下载包解压

  tar xf phpMyAdmin-4.0.10.20-all-languages.tar.gz

  创建链接文件

  ln -sv phpMyAdmin-4.0.10.20-all-languages pma

      4、启动服务

         Systemctl start nginx.sevice

三、fastcgi服务器动态资源

      1、安装包

         yum install php-fpm  php-mysql php-mbstring php-mcrypt

      2、修改php-fpm配置文件

        vim /etc/php-fpm.d/www.conf

        Nginx之ngx_http_fastcgi_module模块详解

    3、创建目录/data/www(使其与反向代理服务器fastcgi_param SCRIPT_FILENAME /data/www/$fastcgi_script_name对应)

        并在此目录中存放动态资源

        mkdir -pv /data/www

        cd /data/www

     下载包phpadmin包并解压在此目录,然后创建链接文件pma

       Nginx之ngx_http_fastcgi_module模块详解

     4、编辑phpadmin配置文件

          cd /data/www/pma

          创建配置文件

          cp config.sample.inc.php  config.inc.php

          修改配置文件(将数据库位置指向数据库服务器)

         vim config.inc.php

       Nginx之ngx_http_fastcgi_module模块详解

    5、启动服务

systemctl start php-fpm

Nginx之ngx_http_fastcgi_module模块详解   

四、配置反向代理服务器

1、安装包

    Yum install nginx

2、定义代理缓存路径和fastcgi缓存路径

   vim nginx.conf

   Nginx之ngx_http_fastcgi_module模块详解

  3、配置虚拟主机

        Vim  /etc/nginx/conf.d/vir.conf 

        定义静态资源位置

        Nginx之ngx_http_fastcgi_module模块详解

       定义动态资源位置

        Nginx之ngx_http_fastcgi_module模块详解

   4、启动服务

       Systemctl start nginx.service

五、测试

      输入www.zl.com/pma/index.php

       Nginx之ngx_http_fastcgi_module模块详解

六、开启ping测试status

   1、修改fpm服务器配置文件

     vim /etc/php-fpm.d/www.conf

      Nginx之ngx_http_fastcgi_module模块详解

  Systemctl restart php-fom    

   2、配置代理服务器

     Nginx之ngx_http_fastcgi_module模块详解

   systemctl restart nginx.service

   3、测试

    ping测试页面为pong

    Nginx之ngx_http_fastcgi_module模块详解

    状态页面

    Nginx之ngx_http_fastcgi_module模块详解

 

 

 

 

原创文章,作者:zq,如若转载,请注明出处:http://www.178linux.com/78498

(1)
zqzq
上一篇 2017-06-25 14:59
下一篇 2017-06-25 18:50

相关推荐

  • 文本处理(1)

    文本处理工具最全整理上半部

    Linux干货 2018-03-15
  • 马哥教育网络班22期第五周博客作业

    正则表达式与grep 文本编辑工具     grep:是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来;     sed :是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用;     awk…

    Linux干货 2016-10-19
  • TCP和ARP

    TCP是一个工作在传输层,面向连接的协议,一台计算机与另一台计算机通信就需要TCP协议,当然还有一个和它并列的一个协议可以使用,只是TCP更加稳定且常用. 上图为一台计算机与另一台计算机建立通讯的过程,它实际通信中传递的不止斜线上的信息.上面的SYN是同步号, ACK为确认号.seq为序列号,ack为辅助的确认号 上面为建立通信时发送的TCP信息详细结构,i…

    Linux干货 2017-11-29
  • linux系统初识

          在完成centos7安装后,使用root登陆,查看了解当前根目录。由于root权限高,建议新增用户。执行useradd name命令。登陆后查看是否当前用户用whoami命令。     使用df命令了解系统分区情况以及显示内存free命令。   &…

    2017-07-16
  • linux 的套接字

    套接字是一种通信机制,凭借这种机制,客户/服务器系统的开发工作既可以在本地单机上进行,也可以跨网络进行。 套接字的特性有三个属性确定,它们是:域(domain),类型(type),和协议(protocol)。套接字还用地址作为它的名字。地址的格式随域(又被称为协议族,protocol family)的不同而不同。每个协议族又可以使用一个或多个地址族定义地址格…

    Linux干货 2016-08-18
  • 磁盘管理之磁盘分区,主引导分区表修复

    磁盘管理: I/O Ports: I/O设备地址 一切皆文件: open(), read(), write(), close() 设备类型: 块设备:block,存取单位“块”,磁盘 字符设备:char,存取单位“字符”,键盘 设备文件:关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信 设备号码: 主设备号:major number, 标识设备类型…

    Linux干货 2016-08-25