`

ngix缓存设置详解

 
阅读更多
#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


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

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    #::cst::
    send_timeout 300s;
    #server_names_hash_bucket_size 128;     #指定服务器名称哈希表的框大小
    #client_header_buffer_size 1k;         #设置读取客户端请求头部的缓冲容量。
    large_client_header_buffers 4 32k;     #以上两个是设定客户端请求的Header头缓冲区大小,对于,cookie内容较大的请求,应增大改值。(400或414错误)
    client_max_body_size 300m;                #允许客户端请求的最大单文件字节数
    client_body_buffer_size 128k;            #设置读取客户端请求正文的缓冲容量。缓冲大小默认等于两块内存页的大小,在x86平台、其他32位平台和x86-64平台,这个值是8K。在其他64位平台,这个值一般是16K。
    
    proxy_connect_timeout 300s;              #nginx跟后端服务器连接超时时间(代理连接超时)
    proxy_read_timeout    300s;              #连接成功后,后端服务器响应时间(代理接收超时)
    proxy_send_timeout    300s;              #后端服务器数据回传时间(代理发送超时)
    proxy_ignore_client_abort on;           #不允许代理端主动关闭连接
    #::cst::end

    sendfile       on;
    #tcp_nopush     on;  #开启或者关闭nginx在FreeBSD上使用TCP_NOPUSH套接字选项, 在Linux上使用TCP_CORK套接字选项。 选项仅在使用sendfile的时候才开启。
    keepalive_timeout  75s;
    #tcp_nodelay on;  #开启或关闭nginx使用TCP_NODELAY选项的功能。 这个选项仅在将连接转变为长连接的时候才被启用。


    #::cst::
    gzip  on;
    gzip_min_length  20;
    gzip_buffers     32 4k;
    gzip_http_version 1.0;
    gzip_proxied    any;  #enables compression for all proxied requests.前端是squid的情况下要加此参数,否则squid上不缓存gzip文件
    gzip_comp_level 6;
    gzip_types       text/plain application/x-javascript text/css application/xml;
    gzip_vary   off;   #Enables or disables emitting the “Vary: Accept-Encoding” response header field if the directives gzip, gzip_static, or gunzip are active.

    upstream  tg_server {
        server 192.168.100.253:7573;
    }

    server {
        listen       7579;
        server_name  192.168.100.253;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        #::cst::
        location ~ .*\.(bmp|jpeg|jpg|png|gif|svg|png|ico|txt|css|js|html|htm|pdf)(.*|$)
        {
            #如果后端的服务器返回502、504、执行超时等错误,自动将请求转发到upstream负载均衡池中的另一台服务器,实现故障转移。
            #proxy_next_upstream http_502 http_504 error timeout invalid_header;

            #proxy_cache cache_tg_one;                  #进行缓存,使用Web缓存区cache_tg_one
            #proxy_cache_valid 200 304 12h;              #对不同的HTTP状态码设置不同的缓存时间
            #roxy_cache_valid 301 302 1m;
            #proxy_cache_valid any 1m;
            #proxy_cache_key $scheme$proxy_host$uri$is_args$args;  #以域名、URI、参数组合成Web缓存的Key值,Nginx根据Key值哈希,存储缓存内容到二级缓存目录内
            
            proxy_set_header  Host $host;
            proxy_set_header  X-Real-IP  $remote_addr;
            proxy_set_header X-Forwarded-For $remote_addr;
            #proxy_set_header Accept-Encoding '';   #请求头的值为空,那么这个请求头将不会传送给后端服务器
            
            #proxy_ignore_headers "Cache-Control" "Expires"; #这段配置加上后,proxy_cache就能支持后台设定的expires。

            #验证是否缓存
            add_header X-Cache "Hit from in253.ngnix-cache.jjcj.com";
            
            proxy_pass http://tg_server;
            expires  7d;
        }

        #扩展名以aspx|asmx|ashx结尾的动态应用程序不缓存。
        location ~ .*\.(aspx|asmx|ashx)(.*|$) {
            proxy_pass http://tg_server;
            proxy_set_header  Host $host;
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_set_header X-Real-IP $remote_addr;
            #proxy_ignore_headers "Cache-Control" "Expires"; #这段配置加上后,proxy_cache就能支持后台设定的expires。
            #验证是否缓存
            add_header X-Cache "Miss from in253.ngnix-cache.jjcj.com";
        }
        #::cst::end

        location / {
            proxy_pass http://tg_server;
            #proxy_set_header  Host $host;
            proxy_set_header  X-Real-IP  $remote_addr;
            #proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
            
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}
分享到:
评论

相关推荐

    ngix服务器

    5. 调整配置和优化服务器性能,根据实际需求设置并发连接数、缓存大小等。 总结,Nginx服务器配合RTMP模块,为移动端直播提供了一种高效、稳定且易于管理的解决方案。通过合理配置和优化,可以满足各种规模的直播...

    安装ngix步骤文档

    ### 安装Nginx步骤详解 #### 一、前言 Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like协议下发行。其特点是占有内存少,并发能力强,事实上Nginx的并发能力确实在同...

    实战ngix服务器

    第2部分为进阶篇,重点介绍了Nginx的配置优化方法、Nginx与PHP/Ruby/Python/JSP/Perl/Memcached的结合配置方法、Nginx HTTP反向代理与负载均衡的配置与优化、Nginx模块开发等,...─基于Nginx的NCache网页缓存系统...

    ngix_redis_tomcat集群

    redis,redis,tomcat集群实例,tomcat-session-jar文件夹下是需要的jar包,启动nginx,redis,tomcat后在浏览器中输入http://localhost/test/test2.jsp进行测试。

    ngix tomcat整合.zip

    ngix tomcat整合.zip

    ngix tomcat整合

    ngix tomcat整合

    ngix + mysql + php 安装包

    这个"ngix + mysql + php 安装包"提供了便捷的一站式解决方案,尤其适合初学者,免去了繁琐的配置过程。 **Nginx** 是一个高性能的HTTP和反向代理服务器,以其轻量级、高并发处理能力而闻名。它的事件驱动模型和非...

    tomcat+nginx+mybatis+redis整合

    2. Nginx配置文件:编辑nginx.conf配置文件,设置监听端口、服务器块(server block)等参数。 3. 使用Nginx负载均衡:配置Nginx的upstream模块,将请求分发到不同的Tomcat实例,可以采用轮询、权重、IP哈希等多种...

    ngix部署到linux

    nginx部署到linuix的详细配置,如果不对自己上百度吧

    fastdfs 和ngix

    2. 配置FastDFS客户端:在需要上传文件的应用服务器上,安装FastDFS客户端库,设置连接Tracker Server的相关配置。 3. 安装Nginx:配置Nginx服务器,添加FastDFS的URL映射规则,使Nginx能够正确转发请求到FastDFS。 ...

    rtmp+ngix推流.7z

    RTMP(Real-Time Messaging Protocol)是一种广泛应用于在线流媒体...实际操作中,你可能还需要考虑如带宽管理、权限控制、错误处理、流录制等功能的设置。通过深入学习和实践,可以构建出满足各种需求的流媒体服务。

    15、Nginx.pdf

    4. **灵活的配置**:Nginx的配置文件简洁易懂,可以通过简单的设置实现复杂的功能。 5. **稳定性**:长期稳定运行是Nginx的一大特点,很少出现崩溃或者重启的情况。 ### Nginx的应用场景 1. **静态资源服务**:...

    nextcloud在linux和ngix环境下的配置文件

    很多nextcloud在linux和ngix环境下安装时,提供的单独nextcloud的linux配置文件因为存在空格,导致nextcloud启动失败,这个nextcloud是去空格的配置文件

    ngix.zip 用于lnmp搭建相关文件

    解压后有五个文件,atomic,nginx.conf,default.conf,nginx.sh,nginx_cn.zip . 由于nginx它加入GNU计划,所以在安装nginx之前必须要先同意和支持该计划,否则nginx无法安装。atomic上传到/usr/local/src目录下执行...

    在CentOS下安装Ngix服务及集群PHP、Tomcat

    3. 修改每个Tomcat实例的`conf/server.xml`中的`<Connector>`节点,设置不同的端口,例如8080和8081。 4. 启动两个Tomcat实例: ``` cd /opt/tomcat ./bin/startup.sh ``` 四、Nginx反向代理配置 为了实现负载...

Global site tag (gtag.js) - Google Analytics