我正在尝试使用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文件中进行哪些更改。
答案 0 :(得分:0)
听起来我在这里做了一些复制和粘贴工作。捕获一些在行尾(EOL)不可见的额外字符并不少见。 所以我尝试了这个:
通过此工具运行文本:http://www.textfixer.com/tools/remove-line-breaks.php
然后修复所有可能已删除并受到注释影响的中断。
这对我有用。