Nginx入门

简介: Nginx的中间件架构image.png静态资源web服务image.png静态资源文件:非服务器动态生成的文件(通过名称可以直接找到,不需要后台处理的文件)image.

Nginx的中间件架构

img_b7d423cf460157d86ca112d7f0c0a69b.png
image.png
  • 静态资源web服务


    img_d7a9716cb0a9544ad7bae3aebabb6abb.png
    image.png

静态资源文件:
非服务器动态生成的文件(通过名称可以直接找到,不需要后台处理的文件)


img_afa023918436a085f9c4000595365a58.png
image.png

img_dee9c16271e2c4f21fb4ea7f88d604bc.png
image.png
  • 静态资源的配置语法


    img_195f9af918a9d68ca7caf26b5fc35a6f.png
    image.png

    img_a0046a21a9fb96956e25a31fafaaefa2.png
    image.png

将请求存起来,一次全部发送出去,提高网络包的传输效率

img_362ecbe275ffad681ce06e38af0cf9b1.png
image.png

请求直接发送,与tcp_nopush相反,提高网络包的传输实时性

img_101614a8882665cc7d79f334c46ba3ce.png
image.png

img_9d9b3f5d8c0efe226df63b57d3c5b51c.png
image.png

img_97b2bae341baec455150a1a45aeac2a0.png
image.png

img_17430e013007ec0a29e46c43115e6e14.png
image.png
  • 跨域访问


    img_ed3ef11ed74083c08736231b78bde425.png
    image.png
  • 代理


    img_26d081dbdc2f9d388891825b6a09439b.png
    image.png
  • 代理服务


    img_9ccd496d377bc702542a8b191069bdde.png
    image.png
  • Nginx的动静分离

通过中间件将动态请求和静态请求分离
理由:
分离资源,减少不必要的请求消耗,减少请求延时


img_d2342e2909c62c4c9d8ef1db21087229.png
image.png
  • 正则表达式


    img_48885f4e4dfdab3ca33353107716590e.png
    image.png

    img_3996d162aac220867e04deb2dbc1cccf.png
    image.png

Nginx简述

Nginx是一个开源且高性能、可靠的HTTP中间件、代理服务

常见的HTTP服务

  • HTTPD-Apache基金会
  • IIS-微软
  • GWS(Google web server)-Google

为什么选择Nginx

  • IO多路复用epoll
    • 什么是IO复用


      img_692a3bf1ce5256408b789533cc225168.png
      image.png
    • 什么是IO多路复用

多个描述的I/O操作都能在一个线程内并发交替地顺序完成,这就叫I/O多路复用,这里的“复用“指的是复用同一个线程。

  • 什么是epoll

IO多路复用的实现方式select、poll、epoll

  • 什么是selcet


    img_baf211906dbdf7ce7e0aed185d288aaf.png
    image.png
  • select缺点
    • 能够监视文件描述符的数量存在最大限制(1024)
    • 线性扫描效率低下
  • epoll模型
    • 每当FD就绪,采用系统的回调函数之间将fd放入,效率更高。
    • 最大连接无限制

Nginx的日志类型

error.log:记录一些运行时的日志记录/access_log:详细到每次响应的日志

Nginx的实现主要是依赖了log_format(将所有变量的信息组织在一起,记录到Syntax中)

Nginx模块

  • Nginx官方模块

即Nginx.org

  • 第三方模块

Nginx的访问控制

  • 基于ip的访问控制

http_access_module(允许哪些ip访问不允许哪些ip访问)
配置语法:

Syntax:allow(允许) address | CIDR | unix: | all;(语法)
Default:---(默认的配置)
Context: http,server,location,limit_except;(配置的位置) 

Syntax:deny(不允许) address | CIDR | unix: | all;(语法)
Default:---(默认的配置)
Context: http,server,location,limit_except;(配置的位置) 

  • 基于用户的信任登录

http_auth_basic_module

nginx.conf配置文件(四部分)

  • main(全局配置)

main部分设置的指令将影响其他所有部分的设置

  • server(主机配置)

server部分的指令主要用于指定虚拟主机域名、IP、端口

  • upstream(上游服务器设置,主要为反向代理、负载均衡相关配置)

upstream的指令主要用于设置一系列的后端服务器,设置反向代理及后端服务器的负载均衡

  • location(URL匹配特定位置后的设置)

location部分用于匹配网页设置(例如:根目录"/","images"、等等)

  • main、server、upstream、location之间的关系

server继承main,location继承server;upstream既不继承指令也不会被继承,它有自己的特殊指令,不需要再其他地方的应用

Nginx的重要模块

  • secure_link_module(安全链接)模块
  1. 制定并允许检查请求的链接的真实性以及保护资源免遭未经授权的访问
  2. 限制链接生效周期


    img_a8dc32a29684e75eac4ffd2ae8065d2a.png
    image.png

    img_333023528de918a8f7fb7f61e897a7f8.png
    image.png

    img_e7d48671026298d7054673769f183b20.png
    image.png
  • 对称加密与非堆成加密


    img_f00d4eaa2a734e52a31d1c6d0cc5d0ee.png
    image.png

    img_96bc553445f225039d3e161c39b07cb8.png
    image.png

    img_e9efc19ac3a539dcae4dc6fb3077f83a.png
    image.png

    img_d70e1ec631177e159a346e1b68aa9af9.png
    image.png
相关文章
|
6月前
|
存储 缓存 负载均衡
Nginx入门笔记
Nginx入门笔记
210 0
|
1月前
|
缓存 负载均衡 安全
Nginx常用基本配置总结:从入门到实战的全方位指南
Nginx常用基本配置总结:从入门到实战的全方位指南
262 0
|
1月前
|
负载均衡 算法 应用服务中间件
Nginx入门 -- 理解 Nginx 的请求处理流程
Nginx入门 -- 理解 Nginx 的请求处理流程
106 1
|
1月前
|
安全 应用服务中间件 网络安全
Nginx入门 -- 了解Nginx中证书配置
Nginx入门 -- 了解Nginx中证书配置
41 0
|
1月前
|
负载均衡 监控 算法
Nginx入门 -- 深入了解Nginx负载均衡
Nginx入门 -- 深入了解Nginx负载均衡
22 0
|
1月前
|
缓存 负载均衡 应用服务中间件
Nginx入门 -- Nginx 配置详解
Nginx入门 -- Nginx 配置详解
265 0
|
1月前
|
存储 缓存 应用服务中间件
Nginx入门 -- 基本数据结构中之ngx_hash_t
Nginx入门 -- 基本数据结构中之ngx_hash_t
36 0
|
1月前
|
存储 缓存 应用服务中间件
Nginx入门 -- 基本数据结构中之ngx_list_t,ngx_queue_t
Nginx入门 -- 基本数据结构中之ngx_list_t,ngx_queue_t
28 0
|
1月前
|
存储 应用服务中间件 nginx
Nginx入门 -- 基本数据结构中之ngx_str_t,ngx_array_t
Nginx入门 -- 基本数据结构中之ngx_str_t,ngx_array_t
70 0
|
1月前
|
前端开发 应用服务中间件 nginx
Nginx入门 -- 理解 Nginx 的基本概念:Pipe 和 Lingering Close
Nginx入门 -- 理解 Nginx 的基本概念:Pipe 和 Lingering Close
57 0