返回顶部

Nginx动静分离实现

一、前言

本文主要介绍在nginx做负载均衡的情况下做动静分离,我们将应用的静态文件抽离出来,使之负载的应用同时共享该静态资源。

二、简单配置

主要是在同一台服务器下做动静分离,在http节点添加如下配置即可

 server {
        # 监听端口默认是80
        listen 80;

        # 服务器ip或域名
        server_name 192.168.140.130;
        # 动态数据
        location / {

             proxy_pass http://xiaohemiao;

         }
        # 静态资源
         location ~ \.(ico|js|css|png|jpg|mp4)$ {
             # 静态文件目录(自定义)
             root /data/apps/wwwroot/;

         }
    }

    upstream xiaohemiao {

        server 192.168.140.130:7777; # 应用端口7777
        server 192.168.140.130:8888; # 应用端口8888
    }

应用结构

 

 

 

 

 

二、模拟在多台服务器配置

模拟的场景主要是静态资源和动态资源不在同一台服务器的情况

# 只加载动态资源
 server {
        # 监听端口默认是80
        listen 80;

        # 服务器ip或域名
        server_name 192.168.140.130;
        # 动态数据
        location / {

             proxy_pass http://xiaohemiao;

         }
    }

# 只加载静态资源

 server {
        # 监听端口默认是8081
        listen 8081;

        # 服务器ip或域名
        server_name 192.168.140.130;


        # 静态资源
         location ~ \.(ico|js|css|png|jpg|mp4)$ {

             root /data/apps/wwwroot/;

         }

    }


# 合并静态资源和动态资源
 server {
        # 监听端口默认是8082
        listen 8082;

        # 服务器ip或域名
        server_name 192.168.140.130;

        # 代理动态资源
        location / {

            proxy_pass http://192.168.140.130:80;
        }

 

 

posted @ 2022-05-21 22:03  SportSky  阅读(150)  评论(0编辑  收藏  举报
作者:SportSky 出处: http://www.cnblogs.com/sportsky/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如果觉得还有帮助的话,可以点一下右下角的【推荐】,希望能够持续的为大家带来好的技术文章!想跟我一起进步么?那就【关注】我吧。