Nginx之ngx_http_fastcgi_module模块详解

一、ngx_http_fastcgi_module模块:

      nginx支持FastCGI模式

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

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

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

二、模块的常见指令

    1、fastcgi_pass address;

        address为fastcgi server的地址; location, if in location;

    2、fastcgi_index name;

         fastcgi默认的主页资源;

    3、fastcgi_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 …;

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

   8、fastcgi_cache_min_uses number;

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

   9、fastcgi_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.168、109、131)

    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

相关推荐

  • 马哥linux0803课堂笔记

    课堂笔记   重定向的几种方式 标准输入 0 (stdin) 标准输出 1 (stdout) 标准错误 2 (stderr)   标准输入的重定向方法 cat < file cat << string (多行重定向) xxx aaa string结束 cat file | cat   标准输出的重定向 ls e…

    Linux干货 2016-08-08
  • 马哥教育网络班21期+第19周课程练习

    1、描述Tomcat的架构; Tomcat组件,分为4类: 顶层类组件:包括<Server>元素和<Service>元素,它们位于整个配置文件的顶层; 连接器类组件:为<Connector>元素,代表介于客户端与服务器端之间的通信接口,负责将客户端的请求发送给服务器端,并将服务器的响应结果返回给客户端; 容器类组件:代表处…

    Linux干货 2016-12-05
  • linux的发展史

    一、今天要介绍的Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。 但是很多时候我们了解到的技术都不是…

    Linux干货 2016-10-17
  • httpd服务归纳:httpd基本配置(周边常用工具,httpd 编译安装)

    一、 服务器status页     内生的status信息,可以通过web予以显示, 可以映射为url地址进行访问     1. 配置路径有几种不同方式          如果URL可以映射…

    Linux干货 2015-05-27
  • AWK学习总结

    AWK是一种优良的文本处理工具。其名称得自于它的创始人阿尔佛雷德·艾侯、彼得·温伯格和布莱恩·柯林汉姓氏的首个字母。AWK提供了极其强大的功能:可以进行正则表达式的匹配,样式装入、流控制、数学运算符、进程控制语句甚至于内置的变量和函数。它具备了一个完整的语言所应具有的几乎所有精美特性。 AWK学习总结 函数rand(): 函数length() 函数int()…

    Linux干货 2016-12-03
  • 三台主机部署phpwind

    PHPWind(简称:PW)的使命是让网站更具价值,让更多人从网络中享受便利,以提升生活品质。 phpwind是一个基于PHP和MySQL的开源社区程序,是国内最受欢迎的通用型论坛程序之一。phpwind第一个版本ofstar发布于2004年。截止2013年12月phpwind项目品牌由阿里云计算有限公司拥有,软件全面开源免费。 特点 1. 非凡的访问速度 …

    2017-06-13