Nginx七层负载均衡之动静分离
思路:
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七层负载均衡之动静分离
思路: servera:负载均衡服务器 serverb:静态服务器 serverc:动态服务器 serverd:默认服务器 servera(192.168.233.132): # 安装 Nginx 服务器 yum install nginx -y#关闭防火墙和selinux systemctl stop firewalld setenforce 0# 切换到 Nginx 配置文…...
305_C++_定义了一个定时器池 TimerPool 类和相关的枚举类型和结构体
头文件:定义了一个定时器池 TimerPool 类和相关的枚举类型和结构体 #ifndef TIMERPOOL_H #define TIMERPOOL_H #include "rsglobal.h" #include "taskqueue.h" #incl...
大整数因数分解工具——yafu
一、安装 yafu--下载链接 二、配置环境变量,直接从cmd打开 1.找到yafu-x64.exe 所在的文件路径 2.点击设置——系统——系统信息——高级系统设置——环境变量——点击PATH(上下都可以)——新建 添加yafu-x64.exe 所在路径——点击确定 3…...
非关系型数据库(NOSQL)和关系型数据库(SQL)区别详解
前言: 在我们的日常开发中,关系型数据库和非关系型数据库的使用已经是一个成熟的软件产品开发过程中必不可却的存储数据的工具了。那么用了这么久的关系数据库和非关系型数据库你们都知道他们之间的区别了吗?下面我们来详细的介绍一下。 关系…...
7.Cloud-GateWay
0.概述 https://cloud.spring.io/spring-cloud-static/spring-cloud-gateway/2.2.1.RELEASE/reference/html/ 1.入门配置 1.1 POM <!--新增gateway--> <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-sta…...
【Linux】Framebuffer 应用
# 前置知识 LCD 操作原理 在 Linux 系统中通过 Framebuffer 驱动程序来控制 LCD。 Frame 是帧的意思, buffer 是缓冲的意思,这意味着 Framebuffer 就是一块内存,里面保存着一帧图像。 Framebuffer 中保存着一帧图像的每一个像素颜色值&…...
markdown绘制流程图相关代码片段记录
有时候会使用typora来绘制一些流程图,进行编码之类的工作,在网络搜集了一些笔记,做个记录,方便日后进行复习,相关的记录如下: 每次作图时,代码以「graph <布局方向>」开头,如…...
云计算基础-计算虚拟化-CPU虚拟化
CPU指令系统 在CPU的工作原理中,CPU有不同的指令集,如下图,CPU有4各指令集:Ring0-3,指令集是在服务器上运行的所有命令,最终都会在CPU上执行,但是CPU并不是说所有的命令都是一视同仁的…...
MySQL数据库⑪_C/C++连接MySQL_发送请求
目录 1. 下载库文件 2. 使用库 3. 链接MySQL函数 4. C/C链接示例 5. 发送SQL请求 6. 获取查询结果 本篇完。 1. 下载库文件 要使用C/C连接MySQL,需要使用MySQL官网提供的库。 进入MySQL官网选择适合自己平台的mysql connect库,然后点击下载就行…...
选择排序和快速排序(1)
目录 选择排序 基本思想 选择排序的实现 图片实现 代码实现 快速排序 基本思想 快速排序的实现 图片实现 代码实现 选择排序 基本思想 每一次从待排序的数据元素中选出最小(最大)的元素,存放在序列的起始位置,直到全部…...
得物面试:Redis用哈希槽,而不是一致性哈希,为什么?
尼恩说在前面 在40岁老架构师 尼恩的读者交流群(50)中,最近有小伙伴拿到了一线互联网企业如得物、阿里、滴滴、极兔、有赞、希音、百度、网易、美团的面试资格,遇到很多很重要的面试题: Redis为何用哈希槽而不用一致性哈希? 最近…...
matlab发送串口数据,并进行串口数据头的添加,我们来看下pwm解析后并通过串口输出的效果
uintt16位的话会在上面前面加上00,16位的话一定是两个字节,一共16位的数据 如果是unint8的话就不会, 注意这里给的是13,但是现实的00 0D,这是大小端的问题,在matlanb里设置,我们就默认用这个模式…...
二分、快排、堆排与双指针
二分 int Binary_Search(vector<int> A,int key){int nA.size();int low0,highn-1,mid;while(low<high){mid(lowhigh)/2;if(A[mid]key)return mid;else if(A[mid]>key)highmid-1;elselowmid1; }return -1; }折半插入排序 ——找到第一个 ≥ \ge ≥tem的元素 voi…...
微信小程序步数返还的时间戳为什么返回的全是1970?
微信小程序步数返还的时间戳为什么返回的全是1970? 将返回的时间 乘以 1000 再 new Date() 转化就对了 微信返回的是秒S单位的,我们要转化为毫秒ms单位,才能进行格式化日期。 微信给我们下了个坑, 参考: https://d…...
Python函数——函数介绍
一、引言 在Python编程中,函数是构建高效代码的关键。通过创建可重用的代码块,我们可以使程序更加清晰、易读且易于维护。在本文中,我们将深入了解Python函数的基本概念及其特性。 二、Python函数的基本概念 函数是一段具有特定功能的代码块…...
【Linux系统化学习】文件重定向
目录 文件内核对象 文件描述符的分配规则 重定向 重定向的概念 dup2系统调用 输出重定向 追加重定向 输入重定向 stderr解析 重定向到同一个文件中 分离常规输出和错输出 文件内核对象 上篇文章中我们介绍到了操作系统中的文件,操作系统为了方…...
防火墙工作模式详解
防火墙工作模式是指防火墙在网络中的工作方式和策略。常见的防火墙工作模式包括以下几种: 1. 包过滤工作模式:根据事先确定的规则集合,对进出网络的网络包进行过滤和检查。根据规则,防火墙可以允许或阻止特定的网络流量。 2. 代…...
CCF编程能力等级认证GESP—C++6级—20231209
CCF编程能力等级认证GESP—C6级—20231209 单选题(每题 2 分,共 30 分)判断题(每题 2 分,共 20 分)编程题 (每题 25 分,共 50 分)闯关游戏工作沟通 答案及解析单选题判断题编程题1编程题2 单选题…...
ES6 ~ ES11 学习笔记
课程地址 ES6 let let 不能重复声明变量(var 可以) let a; let b, c, d; let e 100; let f 521, g "atguigu", h [];let 具有块级作用域,内层变量外层无法访问 let 不存在变量提升(运行前收集变量和函数&#…...
001 - Hugo, 创建一个网站
001 - Hugo, 创建一个网站安装hugoWindows系统Macos Hugo博客搭建初始化博客主题安装配置博客各个页面开始创作创建 GitHub Page 仓库本地调试和预览发布内容 教程及鸣谢文字教程视频教程 001 - Hugo, 创建一个网站 这篇文章假设你已经: 了解基本的终端命令行知识&…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...
智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验
一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...
Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...
分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...
