美文网首页
Linux_334_Nginx动静态分离实践思路

Linux_334_Nginx动静态分离实践思路

作者: 为宇绸缪 | 来源:发表于2022-12-13 22:01 被阅读0次

准备好四台linux虚拟机,vmware安装即可
四台机器的环境如下
lb01 192.168.178.123 用于对域名的解析,作用是对请求的判断以及负载均衡

lb02 192.168.178.124 静态服务器组
web01 192.168.178.125 上传服务器
web02 192.168.178.126 解析默认的动态url
备注:需要修改hosts文件,修改www.yu.com和lb01的地址做一个解析关系

1、当用户访问 www.yu.com/uploads,该形式的URL就判断为是上传的请求,代理服务器把该类型的请求转发给上传服务器
2、当用户访问 www.yu.com,这种形式的URL,就让他走默认的服务器组,loaction / {}
3、当用户访问 www.yu.com/static,该形式的URL就判断为是静态请求,转发给文件服务器组
如上需求,有关服务器组的配置如下

nginx实现了负载均衡的参数,主要有两个
proxy_pass http://server_upstream/;

配置静态服务器组
upstream static_pools{
server 192.168.178.124;
}

配置上传服务器池
upstream upload_pools {
server 192.168.178.125;
}

默认的动态服务器组
upstream default_pools{
server 192.168.178.126;
}

判断url的写法
(1)nginx的location功能的判断
判断当用户url是 www.yu.com/static/zhou.mp3
location /static/ {
proxy_pass http://static_pools; # 这是请求转发给地址池
include proxy.conf; # 包含语法,包含一个配置文件的参数到该虚拟主机中,属于代理参数优化写法
}
判断用户url是www.yu.com/upload/xx.jpg
location /upload/ {
proxy_pass http://upload_pools;
include proxy.conf;
}
# 最低级的url判断,所有的请求就都走这里了
location / {
proxy_pass http://default_pools;
include proxy.conf;
}

(2)使用shell语法来进行判断
# 如果用户请求url是static开头的就做什么事
# 如果用户的url是www.yu.com/static/a.mp4,具体请求的信息如a.mp4就会报存在分组当中,然后携带参数进行转发
if (request_url ~* "^/static/(.*)")
{
proxy_pass http://static_pools/$1;
}

判断请求是upload时候做什么事

if (request_url ~* "^/upload/(.*)")
{
proxy_pass http://uoload_pools/$1;
}

location / {
proxy_pass http://default_pools;
include proxy.conf;
}

有关代理参数的优化写法
1、之前未优化的写法
server {
listen 80;
server_name _;
proxy_pass http://www_pools;
proxy_set_header Host host; proxy_set_header X-Forwarded-Forremote_addr;
}

改进
location / {
proxy_pass http://www_pools;
include proxy.conf
}
location /static/ {
proxy_pass http://static_pools;
include proxy.conf
}
只需要在外部的nginx.conf同级目录,创建proxy.conf即可
常见的生产使用的代理参数如下,proxy.conf内容
proxy_set_header Host host; proxy_set_header X-Forwarded-Forremote_addr;
proxy_connect_timeout 60;
proxy_send_timeout 60;
proxy_read_timeout 60;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;

location /static/ {
proxy_pass http://static_pools;
include proxy.conf;
}

相关文章

  • Linux_334_Nginx动静态分离实践思路

    准备好四台linux虚拟机,vmware安装即可四台机器的环境如下lb01 192.168.178.123 用...

  • java完成ftp传输(将文件上传至静态资源服务器)

    Nginx实现静态资源服务器 apache实现静态资源服务器 参考文章记录 JavaWeb静态资源分离思路 jav...

  • 动静分离

    1. 动静分离的实现思路 动静分离是将网站静态资源(HTML,JavaScript,CSS,img等文件)与后台应...

  • 前后端分离 - NGINX 静态代理资源

    静态代理资源 参考前后端分离项目实践分析: 静态代理资源组织模式 一 核心模块 1.requirejs Requ...

  • UI设计师福利——SVG动态表情

    先放上效果图,再说实现方法。 1.动静分离 无论何种形式的SVG动图,第一步自然离不开我们的“动静分离大法”。静态...

  • 网站开发动静分离实践书目录

    网站开发动静分离实践 网站开发之动静分离的实现思路 网站开发之动静分离的实现优缺点 网站开发之实现案例 网站开发之...

  • Node

    环境 官网英文官网中文 淘宝前后端分离实践百度静态资源库 node repl开发 dos命令tasklist 查看...

  • 第三十六节、Nginx动静分离/upstream/rewrite

    动静分离 Nginx动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和静态页面物理分离。严...

  • 课题相关

    人脸识别 课题内容 远距离人脸识别 动、静态数据分离 动态数据数据结构化处理 快速识别,搜索对应人脸信息 课题要求...

  • 44笔记---nginx

    今日内容 单机实现静态分离 集群实现动静态分离 Rewrite跳转 2.url重写实例 请求url.lsc.com...

网友评论

      本文标题:Linux_334_Nginx动静态分离实践思路

      本文链接:https://www.haomeiwen.com/subject/agbcqdtx.html