[ngx_http_fastcgi_module][1]
## 配置示例
~~~
http{
fastcgi_temp_path path /tmp/nginx_temp_cache 1 2
fastcgi_cache_path /data/nginx/cache levels=1:2 keys_zone=nginx_cache:10m;
fastcgi_cache_key "$scheme$request_method$host$request_uri";
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
fastcgi_intercept_errors on;
fastcgi_ignore_headers Cache-Control Expires Set-Cookie;
server{
...
location ~ [^/]\.php(/|$) {
#fastcgi_pass remote_php_ip:9000;
fastcgi_pass unix:/dev/shm/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
fastcgi_cache nginx_cache;
fastcgi_cache_valid 200 302 1m;
fastcgi_cache_valid 404 1m;
add_header X-Cache "$upstream_cache_status From $host";
}
...
}
}
~~~
## 指令 連接相關
>[danger] fastcgi_pass
功能: 指定fastcgi服務器的套接字
~~~
localhost:9000
unix:/tmp/fastcgi.socket
~~~
>[danger] fastcgi_bind
功能:當有多個IP時,可以指定用哪個IP去連接fastcgi服務器
>[danger] fastcgi_params
功能:傳遞一些變量到fastcgi服務器
## 指令 緩存相關
>[danger] fastcgi_buffers
默認值:8 4k/8k
功能:設置緩存區域的數量的大小,用于存儲從fastcgi服務器讀取的響應數據
>[danger] fastcgi_busy_buffers_size
默認值:8k/16k
功能:一般為fastcgi_buffers的兩倍
>[danger] fastcgi_buffers_size
默認值:4k/8k
功能:用于存儲從fastcgi服務器讀取的響應數據包開始的部分,通常是簡單的數據頭
>[danger] fastcgi_cache_min_uses
默認值: 1
功能:被訪問多少次才被緩存
>[danger] proxy_no_cache
功能:指定哪些內容不緩存
~~~
proxy_no_cache $cookie_nocache $arg_nocache$arg_comment;
proxy_no_cache $http_pragma $http_authorization;
~~~
>[danger] fastcgi_cache_valid
功能:為不同的響應嗎指定不同的緩存時間
~~~
fastcgi_cache_valid 200 302 10m;
fastcgi_cache_valid 404 1m;
~~~
>[danger] fastcgi_cache_method
默認值: GET和HEAD
功能:那些方法可以緩存
>[danger] fastcgi_cache_use_stale error | timeout | invalid_header | updating | http_500 | http_502 | http_503 | http_504 | http_403 | http_404 | http_429 | off ...;
默認值:off
功能:當聯系不上后端服務器,過期的緩存在哪些情況下可以使用
>[danger] fastcgi_cache
默認值:off
功能:定義緩存區域或關閉緩存
>[danger] fastcgi_cache_path path [levels=1:2] keys_zone=name:size [inactive=time] [max_size=size];
上下文:http
功能:
path 緩存文件路徑
keys_zone 緩存空間名稱和大小
max_size使用最大的空間
inactive 緩存多久沒被訪問就移除
~~~
fastcgi_cache_path /data/nginx/cache levels=1:2 keys_zone=one:10m;
~~~
## 指令 臨時文件相關
>[danger] fastcgi_temp_file_path_write_size
功能:寫緩存區大小
>[danger] fastcgi_temp_path path [leve1 [level2 [level3]]]
功能:設置緩存路徑
~~~
fastcgi_temp_path /spool/nginx/fastcgi_temp 1 2;
~~~
>[danger] fastcgi_max_temp_file_size
功能:設置臨時文件的最大值,設置為0則禁止使用臨時文件
## 指令 時間相關
>[danger] fastcgi_send_timeout
默認值:60
功能:向上游fastcgi服務器傳送數據,完成了兩次握手后沒有進行數據傳輸的超時時間
>[danger] fastcgi_connect_timeout
默認值:60
功能:與上游fastcgi服務器連接的超時時間
>[danger] fastcgi_read_timeout
默認值:60
功能:讀取上游fastcgi服務器響應的超時時間,超時會返回504(Gateway Timeout)錯誤
>[danger] fastcgi_cache_revalidate
默認值關閉
功能:當請求頭中含有“If-Modified-Since” and “If-None-Match”,會重新驗證過期的緩存
>[danger] fastcgi_limit_rate
默認值:0
功能:從上游服務器讀取響應的速率(每個請求)
## 變量
>[danger] $fastcgi_script_name
功能:這個變量等于請求的URL,如果是以“/”結尾,則會補上fastcgi_index的內容
[1]:http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html
- nginx的功能
- nginx常用變量
- Nginx內核模塊
- Nginx的事件模塊
- Nginx的HTTP模塊
- Nginx的fastcgi
- nginx的proxy
- Upstream實現后臺服務器集群
- 文件操作優化相關的配置
- Nginx模塊管理和進程管理
- 模塊管理
- 進程管理
- 針對Nginx的Linux系統優化
- Nginx如何處理一個請求
- nginx狀態信息
- Nginx工具
- Nginx限制流量
- Nginx限制用戶的并發連接數
- 配置FLV服務器
- Nginx訪問控制
- Nginx自動索引
- Nginx網頁壓縮傳輸
- 控制Nginx如何記錄日志
- Nginx改寫響應
- Nginx重寫
- 后臺Nginx記錄原始原始IP
- Nginx防盜鏈
- Nginx的https