Nginx概念总结(负载均衡动静分离)
Posted 崇尚学技术的科班人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx概念总结(负载均衡动静分离)相关的知识,希望对你有一定的参考价值。
文章目录
1、nginx简介和基本概念
1.1、什么是nignx?
Nginx
是一款轻量级的Web 服务器/反方向的代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。Nginx
专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受高负载的考验,有报告表明能支持高达50000
个并发连接数。
1.2、负载均衡
(1)、低并发情况下
- 客户端向服务器发送请求,服务器从数据库中查询数据,查出数据后将数据进行返回。然后服务器向服务器响应。
(2)、高并发情况下
在高并发情况下,单个服务器解决不了,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡。
- NGINX会将请求进行均分然后分发给各个服务器。
1.3、动静分离
为了加快网站的解析速度,可以把动态资源和静态资源存放在不同的服务器中,从而加快解析速度。降低原来单个服务器的压力。
- 当请求被
NGINX
代理服务器接受的时候,如果是动态资源请求的话,会被分发到动态资源存放的服务器;如果是静态资源请求的话,就会被分发到静态资源存放的服务器。从而减轻了服务器的压力,加快解析速度。
2、nginx的安装
nginx下载地址:http://nginx.org/en/download.html
2.1、安装相应的依赖
(1)、安装pcre依赖
- 通过
Xshell
连接上虚拟机上Linux
系统。 - 把安装压缩文件放到linux系统中。
- 解压压缩文件
- 进入解压之后目录,执行
./configure
进行检查。 - 使用
make && make install
进行安装。 - 安装之后,使用命令查看版本号
pcre-config --version
。
(2)、安装其它依赖
通过yum
命令进行安装。
yum -y install gcc zlib zlib-devel openssl openssl-devel
2.2、安装nginx
- 通过
Xshell
连接上虚拟机上Linux
系统。 - 把安装压缩文件放到linux系统中。
- 解压压缩文件
- 进入解压之后目录,执行
./configure
进行检查。 - 使用
make && make install
进行安装。
2.3、安装成功之后
1. 安装成功的现象
你会在
/usr/local/
目录下看到一个nginx
目录。
2. 启动nginx的方法
在
/usr/local/nginx/sbin/
目录下有一个名为nginx
的脚本。我们使用./nginx
进行启动。
3. 对其进行访问
- 其默认是在
80
端口进行开启
2.4、对端口号进行开放
- 由于linux系统中含有防火墙。我们需要对相关端口号进行开放。
# 查看开放的端口号
firewall-cmd --list-all
# 设置开放的端口号
firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-port=8001/top --permanent
# 重启防火墙
firewall-cmd --reload
3、nginx操作的常用命令
- 使用nginx操作命令的前提条件:必须进入nginx的目录
/usr/local/nginx/sbin
。
1. 查看nginx的版本号
./nginx -v
2. 启动nginx
./nginx
3. 关闭nginx
./nginx -s stop
4. 重新加载nginx
./nginx -s reload
- 使用场景:如果我们修改了配置文件,但又不想重启。我们可以使用重新加载。
4、nginx的配置文件
4.1、配置文件的所在位置
- 所在位置:
/usr/local/nginx/conf
- 配置文件名称为:
nginx.conf
4.2、全局块
- 从配置文件开始到events块之间的内容,主要会设置一些影响nginx服务器整体运行的配置指令。
# worker_processes 值越大,可以支持的并发处理量也越多。
worker_processes 1;
4.3、events块
- events块涉及的指令主要影响nginx服务器与用户的网络连接。
# 支持的最大连接数
worker_connections 1024;
4.4、http块
- 这是nginx服务器中配置最为频繁的部分,代理、缓存和日志定义等绝大多数功能和第三方模块的配置都在这里。
- 它包括
http
全局块和server
块。
4.4.1、 http全局块
- 此模块的指令包含了文件引入、MIME-TYPE定义、日志自定义、连接超时时间、单连接请求数上限。
4.4.2、 server块
- 这块和虚拟主机有密切关系,虚拟主机从用户角度看,和一台独立的硬件主机是完全一样的,该技术的产生是为了节省互联网服务器硬件成本 。
- 每个 http 块可以包括多个 server块,而每个 server 块就相当于一个虚拟主机。
- 而每个 server 块也分为全局 server 块,以及可以同时包含多个 locaton 块
1. 全局server块
- 最常见的配置是本虚拟机主机的监听配置和本虚拟主机的名称或 IP 配置。
2. location块
-
一个 server 块可以配置多个 location 块。
-
这块的主要作用是基于 Nginx 服务器接收到的请求字符串,对虚拟主机名称(也可以是 IP 别名)之外的字符串进行匹配,对特定的请求进行处理。地址定向、数据缓存和应答控制等功能,还有许多第三方模块的配置也在这里进行。
以上是关于Nginx概念总结(负载均衡动静分离)的主要内容,如果未能解决你的问题,请参考以下文章
Nginx配置一套打通:基本概念命令反向代理负载均衡动静分离高可用