Nginx conf的未知指令“ proxy_cache_revalidate on”

时间:2018-10-16 05:24:05

标签: nginx nginx-reverse-proxy nginx-config

我正在尝试使用nginx.conf文件实现 nginx缓存。 我已经引用了here

中的代码

关于这一点,我在上游使用proxy_cache_

以下是使用 proxy_cache _ 指令时遇到的错误。 (我已经注释了其他proxy_cache指令,只是使用 proxy_cache_revalidate ,所以我得到以下错误)

我正在将Nginx作为Docker容器运行。 (不确定,这是否是我遇到这些错误的原因)

2018/10/16 04:23:39 [emerg] 1#1: unknown directive "proxy_cache_revalidate on" in /etc/nginx/nginx.conf:127 nginx: [emerg] unknown directive "proxy_cache_revalidate on" in /etc/nginx/nginx.conf:127

下面是我的conf文件。

thread_pool default threads=32 max_queue=65536;

events { worker_connections 102400; }

http {
    sendfile on;
    sendfile_max_chunk 2048k;
    access_log off; 
    #Implementing NGINX Cache
    proxy_cache_path /usr/nginx-cache levels=1:2 keys_zone=nginx_cache:10m max_size=10g inactive=60m use_temp_path=off;   

    upstream licenseportal {
        server xx.xx.xx.xx:9006;
    }

    upstream publisherportal {
        server xx.xx.xx.xx:9001;
    }

    upstream supportportal {
        server xx.xx.xx.xx:9010;
    }

server {
        listen 8765;

        location /licenseportal/ {
            proxy_pass         http://licenseportal/;
            proxy_redirect     off;
            proxy_set_header   Host $host;
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Host $server_name;
            #Implementing NGINX Cache
            proxy_cache nginx_cache; 
            proxy_cache_revalidate on;
            #proxy_cache_min_uses 3;
            #proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
            #proxy_cache_background_update on;
            #proxy_cache_lock on;
            #proxy_cache_methods GET; 
        }


        location /publisherportal/ {
            proxy_pass         http://publisherportal/;
            proxy_redirect     off;
            proxy_set_header   Host $host;
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Host $server_name;
            # #timeout setting added
            fastcgi_read_timeout 7200s; 
            send_timeout 7200s;
            proxy_connect_timeout 7200s;
            proxy_send_timeout 7200s;
            proxy_read_timeout 7200s;
            #new property added
            proxy_request_buffering off;
            proxy_buffering off;
            #Implementing NGINX Cache
            proxy_cache nginx_cache; 
            #proxy_cache_revalidate on;
            #proxy_cache_min_uses 3;
            #proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
            #proxy_cache_background_update on;
            #proxy_cache_lock on;
            #proxy_cache_methods GET; 
        }

        location /supportportal/ {
            proxy_pass         http://supportportal/;
            proxy_redirect     off;
            proxy_set_header   Host $host;
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Host $server_name;
            #Implementing NGINX Cache
            proxy_cache nginx_cache; 
            #proxy_cache_revalidate on;
            #proxy_cache_min_uses 3;
            #proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
            #proxy_cache_background_update on;
            #proxy_cache_lock on;
            #proxy_cache_methods GET; 
        }
    }
}

请告诉我我需要在conf文件中进行哪些更改。

1 个答案:

答案 0 :(得分:0)

听起来我在这里做了一些复制和粘贴工作。捕获一些在行尾(EOL)不可见的额外字符并不少见。 所以我尝试了这个:

通过此工具运行文本:http://www.textfixer.com/tools/remove-line-breaks.php

然后修复所有可能已删除并受到注释影响的中断。

这对我有用。