nginx上手

本文最后更新于:2023年7月8日 晚上

什么是Nginx

  • Nginx(engine x)是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,Nginx是由伊戈尔-塞索伊夫为俄罗斯访问量第二的站点开发的,第一个公开版本0.1.0发布于2004年10月4日
  • 特点:
    • 占用内存少,并发能力强
    • 安装简单,配置文件简洁,bug少的服务
    • 启动容易,几乎可做到7*24不间断运行,能够在不间断服务的情况下进行软件版本的升级

Nginx的作用

HTTP代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理

  • 正向代理

    image-20230708202321733.png

  • 反向代理

    image-20230708200223716.png

负载均衡

  • 内置策略:

    • 轮询
      • 每个请求会按时间顺序逐一分配到不同的后端服务器
      • 如果服务器down掉了,会自动剔除该服务器
      • 缺省配置就是轮询策略
      • 此策略适合服务器配置相当,无状态且短平快的服务使用
    • 加权轮询(权重)
      • weight参数用于指定轮询几率,weight的默认值为1,;weight的数值与访问比率成正比,比如Tomcat 7.0被访问的几率为其他服务器的两倍
      • 权重越高分配到需要处理的请求越多
      • 此策略可以与least_conn和ip_hash结合使用
      • 此策略比较适合服务器的硬件配置差别比较大的情况
    • ip_hash
      • 指定负载均衡器按照基于客户端IP的分配方式,这个方法确保了相同的客户端的请求一直发送到相同的服务器,以保证session会话。这样每个访客都固定访问一个后端服务器,可以解决session不能跨服务器的问题
      • ip_hash不能与backup同时使用
      • 此策略适合有状态服务,比如session
      • 当有服务器需要剔除,必须手动down掉
  • 动静分离

    • 软件开发中,有些请求需要经过后台处理,有些请求不需要后台处理(css、jpg…),不需经过后台处理的文件称为静态文件,让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源分开,动静资源做好拆分后,可根据静态资源的特点将其做缓存操作,提高资源响应速度

      image-20230708202321733.png

Nginx安装


nginx上手
http://example.com/2023/07/08/nginx上手/
作者
F434
发布于
2023年7月8日
更新于
2023年7月8日
许可协议