nginx的文件cache服务配置记录(proxy_cache)

根据业务部门需求,申请一台文件的cache服务器。如下记录在单台机器上部署Nginx缓存服务过程:

nginx缓存配置(缓存配置的参数这里就不做过多解释了,在前面的文档中已说明过,这里只做简单记录)

[[email protected] ~]# cat /data/nginx/conf/nginx.conf|grep -v "^$"|grep -v "#"
user  www;
worker_processes  8;

events {
    worker_connections  65535;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    charset utf-8;

    log_format  main  ‘$http_x_forwarded_for $remote_addr $remote_user [$time_local] "$request" ‘
                      ‘$status $body_bytes_sent "$http_referer" ‘
                      ‘"$http_user_agent" "$http_cookie" $host $request_time‘;
    sendfile       on;
    tcp_nopush     on;
    tcp_nodelay    on;
    keepalive_timeout  65;

    proxy_temp_path /data/nginx/proxy_temp;
    proxy_cache_path /data/nginx/proxy_cache levels=1:2 keys_zone=cache_one:500m inactive=1d max_size=30g;

    client_header_timeout 600s;
    client_body_timeout 600s;

    client_max_body_size 50m;
    client_body_buffer_size 256k;           

    gzip  on;
    gzip_min_length  1k;
    gzip_buffers     4 16k;
    gzip_http_version 1.1;
    gzip_comp_level 9;
    gzip_types       text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php;
    gzip_vary on;

    include vhosts/*.conf;
}

注意:缓存目录/proxy_cache和/proxy_temp一定要在同一个分区下,并且权限一定要和nginx程序权限一致(即要有写入权限,否则不能生产缓存文件)!
[[email protected] ~]# mkdir /data/nginx/proxy_cache
[[email protected] ~]# mkdir /data/nginx/proxy_temp
[[email protected] ~]# chown -R www.www /data/nginx/proxy_cache
[[email protected] ~]# chown -R www.www /data/nginx/proxy_temp   

[[email protected] ~]# cat /data/nginx/conf/vhosts/img.conf
server {
     listen       80;
     server_name  img.wang.com;

     access_log  /data/nginx/logs/img-access.log main;
     error_log  /data/nginx/logs/img-error.log;

     location / {
         index index.html index.htm;
         root /data/img/;
         proxy_cache cache_one ;
         proxy_cache_valid 200 304 12h ;
         proxy_cache_valid 301 302 1m ;
         proxy_cache_valid any 1m ;
         proxy_cache_key $host$uri$is_args$args;
        }

    location ~ /purge(/.*) {
      allow all ;
      proxy_cache_purge cache_one $host$1$is_args$args ;
      error_page 405 =200 /purge$1;
    }
}

[[email protected] ~]# /data/nginx/sbin/nginx -t
nginx: the configuration file /data/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /data/nginx/conf/nginx.conf test is successful
[[email protected] ~]# /data/nginx/sbin/nginx 

[[email protected] ~]# ll -d /data/img
drwxr-xr-x 3 www www 4096 Aug 21 10:06 /data/img
[[email protected] ~]# ll /data/img
total 8
drwxr-xr-x 2 www www 4096 Aug 21 10:30 image
-rwxr-xr-x 1 www www   31 Aug 16 15:44 index.html
[[email protected] ~]# ll /data/img/image/
total 20
-rwxr-xr-x 1 www www 19270 Aug 15 19:50 wang.png

[[email protected] ~]# cat /data/img/index.html
缓存服务器!!!!!

访问

查看缓存文件

[[email protected] ~]# ll /data/nginx/proxy_cache/
total 12
drwx------ 3 www www 4096 Aug 21 10:20 0
drwx------ 3 www www 4096 Aug 21 10:14 e
drwx------ 3 www www 4096 Aug 21 10:15 f
[[email protected] ~]# ll /data/nginx/proxy_cache/e
total 4
drwx------ 2 www www 4096 Aug 21 10:29 e3            

上面缓存文件的结构是由levels=1:2决定的,即第一层目录是一个字母命名,第二层目录是两个字母表示

清理缓存

时间: 2024-08-09 21:37:46

nginx的文件cache服务配置记录(proxy_cache)的相关文章

nginx 目录文件列表功能配置

工作中常常有写不能有网页下载东西的需求,在Apache下搭建完成后直接导入文件即可达到下载/显示文件的效果,而Nginx也可以满足这样的需求(nginx 目录列表功能默认是关闭的),这时就需要配置. ngx_http_autoindex_module 此模块用于自动生成目录列表(ngx_http_autoindex_module只在 ngx_http_index_module模块未找到索引文件时发出请求. ) 开启目录列表功能 1.打开nginx.conf文件,在location server或

samba服务配置记录

操作系统 #查看系统内核 [root[email protected] ~]# uname -a Linux localhost.localdomain 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux [[email protected] ~]# #查看编译信息 [[email protected] ~]# cat /proc/version Linux version

Nginx与python web服务配置(Uwsgi& FastCGI)

Uwsgi start uswgi uwsgi --harakiri 360000 --body-read-warning=10000 --max-fd=65536 -b 1000000 --http-buffer-size=65536 --post-buffering 8192 --post-buffering-bufsize=65536 -p 10 --threads 20 -s 10.10.192.63:8082 -w app:app -d /application/search/log/

Nginx作为负载均衡服务

Nginx作为负载均衡服务简介 Nginx负载均衡 GSLB(全局负载均衡)   调度中心节点:一个全局的调度节点: 调度节点:一个局部调度节点: 应用服务中心节点:一个全局的应用服务调度节点: 应用服务:一个局部应用服务节点: 调度中心节点管理着调度节点: 应用服务中心节点管理着应用服务: 举例: 第一步:张三请求局部调度节点,局部调度节点则返回服务地址给张三: 第二步:张三根据局部调度节点返回的服务地址,请求局部应用服务,局部应用服务则返回结果给张三. SLB(负载均衡) 调度节点与服务节点

nginx的web缓存服务环境部署记录

web缓存位于内容源Web服务器和客户端之间,当用户访问一个URL时,Web缓存服务器会去后端Web源服务器取回要输出的内容,然后,当下一个请求到来时,如果访问的是相同的URL,Web缓存服务器直接输出内容给客户端,而不是向源服务器再次发送请求.Web缓存降低了内容源Web服务器,数据库的负载,减少了网络延迟,提高了用户访问的响应速度,增强了用户体验. web缓存服务器中,最著名的要数Squid Cache(简称为Squid),Squid是一个流浪的自由软件的代理服务器和Web缓存服务器.---

Nginx服务配置综合实例

################################ 1.安装nginx,yum安装,编译安装 Nginx是一个免费,开源,高性能的HTTP服务器,同时也可以作为反向代理服务器,支持IMAP/POP3邮件代理服务器,支持模块化定制功能. Nginx支持三种运行模式,默认为worker模式: prefork:进程模型,两级结构,主进程master负责生成和管理子进程,每个子进程负责响应一个请求: worker:线程模型,三级结构,主进程负责生成子进程,每个子进程负责生成多个线程,每个线

NGINX按天生成日志文件的简易配置

NGINX按天生成日志文件的简易配置 0x01 最近后端童鞋遇到一个小需求,拆分nginx生成的log文件,最好是按天生成,看着她还有很多bug待改的状态,我说这个简单啊,我来吧.曾经搞node后端的时候,这些东西都so easy的,我还记得当时用log4js,几行配置文件就能搞定,现在就算是直接配置nginx应该也不会特别麻烦. 0x02 先说一下项目的大概架构.整个项目采用docker部署,一共三个container,一个getaway负责整个服务的网络转发,然后就是一个backend和fr

详解“FTP文件传输服务”安装配置实例

"FTP文件传输服务"安装配置实例 家住海边喜欢浪:zhang789.blog.51cto.com 目录 简介 ftp工作原理 常见的FTP服务 Vsftpd服务器的安装 Vsftpd.conf配置文件详解 配置FTP服务器实例 实例:配置匿名用户 实例:配置本地用户登录 实例:配置虚拟用户登录(MySQL认证) 实例:控制用户登录 实例:设置欢迎信息 分析vsftpd日志管理 FTP服务器配置与管理 简介 FTP 是File Transfer Protocol(文件传输协议)的英文简

nginx服务配置---php服务接入

前言: 最近要搭建一个内部的wiki系统, 网上搜了一圈, 也从知乎上搜集了一些大神的评价和推荐. 重点找了几个开源的wiki系统, 不过发现他们都是采用php来实现的. 于是乎需要配置php环境, 来配合服务正常工作. 网上多是apache+php的组合方式, 不过由于个人是nginx脑残粉, 因此决定采用nginx+php fastcgi来配置下环境. 思路梳理: 云主机是ubuntu系统(主要觉得apt好用, 当然centos的yum也是利器). 对于php, php-fpm, 以及ngi