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

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

文件说明

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

shell 复制代码
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上的配置文件:
shell 复制代码
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. 示例中用到的单个完整的静态项目
相关推荐
Re.不晚1 分钟前
Java入门15——抽象类
java·开发语言·学习·算法·intellij-idea
幼儿园老大*1 小时前
走进 Go 语言基础语法
开发语言·后端·学习·golang·go
1 小时前
开源竞争-数据驱动成长-11/05-大专生的思考
人工智能·笔记·学习·算法·机器学习
ctrey_1 小时前
2024-11-4 学习人工智能的Day21 openCV(3)
人工智能·opencv·学习
啦啦右一1 小时前
前端 | MYTED单篇TED词汇学习功能优化
前端·学习
霍格沃兹测试开发学社测试人社区2 小时前
软件测试学习笔记丨Flask操作数据库-数据库和表的管理
软件测试·笔记·测试开发·学习·flask
今天我又学废了2 小时前
Scala学习记录,List
学习
王俊山IT2 小时前
C++学习笔记----10、模块、头文件及各种主题(一)---- 模块(5)
开发语言·c++·笔记·学习
Mephisto.java3 小时前
【大数据学习 | kafka高级部分】kafka中的选举机制
大数据·学习·kafka
南宫生4 小时前
贪心算法习题其三【力扣】【算法学习day.20】
java·数据结构·学习·算法·leetcode·贪心算法