Nginx【Nginx场景实践(fair模块安装、Nginx配置故障转移、跨域问题、跨域问题解决)】(九)-全面详解(学习总结---从入门到深化)

news2024/11/16 2:17:07

目录

Nginx场景实践_fair模块安装

Nginx场景实践_Nginx配置故障转移 

Nginx场景实践_跨域问题

Nginx场景实践_跨域问题解决


Nginx场景实践_fair模块安装

模块介绍

fair采用的不是内建负载均衡使用的轮换的均衡算法,而是可以根据 页面大小、加载时间长短智能的进行负载均衡。 

模块安装

切换到nginx目录执行一下操作

./configure --prefix=/usr/local/nginx /
--add-module=/opt/nginx-upstream-fair-master

编译

make

备份原来的nginx命令

cp /usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx-bak

替换原来的 nginx 命令

cp /usr/local/nginx-1.16.1/objs/nginx
/usr/local/nginx/sbin/nginx

配置实现

upstream backserver {
 fair;
 server 192.168.0.14;
 server 192.168.0.15;
}

注意: 已安装Nginx,配置第三方模块时,只需要--add-module=/第 三方模块目录,然后make编译一下就可以,不要 make install 安装。编译后复制objs下面的nginx到指定目录下。

实时效果反馈

1. Nginx安装第三方模块的核心指令是__。

A --add-pid

B --add-port 

C --add-sbin

D --add-module

Nginx场景实践_Nginx配置故障转移 

当上游服务器(真实访问服务器),一旦出现故障或者是没有及时相应的话,应该直接轮训到下一台服务器,保证服务器的高可用。 

Nginx配置代码

server {
       listen       80;
       server_name www.itmayiedu.com;
       location / {
    ### 指定上游服务器负载均衡服务器
          proxy_pass http://backServer;
     #故障转移的条件:如果后端的服务器返回502、504、执行超时等错误,自动将请求转发到upstream
负载均衡池中的另一台服务器,实现故障转移。
         proxy_next_upstream http_502 http_504 error timeout invalid_header; 
    ###nginx与上游服务器(真实访问的服务器)超时时间 后端服务器连接的超时时间_发起握手等候响应超时时间
          proxy_connect_timeout 1s;
    ###nginx发送给上游服务器(真实访问的服务器)超时时间
           proxy_send_timeout 1s;
    ### nginx接受上游服务器(真实访问的服务器)超时时间
           proxy_read_timeout 1s;
           index index.html index.htm;
       }
   }

实时效果反馈

1. Nginx故障转移技术主要解决____问题。

A 高可用

B 高性能

C 安全

D 高并发

2. 下列不属于Nginx故障转移技术指令的是____。

A proxy_connect_timeout

B proxy_send_timeout

C proxy_read_timeout

D proxy_cahce

Nginx场景实践_跨域问题

为什么会出现跨域问题 

出于浏览器的同源策略限制。同源策略是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上 的,浏览器只是针对同源策略的一种实现。

什么是跨域 

当一个请求URL的协议、域名、端口三者之间任意一个与当前页面 url不同即为跨域。

跨域问题演示示例 

前端页面

<html>
<body>
<button onclick="test()">发送</button>
</body>
<script
src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
  function test (){
     $.get("http://192.168.66.100:90/abc",
   function(result){
         alert(result);
     });
}
</script>
</html>

如下报错

index.html:1 Access to XMLHttpRequest at
'http://192.168.66.100:90/abc' from origin
'null' has been blocked by CORS policy: No
'Access-Control-Allow-Origin' header is
present on the requested resource.

jquery.min.js:6 GET
http://192.168.66.100:90/abc net::ERR_FAILED
200

实时效果反馈

1. 跨域的同源策略指的是____。

A 协议、域名、端口

B ip、域名、端口

C 域名、端口

D 协议、域名

2.同源策略是一种___,它是浏览器最核心也最基本的___功能。

A 约束,兼容

B 约定,安全

C 机制、安全

D 机制、可靠

Nginx场景实践_跨域问题解决

解决方案 

只需要在Nginx的配置文件中配置以下参数:

location / {  
   add_header Access-Control-Allow-Origin *;
   add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
   add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
   if ($request_method = 'OPTIONS') {
       return 204;
   }
}

参数:

