Nginx学习整理

nginx轻量级的静态资源web服务器 支持高并发

特点: 更快 高扩展 高可靠 低内存消耗 支持高并发(单机nginx支持10万个并发数) 支持热部署 更自由的协议

反向代理

从代理角度来说,正向代理是说代理的客户端,反向代理代理的是服务端

负载均衡

Load Balance 就是指将工作任务进行平衡、分摊到多个操作单元上进行运行。

动静分离

是指在web服务器中,将静态页面和动态页面或者静态内容接口和动态内容接口分开不同系统访问的设计方法,以提高可维护性和性能

nginx常用命令

启动命令

默认启动会加载conf下的nginx.conf文件 -c参数可以指定配置文件启动

停止命令

Kill -信号量 master进程编码 信号量有quit(丛容推出) term(立马推出) 9(强制推出)

重启命令

nginx虚拟主机配置

配置文件分为五大块,主要的有三大块

main块:可以设置work进程的归属用户/用户组,设置work进程的数量,设置错误日志的的输出位置和日志级别,设置master进程号存储的位置

事件块:设置单个work进程最大的连接数,设置网络io模型

http块:一个server就是一个虚拟主机(就是一个服务),每个server可以监听一个虚拟节点和端口

Location的配置规则

1.uri匹配

[图片上传失败...(image-aa99d3-1616418822574)]

默认是普通字符匹配(里边有一个最长字符匹配规则,即 / 和 /demo 访问/demo时 会匹配到/demo) 精准配置的优先级要高于普通配置 正则匹配优先级高于普通匹配

匹配优先级:精准匹配>正则匹配>普通匹配

nginx如何实现反向代理

proxy_pass 配置的是代理的服务地址(要转发的服务地址)

proxy_method 配置的是转发的提交方式

[图片上传失败...(image-6a60fb-1616418822574)]

这些配置可以让服务端拿到客户端的信息,这些信息是存储在请求头中的

nginx负载均衡

upstream块配置均衡策略

语法 upstream 块名{服务列表配置} 并在location中配置proxy_pass <u>http://upstream块名</u>

服务列表配置说明

[图片上传失败...(image-a9060e-1616419209872)]

负载策略主要有:轮询(默认的)、ip_hash、权重(通过weight指定)

nginx动静分离

动静分离

通过反向代理路径映射使访问静态资源的请求映射到静态资源所在的路径,映射路径一半采用正则匹配方式

缓存处理

针对静态资源设置过期时间


图片.png

压缩处理

图片.png

配置位置在http内部 和server平级

nginx默认支对text/html文件进行压缩 其他文件需要压缩 就需要手动配置

原理分析

多进程方式

多进程之间数据不共享相对安全

多线程方式

处理速度相对更快 但是存在线程安全问题

异步方式


图片.png
图片.png
图片.png
图片.png
图片.png

同步非同步 是针对调用者来说

阻塞非阻塞 是针对被调用者来说

Nginx就是多进程机制和异步处理机制

有一个主进程和一个工作进程

Master:管理进程,不负责具体的业务处理,接受外界信息,向worker进程发送信号。

Worker:具体处理用户请求的,数量可以设置,一般和cpu个数一致

图片.png

./sbin/nginx -c conf/nginx.conf -s reload 热部署启动

热部署原理

图片.png

多个worker进程怎么分配接受的请求?

争抢方式:有一把accept mutex锁 那个worker进程抢到这把锁就执行工作

互斥锁:某个worker进程达到某个获取阀值时就放弃权利,交给其他进程去处理请求。(说的不是很明白。)

配置优化

nginx默认没有开启cpu多核处理,当配置了多了worker进程时,为了高效需要配置开启cpu多核处理。

events配置优化

accpct_mutcs off/on;就是互斥锁配置

http配置优化

Sendfile on;表示开启高效的传输方式

跨域访问

同一域名和同一域名不同不文件夹可以访问

同一域名,不同端口/不同协议/子域不同/域名对ip 都不能访问

有很多种方式可以解决跨域问题 这里只记录nginx配置方式

图片.png

第一行表示放行的请求 *表示所有请求

第二行表示放行的请求方式

图片.png

防盗链配置

就是针对资源做一个访问安全配置

图片.png

Nginx高可用

使用keepalived服务检测多个nginx的可用性

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容