一、反向代理配置 (原文链接:http://www.studyshare.cn/blog/details/1155/0  )

准备:两个项目分别使用端口8080,8081,只有一个备案域名,配置如下

server {
        listen       80; //端口配置
        server_name  www.study.cn;  #配置域名
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {   #location路由,当浏览器访问:http://www.study.cn或者http://www.study.cn/会被nginx匹配到该location下,匹配后将域名替换为localhost:8080
            proxy_pass http://localhost:8080;
        }
        location /blog { #location路由,当浏览器访问:http://www.study.cn/blog时,会被nginx匹配到该location,并将域名替换问localhost:8081
            proxy_pass http://localhost:8081;
            proxy_set_header X-Real-IP $remote_addr; #设置获取浏览器访问的网络ip
        }

}

java开发工具下载地址及安装教程大全,点这里
更多技术文章,在这里

二、缓存配置

1、配置http{}

http {
    .....#略

#缓存配置
    proxy_connect_timeout 10;
    proxy_read_timeout 180;
    proxy_send_timeout 5;
    proxy_buffer_size 16k;
    proxy_buffers 4 32k;
    proxy_busy_buffers_size 96k;
    proxy_temp_file_write_size 96k;
    proxy_temp_path /tmp/temp_dir;
    proxy_cache_path /tmp/cache levels=1:2 keys_zone=cache_one:100m inactive=1d max_size=10g;
    #缓存配置

...#略
}
配置参数详解:

proxy_connect_timeout:服务器连接的超时时间

proxy_read_timeout:连接成功后,等候后端服务器响应时间

proxy_send_timeout:后端服务器数据回传时间

proxy_buffer_size:缓冲区的大小

proxy_buffers:每个连接设置缓冲区的数量和每块缓冲区的大小

proxy_busy_buffers_size:开启缓冲响应的功能以后,在没有读到全部响应的情况下,写缓冲到达一定大小时,nginx一定会向客户端发送响应,直到缓冲小于此值。proxy_temp_file_write_size:设置nginx每次写数据到临时文件的大小限制

proxy_temp_path:从后端服务器接收的临时文件的存放路径

proxy_cache_path:设置缓存的路径和其他参数。被缓存的数据如果在inactive参数(当前为1天)指定的时间内未被访问,就会被从缓存中移除

2、配置server{}

server{

location ~ /blog/.*\.(css|js|png|gif|jpg) {
                proxy_pass http://localhost:8081;
                proxy_redirect off;
                proxy_set_header Host $host;
                proxy_cache cache_one;
                proxy_cache_valid 200 302 24h;
                proxy_cache_valid 301 30d;
                proxy_cache_valid any 5m;
                expires 30d;
                add_header daren "hi!cached!speed is fast.";
        }

}

配置参数详解:

location ~ /blog/.*\.(css|js|png|gif|jpg) : 使用正则表达式匹配路由,此处/blog/是当前本地前端项目配置了/blog路由才能访问,所以静态资源文件也就在/blog/下,如果网站前端直接打开www.study.cn就能访问,则将/blog/去掉,直接配置:location ~ .*\.(css|js|png|gif|jpg) 即可

proxy_pass http://localhost:8081;  nginx缓存里拿不到资源,就向该地址转发请求,并获取资源,然后进行缓存

proxy_redirect off;   设置后端服务器“Location”响应头和“Refresh”响应头的替换文本
proxy_set_header Host $host;  允许重新定义或者添加发往后端服务器的请求头
proxy_cache cache_one; 指定用于页面缓存的共享内存,对应http层设置的keys_zone
proxy_cache_valid 200 302 24h; 为不同的响应状态码设置不同的缓存时间
proxy_cache_valid 301 30d;
proxy_cache_valid any 5m;
expires 30d; 缓存在浏览中的时间,30d:30天,30m:30分钟

重启nginx生效后,看看效果:

(1)缓存配置生效前:

(2)缓存配置生效后:

三、压缩配置

在server{}中配置如下:

server{

location ~ /(.*)\.(html|js|css|jpg|jpeg|png|gif)$ {
            gzip on; # 启用gzip压缩,默认是off,不启用
            # 对js、css、jpg、png、gif格式的文件启用gzip压缩功能
            gzip_types application/javascript text/css image/jpeg image/png image/gif;
            gzip_min_length 1024; # 所压缩文件的最小值,小于这个的不会压缩
            gzip_buffers 4 1k; # 设置压缩响应的缓冲块的大小和个数,默认是内存一个页的大小
            gzip_comp_level 1; # 压缩水平,默认1。取值范围1-9,取值越大压缩比率越大,但越耗cpu时间
            root html/gzip;
        }

}

原创文章,转载请注明出处

java开发工具下载地址及安装教程大全,点这里
更多技术文章,在这里

nginx反向代理、缓存及压缩配置实战的更多相关文章

  1. nginx 反向代理实现负载均衡*配置实战

    重要点: 1配置反向代理多虚拟主机节点服务器 2经过反向代理后的节点服务器记录用户IP 3与反向代理配置相关的更多参数说明 4根据URL目录地址转发 (1)根据URL中的目录地址实现代理转发(动静分离 ...

  2. nginx反向代理+缓存开启+url重写+负载均衡(带健康探测)的部署记录

    在日常运维工作中,运维人员会时常使用到nginx的反向代理,负载均衡以及缓存等功能来优化web服务性能. 废话不多说,下面对测试环境下的nginx反向代理+缓存开启+url重写+负载均衡(带健康探测) ...

  3. nginx 反向代理及 https 证书配置

    nginx 反向代理及 https 证书配置 author: yunqimg(ccxtcxx0) 1. 编译安装nginx 从官网下载 nginx源码, 并编译安装. ./configure --pr ...

  4. Nginx反向代理实现负载均衡配置图解

    Nginx反向代理实现负载均衡配置图解 [导读] 负载均衡配置是超大型机器需要考虑的一些问题,同时也是数据安全的一种做法,下面我来介绍在nginx中反向代理 负载均衡配置图解,大家可参考本文章来操作. ...

  5. nginx反向代理缓存配置

    关于nginx的反向代理缓存配置,用的最多的就是CDN公司,目前CDN公司用纯nginx做缓存的已经很少了,基本都用tnginx(阿里的).openresty:但是这两款软件都是基于nignx开发的, ...

  6. Nginx反向代理以及负载均衡配置

    项目地址:http://git.oschina.net/miki-long/nginx 前提:最近在研究nginx的用法,在windows上小试了一下,由于windows下不支持nginx缓存配置,所 ...

  7. nginx反向代理缓存服务器的构建

    一:代理服务可简单的分为正向代理和反向代理: 正向代理:用于代理内部网络对Internet的连接请求(如VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标Web服务器的HTTP请求先发送 ...

  8. nginx反向代理跨域基本配置与常见误区

    最近公司前后端分离,前端独立提供页面和静态服务很自然的就想到了用nginx去做静态服务器.同时由于跨域了,就想利用nginx的反向代理去处理一下跨域,但是在解决问题的同时,发现网上有些方案的确是存在一 ...

  9. nginx反向代理负载均衡初次配置

    反向代理,我个人理解是通过一台反向代理服务器,把客户端的把有请求按照一定的规则分发给后台的服务器.nginx作反向代理服务器的虚拟机配置如下: upstream itest { #正常情况下应该作如下 ...

随机推荐

  1. 【转】守护进程二三事与Supervisor

    扩展阅读:理解Docker容器的进程管理 最顶层的是系统初始化时创建的root namespace(根名空间),再创建的新PID namespace就称之为child namespace(子名空间), ...

  2. 配置Zuul代理下游的认证

    配置Zuul代理下游的认证 您可以通过proxy.auth.*设置控制@EnableZuulProxy下游的授权行为.例: application.yml proxy: auth: routes: c ...

  3. Deepin系统中手动开启swap的方法

    Deepin系统中手动开启swap的方法 如何设置 swap(交换空间)的大小建议设置和你的实际物理内存一样大,如你的内存是8G的,则可将下面的count的值设为8192(当然这只是参考值,你可根据你 ...

  4. Java基础 awt Frame 窗体在屏幕的中间显示

        JDK :OpenJDK-11      OS :CentOS 7.6.1810      IDE :Eclipse 2019‑03 typesetting :Markdown   code ...

  5. NVM 安装注意

    windows 系统下尽量使用安装版本,选择安装路径时,路径中不能带有空格,否则无法使用 nvm use xx.xx.xx

  6. apache httpd 从2.2升级到2.4的过程及中间遇到的坑

    背景描述: 最近集团在做安全扫描,扫出了http的漏洞,一看是监控nagios涉及到的httpd,于是就考虑将httpd升级到最新的版本,在升级的过程中,真是遇到了很多的坑,弄了2天终于搞定了,现在梳 ...

  7. 006-tomcat 多实例安装、appBase和docBase、Context说明

    一.多实例部署 主要是为了充分利用服务器资源,并且可以交叉部署应用.主要做法可以有使用docker部署,多实例部署. 多实例多应用:多个 Tomcat 部署多个不同的项目.这种模式在服务器资源有限,或 ...

  8. 【Python】 vscode使用code-runner 调试代码

    插件名称: code-runner 插件设置: "code-runner.executorMap": { "python" : "set PYTHON ...

  9. yandex 图片自动下载

    yandex 图片自动下载命令行程序 一个在 yandex 上搜索图片并下载到本地的 node cli 程序. 使用帮助: $0 <搜索关键词> [-t=超时(默认 1000)] [-r ...

  10. EasyNVR网页摄像机无插件H5、谷歌Chrome直播方案使用详情功能-通道配置Excel导入导出

    使用EasyNVR的用户都有知道,由于EasyNVR是将设备与EasyNVR的通道进行绑定的,因此EasyNVR是通过手动的通道配置来进行设备接入的,这样可以做到将设备的和通道对应的接入.但是,如果手 ...