fastcgi配置

fastcgi配置

咱們這裏說的fastcgi配置專指nginx對fastcgi的配置,fastcgi自己的配置介紹在fastcgi 安裝文中有說明。php

nginx的fastcgi模塊提供的命令

fastcgi_pass

這個命令是指定將http代理到哪一個fastcgi服務端接口。fastcgi_pass後面是填寫fastcgi服務端地址的,這個地址能夠是域地址,也能夠是Uninx-域套接字。html

fastcgi_pass localhost:9000;


fastcgi_pass unix:/tmp/fastcgi.socket;

這裏的設置須要和fastcgi自身配置的listen_address作相應地對應。nginx

好比上面那個例子,listen_addree就應該這麼配置:緩存

<value name="listen_address">/tmp/fastcgi.socket</value>

fastcgi_param

這個命令是設置fastcgi請求中的參數,具體設置的東西能夠在$_SERVER中獲取到。socket

好比你想要設置當前的機器環境,能夠使用fastcgi_param ENV test;來設置。ide

對於php來講,最少須要設置的變量有:代理

fastcgi_param SCRIPT_FILENAME /home/www/scripts/php$fastcgi_script_name;
fastcgi_param QUERY_STRING    $query_string;

對於POST請求,還須要設置:
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;unix

fastcgi_param還能夠使用if_not_empty進行設置。意思是若是value非空才進行設置。code

fastcgi_param HTTPS   $https if_not_empty;

fastcgi_index

這個命令設置了fastcgi默認使用的腳本。就是當SCRIPT_FILENAME沒有命中腳本的時候,使用的就是fastcgi_index設置的腳本。htm

以上三個命令能組成最基本的fastcgi設置了

location / {
  fastcgi_pass   localhost:9000;
  fastcgi_index  index.php;
 
  fastcgi_param  SCRIPT_FILENAME  /home/www/scripts/php$fastcgi_script_name;
  fastcgi_param  QUERY_STRING     $query_string;
  fastcgi_param  REQUEST_METHOD   $request_method;
  fastcgi_param  CONTENT_TYPE     $content_type;
  fastcgi_param  CONTENT_LENGTH   $content_length;
}

fastcgi_hide_header,fastcgi_ignore_headers,fastcgi_pass_header

fastcgi_cache

這個命令是開啓fastcgi的文件緩存。這個緩存能夠將動態的頁面存爲靜態的。以提供爲加速或者容災使用。

相關文章
相關標籤/搜索