当前位置: 首页 > article >正文

二阶段nginx1.0

NGINX网站服务:

介绍:
1、支持高并发,轻量级的web服务软件
2、稳定性高,系统资源消耗率低,
3、对http的高并发处理能力很高,单台物理服务器可以支持30000~50000的并发

一般来说在工作中,单台的并发会控制在20000左右

nginx的功能介绍:

1、主要功能:处理静态页面,文本、图片等等

2、动态内容处理能力较差,一般是把动态的请求转发到中间件(PHP,Python),转发到后端

3、支持正向代理和反向代理

  • ★★★★★正向代理:通过一个代理的地址,访问其他的web页面,客户端是知道通过代理服务器访问的目标地址

  • ★★★★★ 反向代理:我们也是通过代理地址访问,但是客户端并不知道流量转发到了哪一台后端服务器 ------------------ 流量转发是根据算法把流量转发到后台服务器

反向代理====负载均衡

4、支持ssl / tls 加密支持 支持https协议

5、支持虚拟主机,在一个nginx的配置当中,可以支持多个域名

6、nginx自带缓存机制

7、自带日志记录,但是nginx没有日志分割功能,记录的是nginx自己的业务日志,如果是程序启动,停止,程序出错的日志,则不包含在内

同步 / 异步:

  • 同步:在互联网中,处理请求的方式,一个服务完成需要其他服务作为依赖时,只有等待被依赖的服务完成后,才算完成

1、是一个可靠的序列,要么都成功要么都失败

2、服务器的状态需要严谨的保持一致

  • 异步:一个服务的完成需要依赖其他的服务,只是通知其他依赖服务开始执行,不需要等待依赖服务的执行结果,被依赖的服务之星的结果也无法启动,是一个不可靠序列

  • nginx块的原因 -------------- 使用的是异步的处理方式

在这里插入图片描述

阻塞和非阻塞:

  • 阻塞:在调用结果返回之前,当前的线程会被挂起,一直等到返回结果,在这个期间是不能执行其他任务的

  • 非阻塞:不需要等待调用的结果,不能立刻得到结果,也不会阻塞当前的线程,而是立刻返还

nginx的工作方式:异步非阻塞

  • conf:保存所有nginx配置的文件,其中nginx.conf是nginx主核心配置文件,其他的.conf文件主要是nginx的相关功能
  • logs:存放nginx日志的目录,access
  • sbin:nginx 的二进制启动的脚本,一般动用系统控制命令
  • nginx -t:当我们配置完nginx.conf之后,可以用这个命令检测我们配置文件的语法是否正确
  • html:保存到时nginx访问的web页面,这个目录可以修改,文件名一般都是index.html

nginx -t:检测配置语法
nginx -v :显示nginx的版本号
nginx -s:stop 、start 、restart 、reload

nginx的配置文件详解:

全局模块对全局生效

  • events:配置nginx服务器的并发处理数

-http模块配置代理,缓存,日志以及第三方模块
------>
server:配置虚拟主机的参数,一个http里面可以有多个server
------->
location:用来匹配URI
在这里插入图片描述

nginx的运行用户,注释掉的情况默认用的是自定义程序用户

子进程的数量,一般配置成内核数量两杯,一般不超过8个,超过8个会降低处理性能,子进程的数量一般控制在2~4个

pid ------------- nginx的进程文件的位置

events模块怎么处理nginx的并发能力?
1024 --------------- 每个子进程能够处理的并发连接数

linux打开文件数,同时处理进程是有限制的,默认就是1024

  • soft nproc 65535表示任意程序nproc:系统处理的进程数 mofile:同属打开文件的数量,最大就是65535
  • hard nproc 65535
  • soft nofile 65535
  • hard nofile 65535

    只能重启生效★★★★

ulimit -n 65535临时修改系统的同时打开文件数量

http ------- include文件拓展名于文件类型的映射表
default_type applicationnginx支持的默认文件类型

$remote_addr都是nginx的内置变量,主要是用来获取请求中的详细信息的

access_log logs/access.log main:日志文件的路径

sendfile on支持文件发送(下载文件)

tcp_nopush发送数据包前先缓存数据

keepaive_timeout 65连接保持时间 65秒

gzip on是否对响应的数据进行压缩


sever模块在这个模块当中配置web信息和页面的匹配机制

listen监听的端口号,可以改,默认是80
server_name站点的域名
charset urf -8指定页面解码的字符集
access_log logs/host.access.log main站点日志文件的位置


location匹配的语法:★★★★★

  • root:拼接 路径和uri合并
  • alias:绝对路径:工作路径必须要包含匹配的uri

location模块匹配uri / 匹配的规则 /通用匹配,模糊匹配

root默认的工作目录 /usr/local/nginx/html★★★★★

index index.html index.htm匹配的工作文件的格式,index开头, html、htm结尾都可以

nginx访问状态的统计:

location /status {

stub_status on;
access_log off;

}

Active connections: 1 # 表示当前活动的连接数
server accepts handled requests:表示已经处理的连接信息包含以下三个数字
1 1 1

已经处理的连接数 成功tcp握手的次数 已经处理的请求数
Reading: 0 Writing: 1 Waiting: 0
表示服务器正从客户端的请求中读取数据
服务器正在讲响应数据发送给客户端
表示有连接处于空闲状态,可以处理新的请求

总结:

nginx的配置文件
全局:运行用户 和 子进程数量
event:子进程的并发数
http :server 域名 端口 location 匹配多个分网页(uri)


http://www.kler.cn/a/429296.html

相关文章:

  • 一些好用的网站
  • 深入理解Linux进程管理机制
  • 服务器数据恢复—LINUX下各文件系统删除/格式化的数据恢复可行性分析
  • java:commons-configuration2读取yaml及组合配置定义(CombinedConfiguration)
  • 华为:LLM工具调用数据合成方法
  • 开源向量数据库介绍说明
  • LearnOpenGL学习(高级OpenGL --> 帧缓冲,立方体贴图,高级数据)
  • 策略模式实战 - 猜拳游戏
  • 如何配置Jackson以忽略Java类中为null或空(empty)的字段
  • 避大坑!Vue3中reactive丢失响应式的问题
  • guava 整合springboot 自定义注解实现接口鉴权调用保护
  • 题海拾贝:力扣 231. 2 的幂
  • 使用Python和OpenGL实现3D立方体的交互式显示
  • 康托展开和逆康托展开
  • java-数组—acwing
  • 【C语言】数据库事物的ACID属性
  • 在Ubuntu上使用IntelliJ IDEA:开启你的Java开发之旅!
  • osi七层模型
  • 电子商务人工智能指南 6/6 - 人工智能生成的产品图像
  • Linux DNS之进阶篇bind-chroot企业级部署方式