Nginx七层负载均衡之动静分离思路详解

 更新时间:2024年02月22日 09:47:22   作者:暗隐之光  
Nginx动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和静态页面屋里分离,这篇文章主要介绍了Nginx七层负载均衡之动静分离思路详解,需要的朋友可以参考下

Nginx动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和静态页面屋里分离。严格意义上说应该是动态请求跟静态请求分开,可以理解层使用Nginx处理静态页面,tomcat处理动态页面。

  • 动态资源请求:要通过tomcat查询数据库,从数据库里返回内容。nginx转发到tomcat中通过tomcat来做处理。
  • 静态资源请求:请求中需要得到图片的地址或者请求一个html文件,css样式

思路:

servera:负载均衡服务器
serverb:静态服务器
serverc:动态服务器
serverd:默认服务器

servera(192.168.233.132):

# 安装 Nginx 服务器
yum install nginx -y
#关闭防火墙和selinux
systemctl stop firewalld
setenforce 0
# 切换到 Nginx 配置文件目录
cd /etc/nginx/conf.d/
# 使用 vim 编辑器打开 proxy.conf 文件进行编辑
vim proxy.conf
# 定义上传服务器的 upstream 块
upstream uploadPools {
    server 192.168.233.140; # 后端服务器的IP地址
}
# 定义静态资源服务器的 upstream 块
upstream staticPools {
    server 192.168.233.144; # 后端服务器的IP地址
}
# 定义主要应用服务器的 upstream 块
upstream wwwPools {
    server 192.168.233.141; # 后端服务器的IP地址
}
server {
    listen 80; # 监听80端口
    server_name www.bbs.com; # 将请求转发到此服务器块中的指定域名
    # 处理静态资源请求
    location /static/ {
        proxy_pass http://staticPools; # 将请求转发到静态资源服务器
        proxy_set_header host $host; # 传递请求头信息
        proxy_set_header X-Forwarded-For $remote_addr; # 传递 X-Forwarded-For 头信息
    }
    # 处理动态资源请求
    location /upload/ {
        proxy_pass http://uploadPools; # 将请求转发到上传服务器
        proxy_set_header host $host; # 传递请求头信息
        proxy_set_header X-Forwarded-For $remote_addr; # 传递 X-Forwarded-For 头信息
    }
    # 默认处理所有其他请求
    location / {
        proxy_pass http://wwwPools; # 将请求转发到主要应用服务器
        proxy_set_header host $host; # 传递请求头信息
        proxy_set_header X-Forwarded-For $remote_addr; # 传递 X-Forwarded-For 头信息
    }
}

serverb(192.168.233.144):

# 安装 Nginx 服务器
yum install nginx -y
#关闭防火墙和selinux
systemctl stop firewalld
setenforce 0
# 切换到 Nginx 配置文件目录
cd /etc/nginx
# 使用 vim 编辑器打开 nginx.conf 文件进行编辑,并注释掉 listen 和 root 配置项
vi nginx.conf
# listen       80;
# listen       [::]:80;
# root         /usr/share/nginx/html;
# 创建一个静态网页目录,并在其中创建一个简单的测试页面
mkdir -p /data/web
cd /data/web
mkdir static
echo static web test page > static/index.html
# 切换到 Nginx 配置文件目录,并创建一个新的虚拟主机配置文件 www.conf,并添加配置项
cd /etc/nginx/conf.d/
vim www.conf
# 添加以下内容:
# server {
#         listen 80;
#         server_name www.bbs.com;
#         root /data/web/;
#         location / {
#                 index index.html;
#         }
# }
# 重启 Nginx 服务器使配置生效
systemctl restart nginx

serverc(192.168.233.140):

# 安装 Nginx 服务器
yum install nginx -y
#关闭防火墙和selinux
systemctl stop firewalld
setenforce 0
# 切换到 Nginx 配置文件目录
cd /etc/nginx
# 使用 vim 编辑器打开 nginx.conf 文件进行编辑,并注释掉 listen 和 root 配置项
vi nginx.conf
# listen       80;
# listen       [::]:80;
# root         /usr/share/nginx/html;
# 创建一个新的静态网页目录,并在其中创建一个简单的测试页面
mkdir -p /data/web
cd /data/web
mkdir upload
echo upload web test page > upload/index.html
# 切换到 Nginx 配置文件目录,并创建一个新的虚拟主机配置文件 www.conf,并添加配置项
cd /etc/nginx/conf.d/
vim www.conf
# 添加以下内容:
# server {
#         listen 80;
#         server_name www.bbs.com;
#         root /data/web/upload;
#         location / {
#                 index index.html;
#         }
# }
# 重启 Nginx 服务器使配置生效
systemctl restart nginx

