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

相关推荐

  • 磁盘管理:raid和lvm练习

    本文通过以下习题,巩固所学raid和lvm知识: 20160829         1、创建一个可用空间为1G的RAID1设备,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup目录       &nbsp…

    Linux干货 2016-09-05
  • 前三天基础-Linux文件系统概论

    Linux之我见     在2016农历丙申年2016年猴年,对于小白的我来说接触到了江湖流传的武功秘籍之-Linux心法,第一次接触到命令行,知道在键盘上随便敲击命令就可以满屏跑数据,就像看过的美国大片里黑客帝国里面的画面,感觉学会好后可以装逼了,废话不多说了,允许在下斗胆介绍Linux文件系统。     &nbsp…

    Linux干货 2016-03-24
  • N22-第一周作业

    1、描述计算机的组成及功能      计算机系统由硬件系统和软件系统组成。硬件系统(Hardware system)是计算机完成计算工作  的物质基础。软件系统(Software system):是在计算机硬件设备上运行的各种程序,是介于用户  和硬件系统之间的界面。1.1 计算机的硬件系…

    Linux干货 2016-08-22
  • linux系统启动流程

    linux系统启动流程 CentOS(5、6)系统启动流程 具体流程: 加载BIOS的硬件信息与进行自我测试,并依据设置取得第一个可启动的设备; 读取并执行第一个启动设备内MBR的boot Loader 依据boot Loader的设置加载Kernel,Kernel会开始检测硬件与加载驱动程序 硬件驱动成功后,Kernel会主动调用init进程,而init会…

    Linux干货 2016-09-11
  • DNS和BIND配置(第二部分)

    接第一部分课后练习 三、课后练习: 2、配置反向解析: 步骤一:写主配置文件:改成与上个实验相同,也可以自己写一个简单的配置文件,如下: [root@localhost tmp]# cat named.conf.new options { directory  "/var/named&qu…

    Linux干货 2016-10-17
  • ldirectord 结合ipvsadm 配置nat,dr模型

    ldirectord 结合ipvsadm 配置nat,dr模型  一、nat模型 1、 drector # wget ftp://172.16.0.1/pub/Sources/7.x86_64/crmsh/ldirectord-3.9.6-0rc1.1.1.x86_64.rpm # yum -y install nginx (同…

    Linux干货 2016-11-24