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

相关推荐

  • lvs应用

    练习一:负载均衡一个php应用: 测试是否需要会话保持; 是否需要用到共享存储;    为了检测是否需要会话保持和共享存储,要在两台主机上分别配置LAMP环境;这样就使得两者之间没有了共享存储;负载均衡使用nat模型的wlc算法,并且不使用lvs的长连接选项。数据库故意使用了相同的账号密码来进行安装。 步骤一:配置环境: 使用yum分别安…

    Linux干货 2016-11-11
  • Linux终端类型

      终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。   在Linux系统的设备特殊文件目录/dev/下,终端特殊设备文件一般有以下几种:   1、串行端口终端 /dev/ttySn     串行端口终端是使用计算机串行端口连接的终端设备。计算机把每个串行端口都看作是一个…

    Linux干货 2016-10-14
  • 五种开源协议的比较(BSD,GPL,LGPL,Apache,BSD)

    BSD开源协议(original BSD license、FreeBSD license、Original BSD license) BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。 但”为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD协议代码…

    Linux干货 2016-01-16
  • LAMP快速部署及LAMP组合深入讲解-1

      lamp php php: 脚本编程语言、嵌入到html中的嵌入式web程序开发语言;基于zend编译成opcode(二进制格式的字节码,重复运行,可省略编译环境) 一、PHP简介 PHP是通用服务器端脚本编程语言,其主要用于web开发以实现动态web页面,它也是最早实现将脚本嵌入HTML源码文档中的服务器端脚本语言之一。同时,php还提供了一…

    Linux干货 2017-06-04
  • Linux入门知识之计算机基础

    计算机基础、linux发行版、命令帮助获取

    2018-01-11
  • Linux的软件包管理(RPM)

    软件包管理(RPM)   本章节内容:   软件运行环境   软件包基础  Rpm包管理   一、软件运行环境(了解API和ABI)  API:应用程序开发接口,POSIX国际标准。  程序源代码–> 预处理–> 编译–&…

    Linux干货 2016-08-21