Nginx

it2024-03-17  72

1、Nginx

介绍

Nginx 是一个高性能的 HTTP 和反向代理服务器,特点是占用内存少,并发能力强,事实上 nginx 的并发能力确实在同类型的网页服务器中表现较好

nginx 专为性能优化而开发,性能是其最重要的要求,十分注重效率,有报告 nginx 能支持高达 50000 个并发连接数

1.1、代理

正向代理:局域网中的电脑用户想要直接访问网络是不可行的,只能通过代理服务器来访问,这种代理服务就被称为正向代理。

反向代理:客户端无法感知代理,因为客户端访问网络不需要配置,只要把请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据,然后再返回到客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器 IP 地址。

1.2、负载均衡

客户端发送多个请求到服务器,服务器处理请求,有一些可能要与数据库进行狡猾,服务器处理完毕之后,再将结果返回给客户端

普通请求和响应过程

但是随着信息数量增长,访问量和数据量飞速增长,普通架构无法满足现在的需求

我们可以增加服务器的数量,构建集群,将请求分发到各个服务器上,将原来请求集中到单个服务器的情况改为请求分发到多个服务器,也就是我们说的负载均衡

图解负载均衡

假设有 15 个请求发送到代理服务器,那么由代理服务器根据服务器数量,平均分配,每个服务器处理 5 个请求,这个过程就叫做负载均衡

1.3、动静分离

为了加快网站的解析速度,可以把动态页面和静态页面交给不同的服务器来解析,加快解析的速度,降低由单个服务器的压力

2、nginx常用命令

查看版本 ./nginx -v 启动 ./nginx 关闭 ./nginx -s stop ./nginx -s quit 重新加载nginx配置 ./nginx -s reload

3、nginx的配置文件

配置文件分三部分组成

全局块

从配置文件开始到 events 块之间,主要是设置一些影响 nginx 服务器整体运行的配置指令

并发处理服务的配置,值越大,可以支持的并发处理量越多,但是会受到硬件、软件等设备的制约

#user nobody; worker_processes 1;

events 块 影响 nginx 服务器与用户的网络连接,常用的设置包括是否开启对多 workprocess 下的网络连接进行序列化,是否允许同时接收多个网络连接等等

支持的最大连接数 events { worker_connections 1024; }

http块

诸如反向代理和负载均衡都在此配置

location 指令说明

该语法用来匹配 url,语法如下 location\[ = | ~ | ~\* | ^~\] url{ } =: 用于不含正则表达式的 url 前,要求字符串与 url 严格匹配,匹配成功就停止向下搜索并处理请求~:用于表示 url 包含正则表达式,并且区分大小写。~*:用于表示 url 包含正则表达式,并且不区分大瞎写^~:用于不含正则表达式的 url 前,要求 ngin 服务器找到表示 url 和字符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再匹配如果有 url 包含正则表达式,不需要有~ 开头标识

实例

server { listen 8001; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://localhost:8090/; } }
最新回复(0)