Nginx入门
Nginx的中间件架构

静态资源web服务

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


静态资源的配置语法


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

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




跨域访问

代理

代理服务

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

正则表达式


Nginx简述
Nginx是一个开源且高性能、可靠的HTTP中间件、代理服务
常见的HTTP服务
- HTTPD-Apache基金会
- IIS-微软
- GWS(Google web server)-Google
为什么选择Nginx
IO多路复用epoll什么是IO复用

多个描述的I/O操作都能在一个线程内并发交替地顺序完成,这就叫I/O多路复用,这里的“复用“指的是复用同一个线程。
- 什么是epoll
IO多路复用的实现方式select、poll、epoll
什么是selcet

- 能够监视文件描述符的数量存在最大限制(1024)
- 线性扫描效率低下
- 每当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(安全链接)模块
限制链接生效周期



对称加密与非堆成加密




作者:全满
链接:https://www.jianshu.com/p/561c04eb5d84
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)