注册
|
登录
发帖
热搜
活动
交友
discuz
论坛
BBS
翼度工具
翼度网址导航
开发工具
Linux命令速查
网页设计配色表
在线制作icon
颜色代码选取器
翼度科技
»
论坛
›
云主机
›
服务器技术
›
查看内容
返回列表
发新帖
Nginx七层负载均衡之动静分离思路详解
开心每一天刘
开心每一天刘
当前离线
积分
12
4
主题
4
帖子
12
积分
新手上路
新手上路, 积分 12, 距离下一级还需 38 积分
新手上路, 积分 12, 距离下一级还需 38 积分
积分
12
发消息
显示全部楼层
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动静分离内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
来源:
https://www.jb51.net/server/316095kei.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
上一篇:
如何利用Docker部署一个简单的springboot项目
下一篇:
如何利用Docker部署一个简单的springboot项目
发表于 2024-2-24 16:17:16
举报
回复
使用道具
分享
返回列表
发新帖
本版积分规则
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
快速回复
快速回复
返回顶部
返回顶部
返回列表
返回列表