220604周六10:59,nginx笔记,视频时长近10小时
我翻遍整个B站,这是我见过最好的Nginx入门教程,绝对的用心;绝对的易懂。还等什么,赶紧学起来!_哔哩哔哩_bilibili

01 集群

1、同样的服务的机子合在一起,才称为集群

02 什么是nginx?常用的web服务器有哪些?

1、智财vue配合nginx,就相当于是使用功能:静态资源虚拟化
2、用户访问资源的流程架构
image.png
3、常见web服务器市场率,以前主要是apache;在08年互联网大环境爆发后,nginx是稳步上升的
image.png

03 什么是反向代理

1、什么是正向代理
①客户端请求目标服务器之间的一个代理服务器
②请求会先经过代理服务器,然后再转发请求到目标服务器,获得内容后最后响应给客户端 (运营商,网吧也可能有服务器)
image.png
2、什么是反向代理
用户请求目标服务器,由代理服务器(教务处)决定访问哪个ip
image.png
3、反向代理之路由
image.png

04 安装、运行

官网:nginx.org
默认首页:http://172.16.170.134/
image.png

十卡的默认主页在:/var/www/html/index.nginx-debian.html

05 nginx显示首页过程解析

image.png
核心配置文件:nginx.conf
image.png

06 进程模型解析

master,主进程,管事情
worker,工作进程,做事情
image.png
worker_processes 1;
worker_processes 2;
worker_processes auto;

image.png
image.png

07 处理web请求机制解析

image.png

image.png

image.png

image.png

08 配置结构与指令语法

image.png

event这种,称为指令块
#注释,$变量

09 详解1

  1. user www-data; # 操作系统哪个用户使用
  2. worker_processes auto; # 进程数
  3. pid /run/nginx.pid; # 进程号

日志,日志存储路径,日志级别
image.png

10 详解2

image.png

include可以导入外部的文件
include /etc/nginx/mime.types;
image.png

access_log 请求日志
image.png

11 详解3

sendfile on,提升文件传输性能
tcp_nopush on,数据包累计到一定大小再发送
keepalive_timeout 65,连接超时时间(秒)。可以设为0,禁止alive。
gzip on,gzip压缩(后面会讲)

12 nginx.pid打开失败以及失效的解决方案

重新建立下目录
-c重新指定下配置文件

13 常用命令解析

nginx -s stop,暴力停止服务(很少用)
nginx -s quit,优雅停止服务,如果还有服务,等没有用户连接了才会关闭
nginx -t,检查配置正确性(开启前可以做测试)

-v,版本,-V,更详细的版本配置信息
-c,指定特定的配置文件

14 日志切割-手动

15 日志切割-定时

install crontabs,定时任务
不过我看我的1.14的nginx好像本来就有每天自动切割啊~

16 虚拟主机 - 使用Nginx为静态资源提供服务 ★

静态资源服务器,好像就我之前设想的文件资源,好像甚至不用撸代码,nginx直接给了功能了
image.png

image.png

图片、gif、视频,都可以播放
image.png


可以用alias,隐藏服务器路径
image.png


问题:查看目录的时候,有文件目录?还是直接下载目录?


虽然nginx直接有文件功能,但是我如果做个py接口,可以更灵活~~ 我可以加一些有趣的参数效果,比如转txt文本显示之类的~~

17 使用Gzip压缩提升请求效率

原本传输中最大的文件:
image.png

image.png

压缩后大小:
image.png

18 location的匹配规则解析

加=,表示精确匹配
image.png

~正则匹配
image.png

image.png

最后个^~有点不太懂,本来规则就必然限定了img里了呀~~
不过感觉这个我可能用的也不多,先不深究~

19 DNS域名解析

image.png
image.png

20 使用SwitchHosts模拟本地域名解析访问

这个对我来说还是有些用的~~

220607周二15:29,并且周一晚顺便对现有服务器资源机子做了整理,重命名,比如好记的xlpr0、xlpr4、xlpr6、xlpr8、xlpr10等。


注意,如果我改的域名是 xlpr10 而不是 xlpr10.com,在浏览器回车,默认是搜索”xlpr10”,
如果要明确访问网站,可以加斜杠后缀:xlpr/

21 在Nginx中解决跨域问题

image.png

image.png


在localhost请求imooc报错内容:
image.png


image.png

220606周一17:23,最近我所谓的“跨域”问题,其实本来解决方法如这里所示。但我(冰龙给我配的)是用了其他机制,都把url伪造到同一个host里了。

22 在Nginx中配置静态资源防盗链

image.png


浏览器 强制刷新:Ctrl+F5


up主是在localhost调用imooc资源,如果imooc设置了防盗链,图片就访问不了了。

(其实没太学懂,不过好像不太重要,先跳过)

23 Nginx的模块化设计解析 09:57

image.png
core:通信协议等基础组件
event:事件处理
phase:用户消息解析,想赢
output filter:过滤掉一定内容再响应
upstream:反向代理模块,指定到真实响应server
load:负载均衡器,集群
extend:继承、第三方模块


