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动静分离内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 配置ab来为Nginx服务器做压力测试的方法

    配置ab来为Nginx服务器做压力测试的方法

    这篇文章主要介绍了配置ab来为Nginx服务器做压力测试的方法,ab是针对Apache的测试工具但本文讲解其测试Nginx的过程,需要的朋友可以参考下
    2016-01-01
  • fastdfs+nginx集群搭建的实现

    fastdfs+nginx集群搭建的实现

    这篇文章主要介绍了fastdfs+nginx集群搭建的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • nginx搭建NFS服务器的方法步骤

    nginx搭建NFS服务器的方法步骤

    本文主要介绍了nginx搭建NFS服务器的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • Nginx做NodeJS应用负载均衡配置实例

    Nginx做NodeJS应用负载均衡配置实例

    这篇文章主要介绍了Nginx做NodeJS应用负载均衡配置实例,本文直接给出配置实例,需要的朋友可以参考下
    2015-01-01
  • Nginx实现http自动跳转到https

    Nginx实现http自动跳转到https

    本文主要介绍了Nginx实现http自动跳转到https,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • Mac使用Nginx设置代理并禁用自带Apache的问题记录

    Mac使用Nginx设置代理并禁用自带Apache的问题记录

    本文介绍如何在Mac上禁用自带的Apache服务并安装Nginx,首先需要关闭Apache并禁止其自启动,接着,通过Homebrew安装Nginx,并配置其文件和目录,最后,介绍了如何生成SSL/自签名证书,详细步骤包括修改Apache配置、安装Nginx、编辑Nginx配置文件以及验证和重启Nginx服务
    2024-09-09
  • 修改Nginx与Apache上传文件大小限制

    修改Nginx与Apache上传文件大小限制

    这篇文章主要介绍了修改Nginx与Apache上传文件大小限制,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • nginx里的rewrite跳转的实现

    nginx里的rewrite跳转的实现

    这篇文章主要介绍了nginx里的rewrite跳转的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Windows下使用 Nginx 搭建 HTTP文件服务器 实现文件下载功能

    Windows下使用 Nginx 搭建 HTTP文件服务器 实现文件下载功能

    Nginx 是一款轻量级的 HTTP 服务器,采用事件驱动的异步非阻塞处理方式框架,这让其具有极好的 IO 性能,时常用于服务端的反向代理和负载均衡,这篇文章主要介绍了Windows下使用 Nginx 搭建 HTTP文件服务器实现文件下载功能,需要的朋友可以参考下
    2023-03-03
  • 使用Nginx进行URL转发的配置案例

    使用Nginx进行URL转发的配置案例

    Nginx是一个高性能的Web服务器和反向代理服务器,它还可以用于URL转发,在本教学文章中,我们将从安装Nginx开始,逐步介绍配置步骤,并展示一个URL转发的案例,感兴趣的朋友可以参考下
    2023-09-09

最新评论