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
相关文章
|
3月前
|
存储 缓存 负载均衡
Nginx入门笔记
Nginx入门笔记
111 0
|
4月前
|
负载均衡 算法 应用服务中间件
Nginx+Tomcat实现反向代理与负载均衡入门
Nginx+Tomcat实现反向代理与负载均衡入门
183 0
|
4月前
|
负载均衡 网络协议 应用服务中间件
当当网266买来的1399页Nginx笔记,原来我入门都不算
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
当当网266买来的1399页Nginx笔记,原来我入门都不算
|
11月前
|
负载均衡 网络协议 Ubuntu
入门nginx
今天带大家一起学习一下nginx。 # 什么是nginx Nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;Nginx可以作为一个HTTP服务器进行网站的发布处理,另外Nginx可以作为反向代理进行负载均衡的实现。 - Nginx其可以支持数以百万级别的TCP连接 - 开源 - 跨平台 - 稳定 - 反向代理 ## 正向代理与反向代理 什么是正向代理呢?正向代理就是客户端非常明确要访问的服务器地址;服务器只清楚请求来自哪个代理服务器,而不清楚来自哪个具体的客户端;正向代理模式屏蔽或者隐藏了真
|
网络协议 Ubuntu 关系型数据库
树莓派ubuntu20.04+Docker+Nginx+Wordpress个人网站搭建全纪录(超详细,入门友好篇)
前言: 本文基于树莓派4B平台,搭载Ubuntu Server 20.04 LTS版本服务器系统,通过将树莓派服务器连接Ipv6公网网络,利用Docker工具,部署Nginx反向代理与Wordpress网站管理系统,实现网站搭建与异地访问。同时用到了域名管理、DDNS、MySQl等工具。本文将从服务器镜像烧录开始,将网站搭建过程进行完整的说明记录。 (经验来自互联网,多次试错学习后总结如下,以供参考。) 关键词: 树莓派; Ubuntu ; Ipv6 ;Docker
505 0
树莓派ubuntu20.04+Docker+Nginx+Wordpress个人网站搭建全纪录(超详细,入门友好篇)
|
前端开发 应用服务中间件 API
Nginx入门及如何反向代理解决生产环境跨域问题
Nginx入门及如何反向代理解决生产环境跨域问题
|
域名解析 负载均衡 应用服务中间件
Nginx基本入门
Nginx基本入门
91 0
Nginx基本入门
|
关系型数据库 MySQL 应用服务中间件
入门 - Docker将nginx容器和php容器关联起来
新建完文件后就可以开启容器了,开启后应该就正常了,访问你的服务器ip(默认就是80端口,应该就可以正常访问nginx) 然后在刚刚的主机目录/home/wwwroot/下新建一个目录default (因为在nginx里设置的默认目录,可以自己修改) 然后新建test.php 写入php代码测试运行。
391 0
|
消息中间件 编解码 JSON
Kafka、Logstash、Nginx日志收集入门
Kafka、Logstash、Nginx日志收集入门
189 0
|
负载均衡 前端开发 应用服务中间件
Nginx入门使用介绍
简单介绍Nginx基础知识
168 0