1、Access-Control-Allow-Origin 表示服务器可以接受所有的请求源(Origin),即接受所有跨 域的请求。

2、 Access-Control-Allow-Methods 明确了客户端所要访问的资源允许使用的方法或方法列 表。

3 Access-Control-Allow-Headers 设置预检请求。

实时效果反馈

1. Nginx解决跨域的核心指令是___。

A add_header Access-Control-Allow-Methods

B add_header Access-Control-Allow-Headers

C add_header Access-Control-Allow-Origin

D add_header Access-Control-Max-Age 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/713893.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++(Day5)

思维导图&#xff1a; 全局变量&#xff0c;int monster 10000;定义英雄类hero&#xff0c;受保护的属性string name&#xff0c;int hp,int attck&#xff1b;公有的无参构造&#xff0c;有参构造&#xff0c;虚成员函数 void Atk(){blood-0;}&#xff0c;法师类继承自英雄类…

客户案例:构建可靠海外通邮系统,护航教育行业信息安全

►►►客户背景 某985高校作为一所国内知名的高等教育机构&#xff0c;拥有优质的师生资源和丰富的教学经验&#xff0c;积极开展与国外高校的合作交流&#xff0c;组织师生参与出国交流、学术考察等活动&#xff0c;在跨境科研合作和人才培养等领域开展深入合作&#xff0c;推…

2023-07-03:讲一讲Redis缓存的数据一致性问题和处理方案。

2023-07-03&#xff1a;讲一讲Redis缓存的数据一致性问题和处理方案。 答案2023-07-03&#xff1a; 数据一致性 当使用缓存时&#xff0c;无论是在本地内存中缓存还是使用 Redis 等外部缓存系统&#xff0c;会引入数据同步的问题。下面以 Tomcat 向 MySQL 中进行数据的插入、…

《操作系统》- 操作系统的发展与分类

目录 前言一、手工操作阶段1.1 人工操作方式1.2 脱机输入/输出方式 二、批处理阶段2.1 单道批处理系统2.2 多道批处理系统 三、分时操作系统四、实时操作系统五、微机操作系统的发展六、总结 前言 从第一台计算机诞生至今已过去70多年了&#xff0c;在这期间&#xff0c;计算机…

Python程序设计基础:程序流程控制(二)

文章目录 一、循环结构1、for语句2、while语句3、break和continue语句4、循环结构中的else语句5、循环的嵌套 一、循环结构 最基本的复杂工作就是循环&#xff0c;要想写出的程序能够执行更加复杂的工作&#xff0c;就需要将循环问题进行实现。 1、for语句 for语句用一个循环…

【剧前爆米花--爪哇岛寻宝】网络原理——ip地址管理,路由选择和数据链路层数据帧

作者&#xff1a;困了电视剧 专栏&#xff1a;《JavaEE初阶》 文章分布&#xff1a;这是一篇关于网络原理的文章&#xff0c;在这篇文章中我会具体介绍ip地址的分配管理&#xff0c;信息传输的路由选择以及以以太网来举例的数据链路层数据帧&#xff0c;希望对你有所帮助&#…

IDE /Qt Creator 文本编辑器之文件编码设置

文章目录 概述"QtCreator 文件编码" 配置项的使用效果将代码文件修改为GB2312编码"QtCreator 文件编码" 配置项的功能不会影响qml文件的加载方式改动pro文件的编码格式?其他 概述 在 Qt Creator 工具 - 选项 - 文本编辑器 - 行为选项卡中&#xff0c;存在…

RabbitMQ入门指南

人生永没有终点。只有等到你瞑目的那一刻&#xff0c;才能说你走完了人生路&#xff0c;在此之前&#xff0c;新的第一次始终有&#xff0c;新的挑战依然在&#xff0c;新的感悟不断涌现。 文章目录 一、MQ与RabbitMQ概述1. MQ简述2. MQ的优势3. MQ的劣势4. 常见的MQ产品5. Rab…

【Redis】Redis高可用

目录 主从复制1. 全量复制2. 增量复制3. 主从复制的问题&#xff08;1&#xff09;. 主从复制延迟&#xff08;2&#xff09;. 读到过期数据&#xff08;3&#xff09;. 主从配置不一致导致数据丢失&#xff08;4&#xff09;. 全量复制性能损耗大&#xff08;5&#xff09;. 主…

