Nginx 

  • HTTP 和 反向代理web服务器
  • epoll
  • 占用少的系统资源、支持更多的并发连接
  • 负载均衡
  • 安装简单、配置灵活
  • 热部署、启动快、不间断服务情况下对软件配置进行升级

反向代理

  • 反向代理 客户端-> 代理<->服务器
  • Nginx 没有自己的地址,它的地址就是服务器的地址
  • Nginx 明确知道应该要去哪个服务器获取数据
  • 正向代理 客户端 <-> 代理->服务器
  • 客户端明确访问的服务器的地址,屏蔽真实客户端信息

正反向代理使用场景

  • 正向代理 客户端明确要访问的服务器地址;服务器只清楚请求来自哪个代理服务器,而不清楚来自哪个具体客户端;屏蔽真实的客户端信息;代理的是客户端

    • 访问无法访问的资源
    • 缓存、加速访问资源
    • 对客户端授权访问、上网认证
    • 代理可以记录用户访问记录、对外隐藏用户信息
  • 反向代理 代理的是服务端;对外隐藏服务器的信息
    • 内网安全,反向代理作为公网访问地址,web服务器是内网
    • 负载均衡
  • 在实际场景中正向代理和反向代理可能在同一个应用场景中,正向代理代理客户端访问目标服务器,目标服务器是一个反向代理服务器,反向代理了多台真实的业务处理服务器

热部署

  • nginx支持热加载 热部署,在不打断用户请求的情况下更新版本
  • nginx 内部进程主要有俩类,master进程 worker进程(多个)
  • worker进程才是真正working进程,worker进程全部都是master进程的子进程,worker是以普通用户身份进行运行的,被劫持也不会有管理员权限
  • nginx 热部署与其并发模型存在密不可分的关系,因为master进程的关系,通知nginx重新读取配置文件时,master会进行语法错误的判断,如果存在语法错误的话,返回错误,不进行装载;配置文件无语法错误,则nginx也不会将新配置调整到所有worker中。而是先不改变已经建立连接的worker,等待worker将所有请求结束之后,在旧配置喜爱启动的worker kill,在使用新的配置创建新的worker
  • cp 拷贝nginx旧版本二进制文件
  • cp -f 替换二进制文件
  • ps -ef 查看进程
  • kill -usr2 旧版本主进程号 旧版本worker进程不再接受请求
  • kill -winch 旧版本主进程号 关闭旧版本worker进程
  • cp 拷贝旧进程二进制文件 覆盖 实现回退
  • kill -hup 旧版本进程号,拉起旧版进程

负载均衡

  • 硬件负载均衡(F5),软件负载均衡(消息队列分发机制)
  • weight 轮询,接收到的请求按照顺序,逐一分配到不同的后端服务器,在使用过程中,某一台服务器宕机,nginx会自动将该服务器剔除出队列,请求受理情况不会受到影响,在这种方式下,可以给不同的后端服务器设置一个权重值,用于调整不同服务器上请求的分配率,权重数据越大,被分配到请求的几率越大,主要根据机器性能进行配置的
  • ip-hash 每个请求按照发起客户端的ip hash结果进行匹配,下一个固定ip地址的客户端就会访问到同一个后端服务器,集群部署下session共享的问题
  • fair 智能调整算法,动态根据后端服务器的请求处理到响应的时间进行均衡分配,响应时间短处理效率高的服务器分配到请求的概率高,处理效率低的服务器分配到的请求少,默认不支持,需要upstream-fair模块
  • url-hash 按照访问的url hash结果分配请求,每个请求的url会指向后端固定的某个服务器,可以在nginx做为静态服务器的情况下提高缓存效率,需要安装nginx的hash包

 

