Nginx(简洁版)

基本配置

worker_processes 1; //默认为1,表示开启一个业务进程
events //事件驱动模块(){
	worker_connections 1024; //单个业务进程可接受连接数
}
http{
	include mime.types; // 引入http mime类型(在外部已经定义好,解析文件的方式)
	default_type application/octet-stream; //如果没有在mime.types指定的类型,按照default_type解析
	sendfile on;  //数据零拷贝
	keepalive_timeout 65; //
	server { //虚拟主机vhost,一个nginx可以运行多个主机,并且相互之间不干扰
		listen 80;  //监听的端口号
		server_name localhost; // 域名或主机名
		// 重点,下面再说 
		 location / {
			root html; 
			index index.html index.htm;
		}
		eror_page 500 502 503 504 /50x.html; //报错转向
		location = /50x.html{
			root html; // 重定向
		}
	}
}

虚拟主机与域名解析

电脑拿到IP地址之后,会发起TCP/IP请求,

ServerName匹配规则

  1. 我们可以在统一servername中匹配多个域名
  2. 完成匹配
  3. 通配符匹配
  4. 通配符结束匹配
  5. 正则匹配

正向,反向代理

下面是一张正向代理的示例,是用户与服务器主动想要连接外网
在这里插入图片描述
下面是反向代理的示例。是由服务方主动提供代理,所以叫反向代理
夏
网关其实就是代理服务器,特点是需要中转,所以网关的带宽限制会影响上传与下载的速度
像这种进出都要经过代理服务器(网关)的叫做隧道式代理,但是有一种性能更高的代理模式叫lvs(DR模型),他上传需要经过代理服务器,但是连接建立后便从服务方直接连接发起方

 location / {
 // proxy_pass与root二选一
 	proxy_pass 	http://www.xxxx1.com; //代理到域名
 	
	# root html; 
	# index index.html index.htm;
}

使用负载均衡,代理到多个ip

// 与server平级
upstream httpds{

	server xxx1:80; // weight=8 可以附加权重,改变负载均衡策略 down表示下线 backup表示备用
	server xxx2:80; // weight=2 
}
 location / {
 // proxy_pass与root二选一
 	proxy_pass 	http:/httpds; 
 	
	# root html; 
	# index index.html index.htm;
}

动静分离

 location / {
 	proxy_pass 	http://www.xxxx1.com; //代理到域名
}
 location /css {
 	root html;
 	index index.html index.htm;
}
 location /js {
 	root html;
 	index index.html index.htm;
}
 location /img {
 	root html;
 	index index.html index.htm;
}

上面的书写方式过于麻烦,我们也可以使用正则表达式

 location ~*/(js|css|img) {
 	root html;
 	index index.html index.htm;
}

rewrire

 location / {
 	rewrite ^/([0-9]+).html$ /index?pageNum=$1 break; 
 	proxy_pass 	http://www.xxxx1.com; //代理到域名
}

防盗链