机器人动力学与控制学习笔记(十五)——机器人路径规划

十五、机器人路径规划 15.1 机器人运动规划 机器人运动规划包含三个层次的内容&#xff1a;即路径规划、轨迹规划、轨迹跟踪或轨迹控制。路径规划是确定不含时间信息的几何路径。一般的工业机器人中都含有点到点&#xff0c;直线&#xff0c;圆弧及样条曲线等常用轨迹的路径…

【进程】进程概念及相关函数实现

目录 0. 进程概述 1. 创建进程 1.1 进程的创建&#xff1a;fork函数 1.2 进程的等待&#xff1a;wait()、waitpid() 1.3 特殊进程&#xff1a;僵尸进程、孤儿进程、守护进程 1.4 进程的终止&#xff1a;exit和_exit函数 1.5 进程退出清理&#xff1a;atexit函数 1.6 进…

【我的创作纪念日】关于某站的音频爬虫+GUI

文章目录 一、前言&机遇二、爬虫代码三、爬虫GUI四、文件打包五、结果展示未来可期 一、前言&机遇 许久没看私信内容&#xff0c;一上线就看到了官方的私信&#xff0c;我已经来到CSDN1024天啦&#xff01; 想到注册这个号的初衷是学习记录爬虫&#xff0c;后面渐渐变…

抖音产业带服务商哪些类目在招募?开通需要什么条件?

5月&#xff0c;刚刚结束的抖音电商生态大会上&#xff0c;抖音电商总裁魏雯雯披露&#xff0c;近一年平台GMV增幅超80%。其中&#xff0c;商城GMV同比增长277%&#xff0c;电商搜索GMV同比增长159%&#xff0c;货架场景GMV在平台GMV占比超30%。过去一年&#xff0c;抖音电商直…

数据结构与算法——树与二叉树

&#x1f60a;数据结构与算法——树与二叉树 &#x1f680;前言&#x1f680;树&#x1f6a2;树的定义&#x1f6a2;树的基本术语&#x1f6a2;有序树和无序树&#x1f6a2;森林 &#x1f680;二叉树&#x1f6a2;二叉树的定义&#x1f6a2;二叉树的性质&#x1f6a2;满二叉树&…

【VUE】Element UI 表单校验出现async-validator: [‘discipline is required‘]报错

问题:async-validator: [discipline is required] 选择器已经获取到数值&#xff0c;却显示获取到 解决办法如下

线性规划算法

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家&#xff1a;点击跳转 本文部分内容来自网友博客 一&#xff0c;线性规划 例如&#xff0c;一个企业“生产计划”的线性规划模型如下&#xff1a; 是subjec…

​如何优雅的卸载Edge浏览器

如何优雅的卸载Edge浏览器 由于Edge浏览器越来越复杂&#xff0c;功能越来越繁琐我是真的一刻也用不下去了。虽然我主力是火狐浏览器&#xff0c;Edge用来访问一些只能使用Chromium内核的网页作为备用。 但是我现在一打开Edge浏览器我就窝火&#xff0c;也懒得再去调整优化&a…

【表格树状】jqgrid表格树状折叠效果实现(附代码,留邮箱发demo)

【写在前面】有段时间没好好的整理一篇前端文章了&#xff0c;之前的6月城市活动也结束了&#xff0c;期待下周的榜单公布&#xff0c;其实这个月还有一个东西也让我牵肠挂肚的&#xff0c;就是软考的成绩也会在这个月的中旬公布&#xff0c;也是感觉很悬。既成定局&#xff0c…

【中间件-Openjob】高性能任务调度框架Openjob简介及快速搭建

介绍基础基础信息任务调度框架对比 特性高可靠高性能定时调度分布式计算延迟任务工作流程权限管理告警监控跨语言 安装访问docker-compose安装在线访问 总结 介绍 一款分布式高性能任务调度框架&#xff0c;支持多种定时任务、延时任务、工作流设计、轻量级分布式计算、无限水平…

el-form动态嵌套表单验证

v-for 遍历的表单校验 根据官网的介绍&#xff0c;是在 el-form-item 中使用 :rules 属性&#xff0c;同时 prop 属性直接定位到具体循环元素。这个用法的前提是在循环外面包裹一个 el-form 元素&#xff0c;v-for 位于 el-form-item 中。 <template><el-form:model…