热门推荐
Nginx学习笔记
2024-10-31 17:26

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。
功能:正向代理,反向代理,负载均衡,动静分离。

Nginx学习笔记

正向代理:VPN。客户端通过代理服务器请求资源服务器。代理客户端。
反向代理:代理服务器资源的代理,称为反向代理。代理服务器端。
负载均衡:内置策略(轮询、加权轮询,ip hash

Nginx官网下载地址:http://nginx.org/en/download.html
下载之后解压,就可以运行。

这里我们使用VSCode中的和插件对Nginx进行操作。

修改配置文件 -> 执行 -> 访问IP:8000
静态页面配置一个AdminLTE后台管理系统。
配置文件示例

正向代理:客户端的代理,如VPN。
反向代理:服务器端的代理,如Nginx。
这里我省略了后端程序ruoyi部署过程,只保留关键的Nginx配置。

:Nginx的主机IP,例如192.168.0.101
:nginx主机IP和端口,192.168.0.101:8001
:localhost:8088,里配置的主机名和端口。
:用户的真实IP,即客户端IP地址。
:代理路径。如果地址只配置到了,不包括URL,那么location将会被追加到转发的地址中。但是如果proxy_pass包括了URL,则location不会被追加到地址中。
eg

  1. 为什么需要动静分离

Apache Tocmat 严格来说是一款java EE服务器,主要是用来处理 servlet请求。处理css、js、图片这些静态文件的IO性能不够好,因此,将静态文件交给nginx处理,可以提高系统的访问速度,减少tomcat的请求次数,有效的给后端服务器降压。

  1. 图例
  1. Nginx配置文件示例
  1. 修饰符与优先级
    1. 精确匹配()
    2. 前缀匹配()表示普通字符匹配。使用前缀匹配。如果匹配成功,则不再匹配其它 location。优先级第二高。
    3. 正则匹配(和
    4. 不写

在这里插入图片描述

缓冲一般放在内存中,如果不适合放入内存,则会将响应写入磁盘临时文件中。
启用缓冲后,Nginx先将后端请求响应(response)放入缓冲区,等到整个响应完成后,再发送给客户端。减少服务器长链接数量,释放资源。
Nginx默认是开启了缓冲。也可以用来手动的关闭Nginx缓冲。

如果整个响应不适合存到内存里,则将其中的一部分保存到磁盘上的‎‎临时文件中‎‎。
‎‎proxy_max_temp_file_size‎‎设置临时文件的最大值。
‎‎proxy_temp_file_write_size‎‎设置一次写入临时文件的大小。

启用缓存,nginx将响应保存到磁盘中,返回给客户端的数据首先从缓存中读取,这样相同的请求不会每次都发送到后端服务器,减少后端请求的数量。
启用缓存,需要在http上下文中使用指令,来设置缓存的本地目录,名称,大小。
缓存区可以被多个server共享,使用可以指定使用哪个缓存区。

  1. 配置图
  1. 负载均衡策略
策略含义语法轮循机制
round-robin默认机制,以轮循机制方式分发     不写即为默认轮询机制     最小连接
least-connected将下一个请求分配给活动连接数最少的服务器
(较为空闲的服务器在这里插入图片描述ip-hash客户端的 IP 地址将用作哈希键
来自同一个ip的请求会被转发到相同的服务器在这里插入图片描述hash通用hash,允许用户自定义hash的key
key可以是字符串、变量或组合。
当有机器宕机时,只对不可用的请求IP重新HASH。在这里插入图片描述随机‎‎
random每个请求都将传递到随机选择的服务器在这里插入图片描述权重
weight根据指定的权重进行转发在这里插入图片描述
  1. 健康监测
    在Nginx的反向代理中,后台服务器如果在一定时间内响应失败超过指定数,Nginx会将该机器标记为失败,并且在后续的一段时间不再将请求打到这个服务器。
    参数:检查周期,默认为10秒。
    参数:失败次数,默认为1次。‎

转发与重定向。转发是服务器端的操作,而重定向是客户端变更请求的URL地址。反向代理属于转发,而重写属于重定向。
重定向状态码:301(永久重定向,302(临时重定向

:若当前规则不匹配,停止后续匹配rewrite规则,使用重写后的路径,重新搜索loacaton及块内指令。
:若当前规则不匹配,停止处理后续rewrite规则,执行{}块内其他指令。

压缩响应,减少传输大小,占用CPU。

nginx默认会在传输文件前将其复制到缓冲区,使用指令,可以禁用复制到缓冲区。类似Java中的零拷贝(zero copy)。

检查指定的文件或目录是否存在,若不存在可以指定位置或状态码。

注意事项示例重复的配置可以继承自父级在这里插入图片描述不要将所有的请求都代理到后端服务器在这里插入图片描述若非必要,不要缓存动态请求,仅缓存静态文件检查文件是否存在用替代在这里插入图片描述在重写路径中包含和在这里插入图片描述保持重写规则简单干净在这里插入图片描述

不要将所有的请求都代理到后端服务器

    以上就是本篇文章【Nginx学习笔记】的全部内容了,欢迎阅览 ! 文章地址:http://lianchengexpo.xrbh.cn/quote/9864.html 
     行业      资讯      企业新闻      行情      企业黄页      同类资讯      网站地图      返回首页 迅博思语资讯移动站 http://lianchengexpo.xrbh.cn/mobile/ , 查看更多