Nginx学习知识点整理(学习脑图)

Nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;Nginx可以作为一个HTTP服务器进行网站的发布处理,另外Nginx可以作为反向代理进行负载均衡的实现。

正向代理:比如访问国外某些网站,这时的做法是访问国外网站的代理服务器,我们将请求发送给代理服务器,代理服务器去访问国外的网站,然后将访问到的数据传递给我们。

正向代理最大的特点是客户端非常明确要访问的服务器地址;服务器只清楚请求来自哪个代理服务器,而不清除来自哪个具体的客户端;正向代理模式屏蔽或者隐藏了真实客户端信息。

反向代理:多个客户端给服务器发送的请求,Nginx服务器接收到之后,按照一定的规则发给了后端的业务处理服务器进行处理了。此时请求的来源也就是客户端是明确的,但是请求具体由哪台服务器处理的并不明确了。访问者并不知道自己访问的是一个代理。因为客户端不需要任何配置就可以访问。

常用配置文件

  1. nginx.conf:应用程序基本配置文件
  2. mime.types:MIME类型关联的扩展文件
  3. fastcgi.conf:与fastcgi相关的配置
  4. proxy.conf:与proxy相关的配置
  5. sites.conf:配置Nginx提供的网站,包括虚拟机

模块划分

  1. 事件驱动events

worker_connections number

每个worker进程所能够打开的最大并发连接数数量

use method

指明并发连接请求的处理方法,默认自动选择最优方法不用调整

如:use epoll;

Accept_mutex on|off互斥;

处理新的连接请求方法;on指由各个worker轮流处理新请求,off指每个新请求的到达都会通知(唤醒)所有的worker进程,但只有一个进程可获得连接,造成“惊群”,影响性能,默认为on

  1. http核心模块

2.1 web服务模板

server{…} 配置一个虚拟主机

server{

  (1)基于port

listen PORT;指令监听在不同的端口

(2)基于ip的虚拟主机

listen IP:PORT;IP地址不同

(3)基于hostname

Server_name fqdn;指令指向不同的主机名

}

2.2 套接字相关配置

listen address[:port] [default_server] [ssl] [http2 | spdy] [backlog=number] [rcvbuf=size] [sndbuf=size]

default_server设定为默认虚拟主机

ssl限制仅能够通过ssl连接提供服务

backlog=number超过并发连接数后,新请求进入后援队列的长度

rcvbuf=size接收缓冲区大小

sndbuf=size发送缓冲区大小

2.3 server_name

server_name name…;

支持*统配任意长度的任意字符

server_name *.magedu.com www.magedu.*

支持~起始的字符做正则表达式模式匹配,性能原因慎用

server_name ~^www\d+\.magedu\.com$  #\d 表示 [0-9]

匹配优先级机制从高到低:

(1) 首先是字符串精确匹配 如: www.magedu.com

(2) 左侧*通配符 如: *.magedu.com

(3) 右侧*通配符 如: www.magedu.*

(4) 正则表达式 如: ~^.*\.magedu\.com$

(5) default_server

2.4 延迟发送选项

tcp_nodelay on | off;

tcp_nopush on | off;

在keepalived模式下的连接是否启用TCP_NODELAY选项

当为off时,延迟发送,合并多个请求后再发送

默认on时,不延迟发送

可用于: http, server, location

2.5 隐藏版本信息

server_tokens on | off | build | string

是否在响应报文的Server首部显示nginx版本

2.6 location匹配

location [ = | ~ | ~* | ^~ ] uri { ... }

location @name { ... }

在一个server中location配置段可存在多个,用于实现从uri到文件系统的路径映射; ngnix会根据

用户请求的URI来检查定义的所有location,并找出一个最佳匹配,而后应用其配置 

示例:

server {...

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值