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)
上一篇 2017-06-25 14:59
下一篇 2017-06-25 18:50

相关推荐

  • 第八周-Shell脚本编程

    1、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态; 在线的主机使用绿色显示; 不在线的主使用红色显示; #!/bin/bash for i in {1..254}; do { ip=172.16.250.$i if ping -c 1 -w 1 $ip &> /dev/null …

    Linux干货 2017-08-23
  • 权限解析

    一、文件权限        用户的创建的每个文件,都有自己特定的属性信息,比如文件类型,文件的权限,文件的所有者和所属组,以及文件的修改日期等属性组成。        文件的权限即是指文件本身赋予了用户什么样的权力,也就…

    2017-05-30
  • ☞Ansible

    Ansible ansible简介 安装ansible 使用ansible前提条件 主要文件 配置文件 Host Inventory ansible.cfg 命令使用 ansible ansible-doc ansible-playbook 常用模块 ansible各模块简单示例 ansible playbooks playbook内容组成 host、use…

    Linux干货 2016-11-06
  • 计算机的组成以及OS的发展历程

        根据冯诺依曼提出的体系架构,计算机基本上可以分为五大部件。这五大部件分别为运算器,控制器,内存,输入设备与输出设备,其中运算器与控制器是CPU的重要组成部分。下面分别介绍这5大部件:     CPU:运算器、控制器、寄存器、缓存      &…

    Linux干货 2016-10-30
  • N25-第十一周博客作业

    1、详细描述一次加密通讯的过程,结合图示最佳。 点对点加密过程如下: 发送方根据单向加密算法计算数据的特征码 用私钥加密这段特征码,生产数字签名,将数字签名附着在数据后面 发送方生产临时对称密钥,用对称加密算法结合对称加密密钥加密整段数据(数据+数字签名) 为保证接收方可以解密,发送方用接收方的公钥加密对称加密密钥,附加在数据后面 接收方用自己的私钥解密数据…

    Linux干货 2017-03-30
  • 01day-计算机与操作系统基础

    第1章 计算机基础 1.1 什么是计算机 计算机是个笼统的概念,泛指一切计算功能的机器。这样扯的话,以前的算盘也是计算机了。我们现在的计算机应该称作电子计算机,我天朝人民称为电脑。听说谷歌在研究量子计算机,完全不懂是什么玩意。 一不小心在百度百科看到还有光子计算机,生物计算机,吓我一跳,赶紧复制链接过来,自己慢慢看《百度百科—-计算机》 &nbs…

    Linux干货 2016-06-29