安装

  • 依赖安装
    • yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
  • 下载nginx
  • 安装
    • 移动到:usr/local
    • 解压:tar -zxvf nginx-1.9.9.tar.gz
    • 进入目录:cd nginx-1.9.9
    • 配置:./configure —prefix=/usr/local/nginx —with-http_stub_status_module —with-http_ssl_module
    • 编译
      • make
      • make install
  • 测试
    • 移动目录:/usr/loca/nginx/
    • 测试:./sbin/nginx -t
  • 环境变量

    • cd /
    • vim /etc/profile
    • 添加环境变量
    • image.png
    • 保存
      • esc
      • ctrl + :
      • wq
      • 回车
    • 然后就可以直接nginx启动,其他命令看下边常用命令处

      常用命令

  • 前提是nginx的sbin加入到了环境变量中

    • 查看版本号:
      • nginx -v(有大小写之分)
    • 启动:
      • nginx
    • 停止
      • nginx -s stop
    • 重新加载
      • nginx -s reload
  • 莱鸟教程
    1. - /usr/local/webserver/nginx/sbin/nginx -s reload # 重新载入配置文件
    2. - /usr/local/webserver/nginx/sbin/nginx -s reopen # 重启 Nginx
    3. - /usr/local/webserver/nginx/sbin/nginx -s stop # 停止 Nginx
  • 可用
    1. - cd /usr/local/webserver/nginx/sbin #进入文件目录

常用配置

代理

  • server || location块

    • 详细说明
    • 简介
      • proxy_pass(代理路径)
        • 如果最后边有/那就把location后边的路径全权代理
        • 如果最后没有/那就用proxy_pass拼接上location后边的路径
      • index(转发路径)
        • 当直接访问此路径之后没有指定文件的话,就可以在index后边设定默认访问的文件
        • index index.html;

          限流

  • 详细说明

  • 单位时间访问限流
    • 简介:
      • 这个限制单位时间内突然访问的量,但是有一些正常的无法让其正常访问
      • 如果想要正常用户也可以访问一些,那就用第二个
    • http模块下添加:
      • 模板:limit_req_zone key zone rate
      • 示例:limit_req_zone $binary_remote_addr zone=ip_limit:10m rate=10r/s;
      • key:定义限流对象, binaryremote_addr,是基于 remote_addr(客户端IP) 来做限流,binary 开头的目的是压缩内存占用量
      • zone: 定义共享内存区来存储访问信息, ip_limit:10m表示一个大小为10M,名字为ip_limit的内存区域。1M能存储16000 IP地址的访问信息,10M可以存储16W IP地址访问信息
      • rate: 用于设置最大访问速率,rate=10r/s 表示每秒最多处理10个请求。Nginx 实际上以毫秒为粒度来跟踪请求信息,因此 10r/s 实际上是限制:每100毫秒处理两个请求。这意味着,自上一个请求处理完后,若后续100毫秒内又有请求到达,将拒绝处理该请求。
    • location模块下添加
      • 示例:limit_req zone=ip_limit burst=15 nodelay;
      • zone=ip_limit对应上面的限流对象地址;
      • bursrt=15表示最大支持15的并发,会有5个请求存在队列中,不会被拒绝;
      • nodelay: 表示并发超出的5个请求,不会被延迟,会被立即执行,如需等待执行的话,配置delay即可。
  • 限制并发数量
    • 简介:
    • location模块下添加
      • 模板:limit_req zone=ip_limit burst=15 nodelay;
      • zone=ip_limit对应上面的限流对象地址;
      • bursrt=15表示最大支持15的并发,会有5个请求存在队列中,不会被拒绝;
      • nodelay: 表示并发超出的5个请求,不会被延迟,会被立即执行,如需等待执行的话,配置delay即可。

配置文件组成

全局块

  • 简介:

    • 从配置文件到events块之间的内容,主要会设置一些影响到nginx服务器整体运行的配置命令
    • sunch as
      • worker_processes 1(值越大,支持的并发数量越多)

        events块

  • 简介

    • 主要是影响nginx服务器与用户的网络连接
    • such as:
      • worker_connections 1024(支持的最大连接数)

        Http块

  • 简介

    • nginx服务器中配置最频繁的部分
  • http全局块

  • server块


常用功能

正向代理

  • 在客户端(浏览器)配置代理服务器,通过代理服务器进行互联网访问
    • image.png
  • 正向代理隐藏了客户端(保护了客户端用户?)
  • 梯子使用的就是正向代理

反向代理

  • 请求发送到代理服务器,由反向代理服务器去选择目标服务器进行访问获取数据,然后再返回给客户端,此时反向代理服务器和目标服务器对外其实就是一个服务器,暴漏的是代理服务器地址,隐藏了真实的服务器id地址
    • image.png
  • 反向代理隐藏了服务端,(保护了服务器?)

负载均衡

  • 博客详解
  • 单个服务器解决不了的,我们增加服务器的数量,通过代理服务器讲请求分发到不同的服务器上(负载均衡)
    • image.pngimage.png
    • 在想多开几个springboot进程,同不同端口,用来防止单个服务崩溃

动静分离

  • 为了加快网站的解析速度,可以把动态页面由不同的服务器来解析,加快解析的速度,降低原来单个服务器的压力
    • image.png