valid_referers none | blocked | server_names | strings

  1. none:检测Referer头域不存在的情况
  2. blocked:检测Referer头域的值被防火墙或者代理服务器删除或伪装的情况,这种情况该头域的值以http://或者https://开头
  3. server_names:设置一个或多个URL,检测Referer头域的值是否是这些URL中的某一个
 location ~*/(js|css|img) {
 valid_referers xxxx;
 	root html;
 	if($valid_referer){
		return 403
	}
 	index index.html index.htm;
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《视觉十四讲》例程运行记录(6)——运行ch9后端优化CeresBA和g2o求解BA的实践例程

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、运行ch9的例程代码1. MeshLab安装2. 编译例程代码前的修改3. 编译例程 一、运行ch9的例程代码 1. MeshLab安装 (1) 软件中心安装 搜索:MeshLab&am…

HCIP的学习(14)

过滤策略—filter-policy ​ 思科中:分发列表 ​ 过滤策略是只能够针对于路由信息进行筛选(过滤)的工具,而无法针对于LSA进行过滤。 在R4的出方向上配置过滤策略,使得R1不能学习到23.0.0.0/24路由信息1、抓取流量 […

CSS学习笔记之基础教程(二)

上节内容CSS学习笔记之基础教程&#xff08;一&#xff09; 6、边距 6.1 外边距&#xff1a;margin 6.1.1 外边距 marginmargin-topmargin-leftmargin-bottommargin-right <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8…

单链表经典算法LeetCode--203.移除链表元素(两种方法解)

1.链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09;【点击即可跳转】 分析此题提供两种思路&#xff1a; 1.遍历原链表&#xff0c;将值为val的节点释放掉&#xff08;双指针法&#xff09; 定义一个pcur指针指向头节点&#xff0c;定义一个prev指针指向NULL 需要注…

内存操作数及寻址方式

debug命令 debug命令&#xff0c;即DOS实用程序。DEBUG是一个DOS实用程序&#xff0c;是供程序员使用的程序调试工具&#xff0c;可以用它检查内存中任何地方的字节以及修改任何地方的字节。它可以用于逐指令执行某个程序以验证程序运行的正确性&#xff0c;也可以追踪执行过程…

数据分享—全国分省河流水系

河流水系数据是日常研究中必备的数据之一&#xff0c;本期推文主要分享全国分省份的水系和河流数据&#xff0c;梧桐君会不定期的更新数据&#xff0c;欢迎长期订阅。 数据预览 山东省河流水系 吉林省河流水系 四川省河流水系 数据获取方式 链接&#xff1a;https://pan.baidu.…

值得用来替代Vector的Java集合:ArrayBlockingQueue详解

哈喽&#xff0c;各位小伙伴们&#xff0c;你们好呀&#xff0c;我是喵手。运营社区&#xff1a;C站/掘金/腾讯云&#xff1b;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互相学习&#xff0c;一…

C++ vs Rust vs Go 性能比较

本文对C、Rust和Go三种编程语言编写的gunzip程序进行了性能比较&#xff0c;通过基准测试试图尽可能公平的比较它们的性能。原文: Performance — C vs Rust vs Go 本文将通过一些基准测试&#xff0c;比较 C 和 Rust 以及 Go 编写的相同程序的性能。我们将尽最大努力将语言差异…

十三、Redis哨兵模式--Sentinel

上一篇介绍了Redis中的主从复制。我们知道Redis主从中一般只有主节点对外提供写操作&#xff0c;如果主节点发生故障&#xff0c;为了保证Redis的可用性&#xff0c;这时就要在可用的slave节点中&#xff0c;挑选一个作为主节点。这种切换操作如果是人为的操作&#xff0c;那么…

5分钟了解下HDFS

随着大数据时代的到来&#xff0c;传统的数据存储和管理方式已经无法满足日益增长的数据处理需求。HDFS&#xff08;Hadoop Distributed File System&#xff09;作为Apache Hadoop项目的一部分&#xff0c;以其高度的容错性、可扩展性和高吞吐量&#xff0c;成为了处理大规模数…

音视频开发6 音视频录制原理和播放原理

音视频录制原理 音视频播放原理

图片转word如何转换?

要将图片转换为Word文档&#xff0c;你可以使用以下方法之一&#xff1a; 以上这些方法都可以帮助你将图片中的文本转换为可编辑的Word文档&#xff0c;你可以根据自己的喜好和需求选择其中一种方法来操作。 使用OCR软件或在线工具&#xff1a;有许多OCR&#xff08;Optical Ch…

动态多目标优化算法:基于自适应启动策略的混合交叉动态约束多目标优化算法(MC-DCMOEA)求解DCP1-DCP9(提供MATLAB代码)

一、动态多目标优化问题 1.1问题定义 1.2 动态支配关系定义 二、 基于自适应启动策略的混合交叉动态多目标优化算法 基于自适应启动策略的混合交叉动态多目标优化算法&#xff08;Mixture Crossover Dynamic Constrained Multi-objective Evolutionary Algorithm Based on Se…

保研机试之【二叉树后序】--1道题

参考&#xff1a;东哥带你刷二叉树&#xff08;后序篇&#xff09; | labuladong 的算法笔记 建议先过一遍&#xff1a;今天是二叉树~-CSDN博客&#xff0c;very重要&#xff01; 然后再过一遍&#xff08;理解怎么应用方法&#xff09;&#xff1a;保研机试之[三道二叉树习题…

pyqt颜色变换动画效果

pyqt颜色变换动画效果 QPropertyAnimation介绍颜色变换效果代码 QPropertyAnimation介绍 QPropertyAnimation 是 PyQt中的一个类&#xff0c;它用于对 Qt 对象的属性进行动画处理。通过使用 QPropertyAnimation&#xff0c;你可以平滑地改变一个对象的属性值&#xff0c;例如窗…

day04-常用API

day04 常用API 1.API 概述 API (Application Programming Interface) &#xff1a;应用程序编程接口 编写一个机器人程序去控制机器人踢足球&#xff0c;程序需要向机器人发出向前跑、向后跑、射门、抢球等各种命令。 机器人厂商就会提供一些用于控制机器人的类&#xff0c…

ControlNet++:让AI图像生成更精准、更可控

在人工智能的世界里&#xff0c;文本到图像的生成技术正变得越来越先进。但如何确保生成的图像精确地反映我们的想象呢&#xff1f;最近&#xff0c;一项名为ControlNet的新技术为我们提供了答案。 ControlNet是一种新颖的方法&#xff0c;它通过优化生成图像与给定条件之间的…

C++初学者,使用汉语编程

现在的IDE是完全支持中文编程的&#xff0c;对于C语系的爱好者来说&#xff0c;又可以发挥自己的想象力了。 今天使用一些宏定义写了一个小程序&#xff0c;用于玩弄C。 我喜欢C语言&#xff0c;是因为C语言简单&#xff0c;语法简洁。我也喜欢汉语&#xff0c;因为汉语语法简…

解决axios发送post请求,springMVC接收不到数据问题

今天发现一个问题&#xff1a; vue组件中无法正确接收并处理axios请求 这个问题已经困扰我好久了&#xff0c;在电脑面前坐了两天只能确定前端应该是正确的发送了请求&#xff0c;但发送请求后无法正确接受后端返回的数据。 问题&#xff1a;vue组件无法接受后端数据 错误代码如…

Java---类和对象第一节

目录 1.面向对象初步认识 1.1什么是面向对象 1.2面向对象和面向过程的区别 2.类的定义和使用 2.1简单认识类 2.2类的定义格式 2.3类的实例化 2.4类和对象的说明 3.this关键字 3.1访问本类成员变量 3.2调用构造方法初始化成员变量 3.3this引用的特性 4.对象的构造以…