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
相关文章
|
4月前
|
存储 缓存 负载均衡
Nginx入门笔记
Nginx入门笔记
163 0
|
1月前
|
应用服务中间件 nginx C语言
Nginx入门 -- 基本数据结构中之ngx_str_t,ngx_array_t
这两种数据结构是Nginx自定义数据类型的例子,它们证明了Nginx设计者在构建一个为高并发和高性能优化的web服务器时的精确和高效。理解这些数据结构是深入学习Nginx内部机制的基础,同时也是扩展和开发Nginx模块不可或缺的一部分知识。
26 1
|
3月前
|
监控 前端开发 应用服务中间件
前端开发者必备:Nginx入门实战宝典,从部署到优化一网打尽(2)
前端开发者必备:Nginx入门实战宝典,从部署到优化一网打尽
62 1
|
3月前
|
负载均衡 前端开发 应用服务中间件
前端开发者必备:Nginx入门实战宝典,从部署到优化一网打尽(1)
前端开发者必备:Nginx入门实战宝典,从部署到优化一网打尽
121 1
|
4月前
|
缓存 负载均衡 应用服务中间件
nginx(NGINX)详细下载安装及使用教程(非常适合入门)
nginx(NGINX)详细下载安装及使用教程(非常适合入门)
|
12月前
|
缓存 负载均衡 应用服务中间件
Nginx__基础入门篇
Nginx__基础入门篇
|
9月前
|
负载均衡 网络协议 应用服务中间件
当当网266买来的1399页Nginx笔记,原来我入门都不算
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
当当网266买来的1399页Nginx笔记,原来我入门都不算
|
4月前
|
负载均衡 算法 应用服务中间件
Nginx+Tomcat实现反向代理与负载均衡入门
Nginx+Tomcat实现反向代理与负载均衡入门
233 0
|
11月前
|
缓存 负载均衡 应用服务中间件
Nginx从入门到精通(超级详细)(下)
Nginx从入门到精通(超级详细)(下)
|
11月前
|
负载均衡 前端开发 应用服务中间件
Nginx从入门到精通(超级详细)(上)
Nginx从入门到精通(超级详细)(上)