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默認的主頁資源;

    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.168109、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.www58058.com/78498

(1)
zqzq
上一篇 2017-06-25
下一篇 2017-06-25

相關推薦

  • linux磁盤管理及文件系統

    linux磁盤管理及文件系統 硬盤存儲術語?    head:磁頭 ?         track:磁道 ?         cylinder: 柱面 ?   &nbsp…

    Linux干貨 2016-08-26
  • 高可用集群部署文檔

    同學們都很活躍,自己好久沒寫了,也動動筆,下面文章寫著玩的,如有錯誤請聯系(NET7-粵-義薄云天) 高可用集群部署文檔   目錄: 目錄: 1 項目需求: 2 實現方式: 2 拓撲圖: 3 系統及軟件版本: 3 安裝步驟: 4 IP分配: 4 LVS和keepalived的安裝和配置: 4 LVS主配置: 4 LVS2備 配置: 7 w…

    Linux干貨 2015-08-11
  • rpm軟件管理工具詳解

    1 Linux軟件安裝概述 安裝程序的方式: 軟件包概述 RPM RPM的缺點 RPM包 RPM分包 RPM命令的使用 rpm 包管理 升級注意項 如何安裝rpm軟件包 如何卸載rpm軟件包 如何升級rpm軟件包 如何查詢rpm軟件包 如何查看與rpm包相關的文件和其他信息 如何校驗rpm包 RPM的數據庫 1 Linux軟件安裝概述 安裝程序的方式: 通用…

    Linux干貨 2016-09-06
  • 第八周作業

    1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。    集線器(HUB)主要功能是對接收到的信號進行再生整形放大,以擴大網絡的傳輸距離,同時把所有節點集中在以它為中心的節點上。集線器是一種共享設備,HUB本身不能識別目的地址,當同一局域網內的A主機給B主機傳輸數據時,數據包在以HUB為架構…

    Linux干貨 2017-02-27
  • 軟件包管理

    軟件包管理 在linux中有人多的軟件使用,比如我們使用的ifconfig,fdisk,btrfs文件系統等??赡苓@些軟件在你原有的linux系統中并不存在,那么我們如何去使用這些工具呢。我們知道windows在需要軟件的時候需要安裝,當然對于linux系統一樣需要安裝。在linux下常用的安裝工具我們使用的是rpm程序包(當然我們這邊是針對CentOS而言…

    Linux干貨 2016-08-19
  • Linux 進程及作業管理

    一 進程、線程、程序概念 1、進程(Process) 什么是進程,簡單的說,進程是程序的執行實例,即運行中的程序,同時也是程序的一個副本;程序是放置于磁盤的,而運行中的程序是位于內存中的。 2、線程(Thread) 一個進程至少包括一個線程,通常將該線程稱為主線程,所以線程是比進程更小的單位,是系統分配處理器時間資源的基本單元。一個進程要想同時在多顆CPU上…

    Linux干貨 2016-03-15
欧美性久久久久