[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