serverd(192.168.233.141):

# 安装 Nginx 服务器
yum install nginx -y
#关闭防火墙和selinux
systemctl stop firewalld
setenforce 0
# 切换到 Nginx 配置文件目录
cd /etc/nginx
# 使用 vim 编辑器打开 nginx.conf 文件进行编辑,并注释掉 listen 和 root 配置项
vi nginx.conf
# listen       80;
# listen       [::]:80;
# root         /usr/share/nginx/html;
# 创建一个新的静态网页目录,并在其中创建一个简单的测试页面
mkdir -p /data/web
echo "web test page." > /data/web/index.html
# 使用 vim 编辑器打开 Nginx 的虚拟主机配置文件 www.conf,并添加配置项
vi /etc/nginx/conf.d/www.conf
# 添加以下内容:
# server {
#         listen 80;
#         server_name www.bbs.com;
#         root /data/web/;
#         location / {
#                 index index.html;
#         }
# }
# 重启 Nginx 服务器使配置生效
systemctl restart nginx
# 使用 vim 编辑器打开 /etc/hosts 文件,并添加 IP 地址和域名的映射关系
vi /etc/hosts
# 添加以下内容:
# 192.168.233.132 www.bbs.com www.blog.com
 

测试:

# 使用 curl 命令访问 Nginx 服务器的默认主页
curl http://192.168.233.132
# 使用 curl 命令访问静态文件目录,并显示目录内容
curl http://192.168.233.132/static/
# 使用 curl 命令访问动态文件目录,并显示目录内容
curl http://192.168.233.132/upload/
 

到此这篇关于Nginx七层负载均衡之动静分离的文章就介绍到这了,更多相关Nginx动静分离内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • nginx处理http请求实现过程解析

    nginx处理http请求实现过程解析

    这篇文章主要介绍了nginx处理http请求实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Nginx七层及四层反向代理配置的全过程

    Nginx七层及四层反向代理配置的全过程

    反向代理是以代理服务器来接受internet连接请求,然后再把请求转发给另外的服务器,下面这篇文章主要给大家介绍了关于Nginx七层及四层反向代理配置的相关资料,需要的朋友可以参考下
    2022-03-03
  • nginx使用内置模块配置限速限流的方法实例

    nginx使用内置模块配置限速限流的方法实例

    Nginx现在已经是最火的负载均衡之一,在流量陡增的互联网面前,接口限流也是很有必要的,尤其是针对高并发的场景,下面这篇文章主要给大家介绍了关于nginx使用内置模块配置限速限流的相关资料,需要的朋友可以参考下
    2022-05-05
  • Nginx的完整配置详解及实例代码

    Nginx的完整配置详解及实例代码

    这篇文章主要介绍了Nginx的完整配置详解及实例代码的相关资料,需要的朋友可以参考下
    2017-03-03
  • nginx反向代理服务因配置文件错误导致访问资源时出现404

    nginx反向代理服务因配置文件错误导致访问资源时出现404

    这篇文章主要介绍了nginx反向代理服务因配置文件错误导致访问资源时出现404,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • 前端必备Nginx配置详解

    前端必备Nginx配置详解

    这篇文章主要介绍了前端必备Nginx配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Nginx服务器中的location配置详解

    Nginx服务器中的location配置详解

    这篇文章主要介绍了Nginx服务器中的location配置详解,包括location的匹配顺序等基本概念,需要的朋友可以参考下
    2015-08-08
  • Nginx中全局变量整理小结

    Nginx中全局变量整理小结

    对于Nginx下全局变量整理,方便使用Nginx的朋友调用全局变量。
    2010-08-08
  • CentOS7下非编译安装Nginx的图文教程

    CentOS7下非编译安装Nginx的图文教程

    这篇文章主要为大家详细介绍了CentOS7下非编译安装Nginx的图文教程,文中通过示例图片进行了详细讲解,有需要的小伙伴可以跟随小编一起学习一下
    2023-10-10
  • Nginx实现外网访问内网的步骤详解

    Nginx实现外网访问内网的步骤详解

    外网浏览器与内网是不通的,但是外网与中间过渡服务器是通的,中间过渡服务器与内网服务器是通的,这样在外网访问过渡服务器时,过渡服务器再跳转到后台服务器,本文给大家介绍了Nginx外网访问内网如何实现步骤,需要的朋友可以参考下
    2023-10-10

最新评论