nginx 的基础知识(一)的更多相关文章

  1. Nginx——1.基础知识

    Nginx——1.基础知识 作为高速.轻量.高性能等优点集于一身的服务器,Nginx在近些年迅速发展并不断扩大市场份额,甚至在最近其市场份额一举超过微软的IIS,跃身到第二位,仅次于Apache. 但 ...

  2. nginx 的基础知识(二)

    Nginx 多进程网络模型 进程模型 nginx启动后以daemon的方式在后台运行,后台进程包括一个master进程和多个worker进程 master进程主要作用,接收来自外界的信号:向各work ...

  3. nginx 的基础知识(三)

    Nginx命令 nginx -s reopen 重启nginx nginx -s reload  重新加载nginx文件 nginx -s stop  停止nginx服务 nginx -s quit ...

  4. nginx Location 语法基础知识

    URL地址匹配是Nginx配置中最灵活的部分 Location 支持正则表达式匹配,也支持条件匹配,用户可以通过location指令实现Nginx对动丶静态网页的过滤处理. Nginx locatio ...

  5. Nginx入门篇-基础知识与linux下安装操作

    我们要深刻理解学习NG的原理与安装方法,要切合实际结合业务需求,应用场景进行灵活使用. 一.Nginx知识简述Nginx是一个高性能的HTTP服务器和反向代理服务器,也是一个 IMAP/POP3/SM ...

  6. Nginx基础知识介绍

    Nginx基础知识介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Nginx概述 Nginx是免费的.开源的.高性能的HTTP和正向/反向代理服务器.邮件代理服务器.以及T ...

  7. day63:Linux:nginx基础知识&nginx基础模块

    目录 1.nginx基础知识 1.1 什么是nginx 1.2 nginx应用场景 1.3 nginx组成结构 1.4 nginx安装部署 1.5 nginx目录结构 1.6 nginx配置文件 1. ...

  8. nginx应用总结(1)-- 基础知识和应用配置梳理

    在linux系统下使用nginx作为web应用服务,用来提升网站访问速度的经验已五年多了,今天在此对nginx的使用做一简单总结. 一.nginx服务简介Nginx是一个高性能的HTTP和反向代理服务 ...

  9. Linux基础知识整理

    一.基础知识 1.Linux简介 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件 ...

随机推荐

  1. k8s 运行单实例 mysql

    配置文件mysql.yaml --- apiVersion: v1 kind: Service metadata: name: mysql-01 spec: ports: - port: 3306 s ...

  2. 浅谈Java的反射机制和作用

    浅谈Java的反射机制和作用 作者:Java大师 欢迎转载,转载请注明出处 很多刚学Java反射的同学可能对反射技术一头雾水,为什么要学习反射,学习反射有什么作用,不用反射,通过new也能创建用户对象 ...

  3. 794. Valid Tic-Tac-Toe State

    A Tic-Tac-Toe board is given as a string array board. Return True if and only if it is possible to r ...

  4. MyBatisPlus入门学习

    目录 MyBatisPlus 概述 快速入门 配置日志输出 CRUD拓展 插入 主键生成策略 更新操作 自动填充 乐观锁 查询操作 分页查询 删除操作 逻辑删除 性能分析插件 条件构造器 代码自动生成 ...

  5. vue.js中$emit的理解

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  6. javascript取url的参数的方法

    <script type="text/javascript"> function request(paras) { var url = location.href; v ...

  7. Dalvik模式下基于Android运行时类加载的函数dexFindClass脱壳

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/78003184 前段时间在看雪论坛发现了<发现一个安卓万能脱壳方法>这篇 ...

  8. Linux启动流程和服务管理(init和systemd)

    目录 一:Linux启动流程 init和Systemd的区别 二:Linux服务管理(service,systemctl) 一:Linux启动流程 Rhel6启动过程: Rhel7启动过程: GRUB ...

  9. node-Get&POST

    Node.js GET/POST请求 var http = require('http'); var url = require('url'); var util = require('util'); ...

  10. 分布式事务与Seate框架(1)——分布式事务理论

    前言 虽然在实际工作中,由于公司与项目规模限制,实际上所谓的微服务分布式事务都不会涉及,更别提单独部署构建Seata集群.但是作为需要不断向前看的我,还是有必要记录下相关的分布式事务理论与Seate框 ...