20240121----重返学习-`nginx/conf/nginx.conf`的动静分离-单ip地址双服务器资源-最简配置说明

20240113----重返学习-nginx/conf/nginx.conf的多虚拟主机配置最简配置说明

文件说明

单ip地址双服务器资源配置

worker_processes  1; #工作进程个数;一般对应CPU内核对应一个worker_processes;太多反而让效率变差;

events {# 事件驱动模块;
    worker_connections  1024;#设置每个worker_processes对应多少个联接;
}

http {# 网络请求模块;
    include       mime.types;#把当前目录中的mime.types配置文件引入到当前配置文件中;
    default_type  application/octet-stream;#默认的mime.types配置文件;
    sendfile        on;#是否是数据零拷贝;
    keepalive_timeout  65;#表示的是保持连接超时的时间;

    server {# 表示一个服务器虚拟主机vhost的配置;
        listen       80;#表示当前虚拟主机监听到的端口号;
        server_name  localhost;#当前虚拟主机的主机名或域名;

        location / {# 表示uri,如一个域名后的子目录或子路径;
            proxy_pass   http://192.168.44.104:80/fangdouyin/index.html;#反向代理到另一台服务器上,这里虽然是静态页面--但可以看成是请求了`http://192.168.44.104:80/fangdouyin/index.html`这个url返回一个html页面;
        }

        location /css {# 表示uri,如一个域名后的子目录或子路径;
            root   html/fangdouyin;#表示当前uri的根目录; 如果访问`http://192.168.44.101/css/reset.min.css`,而`http://192.168.44.101/css/reset.min.css`忽略成`/css/reset.min.css`;由于是以`/css`开头,所以与此location对应;于是从`html/fangdouyin`中为根目录进行寻找,即`html/fangdouyin`+`/css/reset.min.css`拼接成`html/fangdouyin/css/reset.min.css`;
        }

        location /js {# 表示uri,如一个域名后的子目录或子路径;
            root   html/fangdouyin;#表示当前uri的根目录;
        }

        location /json {# 表示uri,如一个域名后的子目录或子路径;
            root   html/fangdouyin;#表示当前uri的根目录;
        }

        location /public {# 表示uri,如一个域名后的子目录或子路径;
            root   html/fangdouyin;#表示当前uri的根目录;
        }
    }
}

在这里插入图片描述
在这里插入图片描述

  • 192.168.44.104上的配置文件:
worker_processes  1; #工作进程个数;一般对应CPU内核对应一个worker_processes;太多反而让效率变差;

events {# 事件驱动模块;
    worker_connections  1024;#设置每个worker_processes对应多少个联接;
}

http {# 网络请求模块;
    include       mime.types;#把当前目录中的mime.types配置文件引入到当前配置文件中;
    default_type  application/octet-stream;#默认的mime.types配置文件;
    sendfile        on;#是否是数据零拷贝;
    keepalive_timeout  65;#表示的是保持连接超时的时间;

    server {# 表示一个服务器虚拟主机vhost的配置;
        listen       80;#表示当前虚拟主机监听到的端口号;
        server_name  localhost;#当前虚拟主机的主机名或域名;

        location / {# 表示uri,如一个域名后的子目录或子路径;
            root   html;#表示当前uri的根目录;
            index  index.html index.htm;#表示访问当前uri下的默认页;
        }

        error_page   500 502 503 504  /50x.html;#表示发生服务器错误如500或502或503或504时,会转向到的地址;
        location = /50x.html {# 表示`/50x.html`的uri资源配置;
            root   html;#表示当前uri的根目录;
        }
    }
}

在这里插入图片描述
在这里插入图片描述

  • 假设:
  1. 服务器ip地址192.168.44.104,只有静态资源/usr/local/nginx/html/fangdouyin/index.html;
  2. 服务器ip地址192.168.44.101;有192.168.44.104上的/usr/local/nginx/html/fangdouyin/index.html对应的各个静态资源,但没有index.html这个文件本身;
  • 效果:
  1. 可以在192.168.44.101:80上请求到了192.168.44.104上的/usr/local/nginx/html/fangdouyin/index.html,之后浏览器上的index.html又请求了来自于192.168.44.101:80上的其它静态资源;
  • 流程
  1. 请求该路径192.168.44.101;
  2. 请求到192.168.44.101服务器上;
  3. 由于192.168.44.101上设置了/这个路径的反向代理设置,所以192.168.44.101会去192.168.44.104寻找;
  4. 192.168.44.101会请求到192.168.44.104上的index.html,得到一个入口的index.html文件;
  5. 192.168.44.101会返回给浏览器一个该192.168.44.104上的index.html文件;
  6. 浏览器解析该192.168.44.104上的index.html文件;
  7. 浏览器发起一堆请求来取得该index.html文件上的资源,请求的地址如192.168.44.101/css/xxx.css,以及192.168.44.101/js/xxx.js;
  8. 请求到192.168.44.101上;
  9. 由于192.168.44.101上设置了/css/js这些路径的,会在192.168.44.101上寻找资源;而192.168.44.101上又有这些静态资源,所以192.168.44.101直接就直接返回这些数据给浏览器;
  10. 浏览器得到192.168.44.101上的css及image及js文件等,页面就正常显示了;
    在这里插入图片描述

进阶参考

  1. 尚硅谷Nginx教程(亿级流量nginx架构设计) - 28-基本使用-动静分离配置
  2. 示例中用到的单个完整的静态项目
  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值