奥塔在线:CentOS7下配置Nginx实现本地缓存

本文介绍如何通过在Linux的tmpfs上创建缓存目录并配置Nginx,实现静态资源的高效本地缓存,提升高并发场景下的访问性能。具体步骤包括设置缓存路径、调整缓存策略及重启服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当Nginx作为静态资源文件服务器时,为保障高并发时的访问性能,一般都会对Nginx做本地缓存策略。

第一步:在tmpfs上创建缓存目录

#在/dev/shm下创建缓存目录
mkdir /dev/shm/proxy_temp
mkdir /dev/shm/proxy_cache

#让任何用户都可以访问
chown nobody:root /dev/shm/proxy_temp
chown nobody:root /dev/shm/proxy_cache

 /dev/shm这个目录是linux下一个利用内存虚拟出来的一个目录,它的容量默认最大值是系统内存的一半大小。我们使用df -h命令可以看到。但它并不会真正的占用这块内存,如果/dev/shm/下没有任何文件,它占用的内存实际上就是0字节。

第二步:对Nginx进行配置

Nginx默认一般是安装在/usr/local/nginx/目录。

vi /usr/local/nginx/conf/nginx.conf
****************************************************************************************************

#在http里面配置
    #缓存临时目录
    proxy_temp_path /dev/shm/proxy_temp;
    #缓存目录 缓存区名称为cache_fds 缓存大小为200M 1天未访问的内容自动清除 硬盘缓存空间为3GB
    proxy_cache_path /dev/shm/proxy_cache levels=1:2 keys_zone=cache_fds:200m inactive=1d max_size=3g;

    #配置源内容地址
    upstream local_fds {
      server 127.0.0.1:81;   #注意这里尽量使用IP,否则会报访问拒绝错误
    }
    server {
        listen   81;
        server_name 127.0.0.1;
        location / {
             root /usr/local/nginx/html/;
             client_max_body_size   10m;
             access_log off;
             autoindex off;
        }
    }
    
    server {
        listen       80;
        server_name  localhost;

 

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|GIF|JPG|JPEG|PNG|BMP|SWF|json)$ {
             proxy_cache cache_fds;
             proxy_cache_methods GET HEAD POST;
             proxy_cache_min_uses 1;
             proxy_cache_valid 200 302 10m;
             proxy_cache_valid 404 1m;
             proxy_cache_valid any 1m;
             proxy_cache_key "$host:$server_port$uri$is_args$args";
             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;
             expires 30d;
             proxy_pass http://local_fds;
        }
        
        location / {
            root   html;
            index  index.html index.htm;
        }
    }

第三步:重启Nginx服务

/usr/local/nginx/sbin/nginx -s reload

现在,我们查看缓存目录。

缓存目录下已经有缓存数据存在。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值