ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

nginx学习笔记

2021-06-12 23:30:36  阅读:129  来源: 互联网

标签:请求 配置 worker 笔记 学习 nginx 转发 服务器


一、简介
Nginx是一个高性能的http和反向代理的web服务器,特点是占有内存少,支持高并发,主要用的功能有反向代理、负载均衡、动静分离。

  • 常用命令(到nginx的安装目录下):
    启动——./nginx
    停止——./nginx -s stop
    重载——./nginx -s reload
    查看版本——./nginx -v

  • 配置文件的三大部分:
    1.全局块
    影响整体运行的信息,比如worker数、日志位置、用户组等
    2.Events块
    主要影响服务器和用户之间的网连接数,如worker_connections,配置单个process的最大并发请求数
    3.http块
    实际项目中配置最为频繁的了,代理的路径、负载均衡、动静分离等都在这里配置
    1)http全局块
    包括日志自定义、连接超时时间、单链接的请求数上限等;
    2)Server块
    一个http块可以有多个server块,而一个server块就相当于一个虚拟主机。
    Server块也分为全局server块和location块
    a.Server块
    配置本虚拟机的监听配置(端口)、名称或IP
    b.Location块
    一个server块可以有多个location块,这里主要是对nginx服务器收到的请求,除ip和端口外字符串进行匹配(如127.0.0.1:8080/getLIst,则匹配/getList),匹配后进行请求的转发等处理

二、主要的功能
1、反向代理
通过让用户配置路由,实现请求转发的叫正向代理,而nginx则是通过收到客户的请求后,转发到自己配置的服务器,用户不需要知道真正的服务器地址,只需要请求nginx的服务器即可,这种我们称之为反向代理。
在这里插入图片描述

2、负载均衡
一个请求对应对台服务器,有对应的配置并提供了4种负载均衡的策略。默认是轮询,除此之外还有权重、ip_hash(每个IP的请求会固定的转发到某台服务器)、fair(根据服务器的响应时间来转发请求)
在这里插入图片描述
在这里插入图片描述

  • 权重
    在这里插入图片描述
  • ip_hash
    在这里插入图片描述
  • fair
    在这里插入图片描述

3、动静分离
把对静态资源的请求和要转发的请求分隔开。还可以对静态资配置过期时间等,降低连接的开销
在这里插入图片描述

三、什么是高可用

当nginx服务器宕机后,需要自动切换到备用服务器;
这里是用keepalived中间件来实现,大致步骤是:主从服务器都安装keepalived后,在其配置文件中配置相关信息,并暴漏出一个或多个虚拟的ip,后续请求就直接请求到虚拟IP即可,实现nginx的高可用(主从模式原理)
在这里插入图片描述

四、原理

一个nginx启动后,有一个master进程和一个或多个worker进程。
在这里插入图片描述

  • Master接收到请求后,通知所有worker去抢这个“工作”,由抢到的worker去执行对应的请求操作;
  • Worker并非越多越好,一般看服务器的cpu数,如果能够实现cpu和对应的worker绑定,则效果最佳;
  • Nginx最大连接数=worker_processworker_connection/2 或者
    worker_process
    worker_connection/4;
  • Master-workers模式的好处:1、每个worker进程独立,省去了锁机制的开销;2、方便实现./nginx -s reload热部署的实现。

标签:请求,配置,worker,笔记,学习,nginx,转发,服务器
来源: https://blog.csdn.net/tao_1996/article/details/117856953

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有