Nginx动静分离、缓存配置、性能调优、集群配置

本文详细介绍了Nginx的动静分离配置,包括在同一Server、多个Server以及多个Nginx实例下的实现方法,旨在优化服务器带宽利用和提高系统性能。接着讨论了Nginx的缓存配置,通过缓存减轻内网通信压力,并给出具体配置实例。此外,文章还探讨了Nginx性能调优,如worker_processes、worker_connections等参数的调整,以及如何通过Keepalive实现Nginx集群配置,确保高可用性。
摘要由CSDN通过智能技术生成

一. Nginx动静分离

1. 准备

 1个web程序:部署在7061端口,启动 【dotnet NginxWeb.dll --urls="http://*:7061" --ip="127.0.0.1" --port=7061】

Nginx程序:监听7000端口

2. 目的

 比如单独启动部署在7061端口下的web程序,进行访问,我们会发现,除了请求的加载,还有很多静态 css、js、图片等资源的加载,这些资源的加载也是占服务器带宽的,假设带宽为1m,几个大图片直接就占满了。

所以这里引入动静分离,将静态资源单独隔离出来,不占据主服务器的带宽,同时也有利于静态资源做缓存处理。 

3. 实操

方案1:在Nginx同一个Server实现动静分离

剖析:

将wwwroot文件夹从发布包中单独处理出来,然后通过location配置绝对地址,实现静态资源的分离。

缺点:动静资源在一个虚拟主机中,那么静态资源和动态资源共享同一个资源,如果静态或者动态资源访问量比较大,把资源消耗殆尽,动态和静态资源互相会进行影响,导致系统整体上性能下降。

代码分享:

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       7000;        #监听端口
        server_name  test1;         #随意配置一个地址即可,优先走代理
        
        #动态资源
        location / {
             proxy_pass http://localhost:7061;   #代理地址
        }	
        #静态资源
        location ~ \.(ico|js|css|png|jpg|mp4)$ {
            root C:/Users/Administrator/Desktop/publish/wwwroot;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }  
    }
}

方案2:在Nginx多个Server下实现动静分离

剖析:

  使用主机7000端口监听动态资源,使用主机7001端口监听静态资源,在7000的主机下通过代理的形式链接 静态资源: proxy_pass http://localhost:7001; #代理地址

缺点:虽然是两个Sever,但这都是虚拟,还是在一台服务器上,一台服务器的承受能力毕竟是有限的。

代码分享:

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    #1.动态资源Server
    server {
        listen       7000;        #监听端口
        server_name  test1;       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值