关于Nginx动静分离详解以及配置

关于Nginx动静分离的详解以及配置

一、什么是动静分离
动静分离是将应用程序(网站)中的动态页面与静态页面分离放置于不同的服务器上进行更好地服务。动态页面表示每次访问均会进行业务逻辑处理的页面例如登录、提交表单等,静态页面表示所有用户访问的信息都是固定的,如CSS样式表和JS脚本文件等。将动态与静态页面分离,可以有效降低服务器的负载,并提高网站的响应速度。

二、动静分离的实现方式
1. 通过DNS解析,指向不同的服务器
2. 通过Nginx 配置动静分离(列举本文的实现方式)

三、配置Nginx 实现动静分离
示例一:将www.abc.com/path下的静态内容指向静态资源服务器,同时动态页面和其他请求均指向应用服务器

http {
     upstream backend {
         server 127.0.0.1:8080;
         server 127.0.0.1:8081;
     }
     upstream static {
         server 192.168.0.12:80;
     }
     server {
         listen 80;
         server_name www.abc.com;
         location /path/ {
             proxy_pass http://static;
         }
         location / {
             proxy_pass http://backend;
         }
     }
}

示例二:将不同类型的静态内容指向不同的静态资源服务器,例如将图片(png、jpg等)资源指向img服务器,将静态文件(css、js等)指向static服务器

http {
    upstream dynamic {
        server 127.0.0.1:8080;
        server 127.0.0.1:8081;
    }
    upstream static_img {
        server 192.168.0.12:80;
    }
    upstream static_css_js {
        server 192.168.0.13:80;
    }
    server {
        listen 80;
        server_name www.abc.com;

        # 将图片文件指向static_img
        location ~ .*\.(gif|jpg|jpeg|png)$ {
            proxy_pass http://static_img;
        }

        # 将CSS、JS文件指向static_css_js
        location ~ .*\.(css|js)$ {
            proxy_pass http://static_css_js;
        }

        # 其他请求均指向应用服务器
        location / {
            proxy_pass http://dynamic;
        }
    }
}

以上就是关于nginx动静分离的详细说明和两条示例,希望对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:关于Nginx动静分离详解以及配置 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • 基于nginx的WebSocket反向代理

    系统:windows 版本:nginx 1.4.5 配置内容: location ~ \.do$ {             proxy_pass   http://192.168.20.102:8080;              proxy_http_version 1.1;             proxy_set_header Upgrade $h…

    Nginx 2023年4月9日
    00
  • k8s ingress-nginx

    Ingress 公开了从集群外部到集群内 services 的HTTP和HTTPS路由。 流量路由由 Ingress 资源上定义的规则控制。 internet | [ Ingress ] –|—–|– [ Services ] 参考网站:https://kubernetes.io/zh/docs/concepts/services-networki…

    Nginx 2023年4月9日
    00
  • 网页全终端视频流媒体播放器EasyPlayer之使用 nginx 和 rtmp 插件搭建视频直播和点播服务器

    使用 nginx 和 rtmp 模块 ,可以很容易地搭建一个视频直播和点播服务器出来。下面我们来看一下具体实施步骤: 1. 安装 nginx 和 rtmp 模块 有关 nginx 的编译和安装比较简单,这里就不介绍了,看参考文献。这里提示以下几点: (1) 安装好 nginx 后,配置文件在这里: /usr/local/nginx/conf/nginx.co…

    Nginx 2023年4月13日
    00
  • 【nginx】中server配置说明

    server { listen 80; //监听的端口号 server_name localhost; //用域名方式访问的地址 #charset koi8-r; //编码 #access_log /var/log/nginx/host.access.log main; //访问日志文件和名称 location / { root /usr/share/ngi…

    Nginx 2023年4月11日
    00
  • nginx添加缓存以及判断是否缓存生效

    location ~.*\.(js|css|html|png|jpg|gif)$ { expires 3d; } expires    3d;  //表示缓存3天 expires    3h;  //表示缓存3小时 expires    max;  //表示缓存10年 expires    -1;  //表示永远过期。 如果设置为-1在js、css等静态文件…

    Nginx 2023年4月12日
    00
  • Nginx启动、重启失败的一般解决方法和步骤

    以下是“Nginx启动、重启失败的一般解决方法和步骤”的攻略: 一般解决方法和步骤 1.检查Nginx的配置文件是否正确 在终端运行命令 sudo nginx -t 检查nginx配置文件是否有语法错误,如果有错误,可以在/etc/nginx/目录下的nginx.conf文件中修改并保存。 2.确认是否有Nginx进程在运行 在终端运行命令 ps -ef |…

    Nginx 2023年5月16日
    00
  • 聊聊配置 Nginx 访问与错误日志的问题

    下面是关于“聊聊配置 Nginx 访问与错误日志的问题”的完整攻略: 一、Nginx访问日志配置说明 1. Nginx访问日志的概念 Nginx访问日志是指记录Nginx服务器接收到来自客户端的HTTP请求的日志。当我们需要追踪Nginx服务器的访问量、访问情况等信息时,可以通过查看Nginx的访问日志来了解这些情况。Nginx访问日志可以帮助我们快速定位访…

    Nginx 2023年5月16日
    00
  • 跨域问题Java方式解决及Nginx方式解决【亲测可行】 nginx通过CORS实现跨域

    这两天和前端同事调试微信公众号项目,就遇到了跨域问题;网上相关博客也挺多的,但有很多细节没有点到,在此呢我也再次记录一下解决方式; (算是踩坑日记吧~ ~ ~)   !问题发现:   页面加载不出来,控制台报错:      当你看到类似上面的这种错误提示,基本上就是跨域问题咯~~~恭喜你中奖啦!   !! 问题解决方式一 —— Java过滤器:    pub…

    Nginx 2023年4月9日
    00
合作推广
合作推广
分享本页
返回顶部