熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java高級技術 >> 正文

nginx利用proxy

2022-06-13   來源: Java高級技術 
nginx利用proxy_cache來緩存文件有需要的朋友可參考  代碼如下 復制代碼

user  zhangy users;
worker_processes ;
error_log  /var/vlogs/nginx_errorlog  crit;
pid        /var/vlogs/nginxpid;
#Specifies the value for maximum file descriptors that can be opened by this process
worker_rlimit_nofile ;
events
{
 use epoll;
 worker_connections ;
}
http
{
 include       mimetypes;
 default_type  application/octetstream;
 #charset  gb;
 server_names_hash_bucket_size ;
 client_header_buffer_size k;
 large_client_header_buffers k;
 client_max_body_size m;
 sendfile on;
 tcp_nopush     on;
 keepalive_timeout ;

 tcp_nodelay on;

 fastcgi_connect_timeout ;
 fastcgi_send_timeout ;
 fastcgi_read_timeout ;
 fastcgi_buffer_size k;
 fastcgi_buffers k;
 fastcgi_busy_buffers_size k;
 fastcgi_temp_file_write_size k;
//============
 client_body_buffer_size  k;
 proxy_connect_timeout    ;
 proxy_read_timeout       ;
 proxy_send_timeout       ;
 proxy_buffer_size        k;
 proxy_buffers            k;
 proxy_busy_buffers_size k;
 proxy_temp_file_write_size k;
 proxy_temp_path   /usr/local/nginx/proxy_temp;
/*levels設置目錄層次
keys_zone設置緩存名字和共享內存大小
inactive在指定時間內沒人訪問則被刪除在這裡是
max_size最大緩存空間*/
proxy_cache_path /usr/local/nginx/proxy_cache levels=: keys_zone=content:m inactive=d max_size=m;
//============等號中間要加的關鍵只要加上proxy_cache_path

 gzip on;
 gzip_min_length  k;
 gzip_buffers     k;
 gzip_;
 gzip_comp_level ;
 gzip_types       text/plain application/xjavascript text/css application/xml;
 gzip_vary on;

 upstream myselfxtajmd {
 server :;
 server : weight=;
 }

 server
 {
 listen       ;
 server_name  localhost;
 index inde indexphp;
 log_format  access  $remote_addr $remote_user [$time_local] "$request"
 $status $body_bytes_sent "$http_referer"
 "$http_user_agent" $http_x_forwarded_for;
 access_log  /var/log/testlog  access;

 location /
 {
 proxy_cache content; //根keys_zone後的內容對應
 proxy_cache_valid  d;   //哪些狀態緩存多長時間
 proxy_cache_valid  any d;    //其他的緩存多長時間
 proxy_cache_key $host$uri$is_args$args;   //通過key來hash定義KEY的值

 proxy_pass http://myselfxtajmd;
 proxy_redirect                      off;
 proxy_set_header   Host             $host;
 proxy_set_header   XRealIP        $remote_addr;
 proxy_set_header   XForwardedFor  $proxy_add_x_forwarded_for;
 }

//動態的放過
 location ~ *(php|jsp|cgi)?$
 {
 proxy_set_header Host  $host;
 proxy_set_header XForwardedFor  $remote_addr;
 proxy_pass http://myselfxtajmd;
 }
 }
}

上面只是配置的部分內容反向代理的那部分沒有放進去了參考linux下nginx反向代理實現負載均衡當我們浏覽時在代理端就把圖片緩存了不用到代理終端去緩存了可以節省資源緩存的內容放在你設置的proxy_cache_path路徑下面看下圖

nginx proxy_cache
第一層目錄只有一個字符是由levels=:設置總共二層目錄子目錄名字由二個字符組成突然發現我在我的系統裡面配置過varnishsquidapache和mod_cachenginx和proxy_cache他們都是可以對文件進行緩存不知道他們哪一個對文件的緩存效果最好呢?有空比較一下對了這種緩存這個博客裡面都有的有興趣的朋友可以看一下



From:http://tw.wingwit.com/Article/program/Java/gj/201405/30825.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.