关于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使用总结一

    在mac os 10.11.6下配置Nginx 打开命令终端找到安装路径: cd /usr/local/etc/nginx/ 然后vi 打开nginx.conf文件配置:在最后行加上  include servers/*; #user nobody; worker_processes 1; #error_log logs/error.log; #error_…

    Nginx 2023年4月10日
    00
  • 配置nginx反向代理时,要注意的权限设置

     MYPM演示环境(www.mypm.cc/mypm)中当下载大的附件,或是页面中有大图片时,就会下载中断或是图版无法显示 也许你要说我用的nginx缺省的设置没碰到这问题,那是因为你的网站没大文件 查看 nginx 日志failed (13: Permission denied) while reading upstream 怪了为什么说没权限呢  且看下…

    Nginx 2023年4月10日
    00
  • 用nginx搭建简单的文件下载服务器的方法

    这里是用nginx搭建简单的文件下载服务器的方法的完整攻略。 1. 安装nginx 首先,我们要安装nginx。这里以Ubuntu为例,执行以下命令安装: sudo apt update sudo apt install nginx 安装完成后,就可以启动nginx服务: sudo systemctl start nginx 2. 配置nginx 接着,我们…

    Nginx 2023年5月16日
    00
  • Nginx服务器设置黑名单屏蔽IP

    黑名单能有效防止某个IP恶意攻击或者拒绝特定IP的访问 步骤1 :创建黑名单 在/usr/local/nginx/conf下创建黑名单文件ip.black(叫啥都行)在文件内容写上列入黑名单的IP,格式为deny ip deny 192.168.41.218; deny 192.168.41.217;                             …

    Nginx 2023年4月16日
    00
  • hexo+nginx部署个人网站

    hexo搭建的网站是一个静态网站,所以按照部署静态网站的方式部署到nginx上就行了 hexo网站的根目录默认是放在public文件夹下的,以下是我的配置。 server { # 监听端口 listen 80; # 监听ip 换成服务器公网IP server_name mr-lin.site; location / { root /web/myblog/bl…

    Nginx 2023年4月13日
    00
  • 详解nginx实现ssl反向代理实战

    首先,关于”详解nginx实现ssl反向代理实战”的完整攻略,可以分为以下几个步骤: 安装nginx和SSL证书 确保已安装最新版的nginx,并且获取证书,可以通过Let’s Encrypt免费获取。 配置nginx 编写nginx配置文件,启用SSL模块,将 SSL 证书和私钥文件绑定到HTTPS服务器的端口上。配置代理服务器,这里以反向代理http:/…

    Nginx 2023年5月16日
    00
  • Nginx下配置Https证书详细过程

    下面是Nginx下配置Https证书的详细过程: 1. 申请证书 首先需要到证书颁发机构(CA)进行申请,一般都需要提供域名的验证和身份的验证。申请成功后,会收到一个包含证书和私钥的压缩文件,其中包含以下文件: domain.crt:证书文件,用于配置Nginx的ssl_certificate参数; domain_nopwd.key:私钥文件,用于配置Ngi…

    Nginx 2023年5月16日
    00
  • 如何配置Nginx的FastCGI缓存的HTTP头?

    配置Nginx的FastCGI缓存的HTTP头可以有效利用FastCGI缓存,提高网站的响应速度和性能。具体操作步骤如下: 1. 配置FastCGI缓存 在Nginx的配置文件中添加以下的FastCGI缓存配置: fastcgi_cache_path /var/cache/nginx levels=1:2 keys_zone=mycache:10m inac…

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