Nginx搭建和基础

1. 高并发场景下的问题

在开发好的项目真正上线后,一旦访问的并发量上升,由于大量的并发涌入,往往会造成服务器运行时的各种问题,包括服务器并发压力,数据库访问压力,数据库数据量限制等等.

2. 服务器并发压力

单台tomcat在理想情况下可支持的最大并发数量在200-500之间,如果大于这个数量可能会造成相应缓慢甚至宕机
解决方案是通过多台服务器分摊并发压力,这不仅仅需要有多台tomcat服务器,还需要有一台服务器专门用来分配压力,称之为反向代理服务器程序.实现了负载均衡操作.

3. Nginx概述

Nginx是一款优秀的反向代理服务器程序,能够为若干台服务器提供反向代理服务,一方面为客户端提供的统一的访问地址,另一方面为后台多个服务器提供了负载均衡的能力.
Nginx是目前主流的反向代理服务器,能够提供可靠的负载均衡,动静分离的能力.

4. Nginx的安装配置

  1. 下载
        下载Nginx
  2. 安装
        将下载好的安装包解压到一个没有中文没有空格的目录下即可.
  3. 命令
说明指令
验证配置是否正确nginx -t
查看Nginx的版本号nginx -V
启动Nginxstart nginx
快速停止或关闭nginx -s stop
正常停止或关闭nginx -s quit
配置文件修改重装载命令nginx -s reload

nginx是否在运行查看任务管理器 里面有两个nginx.ext文件就说明运行成功了
在这里插入图片描述
4. 配置
    nginx的工作是基于[conf/nginx.conf]配置文件来进行的.
nginx.conf的配置结构:
在这里插入图片描述

5. location路径配置和匹配规则

  1. location路径的写法
        在配置虚拟服务器时,可以配置多个location,指定不同路径采用不同的处理处理方案,location支持多种写法,规定如下:
语法例子说明
==/aaa/1.jpg路径严格匹配,路径必须一模一样才行
^~^/aaa只要是指定路径开头的路径都可以匹配
~~.png$区分大小写按正则匹配路径
~*~*.png$不区分大小写按正则匹配路径
//通用匹配,所有路径都可以匹配到

2.location路径配置的优先级
由于location的路径配置非常灵活,所有有可能一个路径被多个location所匹配,此时按照如下规则判断匹配优先如下:

优先匹配 =
其次匹配 ^~
其次是按文件中顺序的正则匹配
最后是交给 / 通用匹配
当有匹配成功时候,停止匹配,按当前匹配规则处理请求
精度越高优先级越高

6. Nginx的负载均衡实现

负载均衡原理
在这里插入图片描述

7. 负载均衡策略

Nginx在分发资源到后端服务器时,如何分配请求是可以配置的.称之为nginx的负载均衡策略

  1. 轮询
        默认不匹配就是轮询,连接请求轮流分配给后端服务器
http{
	upstream 名称{
		server ip:port;
		server ip:port;
}
server{
	listen 80;
	location / {
		proxy_pass http://名称;
		}
	}
}
  1. ip哈希
        ip_hash,服务器数量,根据余数决定链接请求去往哪个服务器
http{
	upstream 名称{
		ip_hash;
		server ip:port;
		server ip:port;
}
server{
	listen 80;
	location / {
		proxy_pass http://名称;
		}
	}
}
  1. 最少连接
        least_conn.将连接请求分配给目前连接数最少的服务器
http{
	upstream 名称{
		least_conn;
		server ip:port;
		server ip:port;
}
server{
	listen 80;
	location / {
		proxy_pass http://名称;
		}
	}
}
  1. 基于权重
        直接在地址后面配置weight=x.根据权重进行分配,权重值越大,被分配的连接越多.可以直接配置为down则不再分配连接.
http{
	upstream 名称{
		server ip:port weight=x;
		server ip:port down;
}
server{
	listen 80;
	location / {
		proxy_pass http://名称;
		}
	}
}

8. Nginx的动静分离实现

  1. 动静分离原理
        动 --> 动态资源 --> servlet jsp --> 程序
        静 --> 静态资源 --> jpg mp3 mp4 html css js --> 文件
    Nginx本身无法处理动态资源,但是可以处理静态资源,而且性能优良.
    因此可以将静态资源和动态资源拆分,将静态资源交由Nginx处理,动态资源任然由tomcat处理,从而实现动静分离.提升了效率
    在这里插入图片描述

9. 动静分离配置

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值