image.png
auto:检测操作系统环境,编译nginx用
CHANGES:版本更新
conf:
image.png
configure:编译时要用到的配置
contrib:一些工具
image.png
html:默认存放静态文件
image.png
LICENSE:协议
Makefile
man:手册
objs:第三方插件
image.png
src:nginx源码,十几二十万行
image.png

24 Nginx的集群负载均衡解析 07:26

image.png
image.png
image.png


image.png

25 四层、七层与DNS负载均衡 10:02

image.png

image.png

image.png

26 使用JMeter测试单节点与集群的并发异常率 21:54

Apache JMeter - Download Apache JMeter

windows安装遇到的问题:
1、去掉了路径中的空格、手动指定了JMETER_HOME路径,虽然后来觉得问题不是这里
2、Server failed to start: java.rmi.server.ExportException - JMeter


关于JMeter用法,忘记了可以再看一遍视频,视频中介绍比较细致,这里笔记不再重复讲解,还要截图记录麻烦,查看效率也不高。

27 使用Nginx搭建3台Tomcat集群 07:18

image.png

28 负载均衡之轮训 07:22

29 负载均衡之权重 05:33

加权轮询:少、壮、老
image.png
weight默认是1
image.png

30 upstream的指令参数之max_conns 11:32

upstream指令参数:
max conns、slow start
down、backup
max
fails、fail_ _timeout

max_ conns,最大连接数,可以限流。默认0不限制。 1.11.5商业版可用。后续免费了。

nginx相当于一个网关,gateway

31 upstream的指令参数之slow_start 04:35

缓慢启动,慢慢加入集群。有的服务器可能需要缓冲时间。

slow_start=60s (商业版才有~~)

32 upstream的指令参数之down与backup 03:50

服务下线
image.png

backup是备用机,只有其他服务当掉了,才会启用

33 upstream的指令参数之max_fails 与 fail_timeout 08:05

失败了多少次,并等待了多久都没有反应,就不再请求这个服务器了。默认等10秒。

34 使用Keepalived提高吞吐量 06:36

保存常用链接,大大减小不断重建链接的开销。
image.png
up主的吞吐量从100提高到200。

内网会比较明显,本机则差别不大。

35 负载均衡原理 - ip_hash 13:50

image.png

只拿ip前三段的内容进行哈希:
image.png

注意使用ip_hash的时候,服务器要下线必须用down标记不能直接删掉,否则所有的hash结果就都变了。

36 一致性hash算法 11:05

37 负载均衡原理 - url hash 与 least_conn 08:25

image.png

least_conn,当前哪个服务链接最少就分配给谁,这个好像比较有用~
image.png

38 Nginx控制浏览器缓存 - 1 08:47

image.png

浏览器本来就会自带缓存。

nginx也可以设置:
image.png

39 Nginx控制浏览器缓存 - 2 07:05

@22h30m,表示明确晚上22点30分到期(以天为结点计算)
image.png

也可以提前过期~~:
image.png

设到1970年,相当于也是不缓存,过期了
image.png

nginx关闭配置,但浏览器可能有默认配置
image.png

相当于永不过期:
image.png

40 Nginx的反向代理缓存 11:11

image.png

image.png

41 使用Nginx配置SSL证书提供HTTPS访问 15:40

要用到云服务器~
域名,要备案好。

42 动静分离的那些事儿 11:33

image.png

image.png

image.png

image.png

image.png

43 部署Nginx到云端 - 安装Nginx 10:52

image.png

44 部署Nginx到云端 - 配置反向代理 05:54
45 部署Nginx到云端 - 实现动静分离与虚拟主机 09:04
46 部署Nginx到云端 - 测试与日志调试 08:14

47 高可用集群架构 Keepalived 双机主备原理 13:26

image.png

48 Keepalived安装 07:53
49 Keepalived核心配置文件 10:30
50 把Keepalived 注册为系统服务 07:15
51 Keepalived实现双机主备高可用 08:45
52 Keepalived配置Nginx自动重启,实现7x24不间断服务 10:34
53 高可用集群架构 Keepalived 双主热备原理 06:47
54 云服务的DNS解析配置与负载均衡 05:30
55 实现keepalived双主热备 09:17
56 LVS简介 05:09
57 为什么要使用 LVS + Nginx? 06:05
58 LVS的三种模式 06:40
59 搭建LVS-DR模式- 配置LVS节点与ipvsadm 10:39
60 搭建LVS-DR模式- 为两台RS配置虚拟IP 05:14
61 搭建LVS-DR模式- 为两台RS配置arp 08:17
62 搭建LVS-DR模式- 使用ipvsadm配置集群规则 06:31
63 搭建LVS-DR模式- 验证DR模式,探讨LVS的持久化机制 10:04
64 搭建Keepalived+Lvs+Nginx高可用集群负载均衡 18:26
65 搭建Keepalived+Lvs+Nginx高可用集群负载均衡 08:32