ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
[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