当前位置: 首页 > news >正文

Nginx安装及介绍

前言:传统结构上(如下图所示)我们只会部署一台服务器用来跑服务,在并发量小,用户访问少的情况下基本够用

但随着用户访问的越来越多,并发量慢慢增多了,这时候一台服务器已经不能满足我们了,需要我们增加服务器了(如下图所示),但这种扩展方式并不友好,万一用户在登录了服务器1后下次请求的是服务器2,那这时候就需要重新登录了

所以这时候需要一个中间件来把我们客户端的请求代理到其他的服务器上,完成服务的请求转发,而客户端只要统一访问中间件即可,而这个中间件就是Nginx

1、Nginx的简介

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器 ,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,公开版本1.19.6发布于2020年12月15日。

其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。在全球活跃的网姑中有12.18%的使用比率,大约为2220万个网站。

Nginx是一个安装非常的简单、配置文件非常简洁(还能够支持peri语法)、Bug非常少的服务。Nginx启动特别容易,并且几乎可以做到7*24不向斯断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级。

Nginx代码完全用C语言从头写成,官方数据测试表明能够支持高达50,000个并发连接数的响应。

Nginx的优点:能进行反向代理、负载均衡、动静分离

2、正向代理和反向代理

(1)正向代理是代理用户客户端,为客户端发送请求,对服务器隐藏自己的真实客户端;就例如我们访问谷歌需要连VPN,代理就类似于我们的香港服务器,服务器就类似于美国服务器,我们把请求发送到香港服务器,然后香港服务器帮我们把请求发送到美国服务器上,这种为客户端收发请求的就是正向代理

(2)反向代理以代理服务器来接收客户端的请求,然后将请求转发给内部网络上的服务器,将从服务器上得到的结果返回给客户端;就例如我们访问某大型网站,该网站可能服务器1架设在广州,服务器2架设在北京,然而我们访问的永远是该网站对外的域名(如www.xxx.com),而不是直接请求到具体的服务器上,这种为服务器收发请求的就是反向代理

总的来说正向代理就是指代理的客户端,服务器不知道具体是谁请求的 ,而反向代理指的是代理服务器,客户端不知道具体是哪一台服务器提供的服务,而Nginx就能为我们的服务器提供反向代理的功能

3、负载均衡

Nginx提供的负载均衡策略有2种,内置策略和扩展策略,内置策略为轮询策略、加权轮询策略和ip hash策略

轮询策略:Nginx依次把请求发送到每台服务器上。

加权轮询策略:Nginx根据服务器的权重依次把请求发送到每台服务器上(权重高的接收的请求就多)

ip hash策略:对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,即指定的ip只能访问指定的服务器,可以解决session不共享的问题

4、动静分离

动静分离,在我们的软件开发中,有些请求是需要后端处理的,有些请求是不需要经过后台处理的(如:css、 html、jpg、js等等文件),这些不需要经过后台处理的文件称为静态文件,Nginx可以让静态资源从Nginx返回,而不再是从服务器返回,从而提高资源响应的速度。

5、安装Nginx

(1)访问Nginx官网:http://nginx.org/en/download.html

效果图:

(2)安装稳定版本即可,根据各自需要安装不同系统的Nginx即可(Window系统版的Nginx安装非常简单,只要解压即可)

6、nginx.conf文件

nginx.conf文件在conf文件夹下,nginx.conf文件是我们最常用使用的用以配置Nginx的文件

创作不易,如果这篇文章对你有帮助,希望能点个赞帮助文章的推广,如果文章有错漏,希望各位能批评指正,谢谢大家。

http://www.lryc.cn/news/20707.html

相关文章:

  • 【华为OD机试模拟题】用 C++ 实现 - 寻找路径 or 数组二叉树(2023.Q1)
  • LINUX学习记录
  • 华为OD机试用Python实现 -【狼羊过河 or 羊、狼、农夫过河】(2023-Q1 新题)
  • 【SAP Abap】X-DOC:SAP ABAP 语法更新之Open SQL
  • leetcode 困难 —— 数组中的逆序对(分治法)
  • 02.24:图片的风格转换
  • [SSD综述 1.3] SSD及固态存储技术半个世纪发展史
  • PAT 1023 组个最小数(分数20)题目有bug
  • QML 中的 5 大布局
  • 使用Python进行数据分析——线性回归分析
  • 我眼中的柔宇科技
  • Allegro如何快速把视图居中显示操作指导
  • 搜索相关功能
  • 【从零开始制作 bt 下载器】一、了解 torrent 文件
  • SystemVerilog-时序逻辑建模(5)多个时钟和时钟域交叉
  • 基本中型网络的仿真(RYU+Mininet的SDN架构)-以校园为例
  • 西北工业大学大学物理(II)期末试题选填解析2021-2022
  • 【USB】windows热插拔通知接口分析
  • CMake入门
  • python中一种编写config文件并及时更新的方法
  • 基于Windows下离线安装当前最新Arduino ESP32 SDK(2.0.7)固件开发包
  • Android 9.0 app添加校验锁(输入密码才能进入app)
  • 注意力机制详解系列(二):通道注意力机制
  • 动态规划-规划兼职工作
  • Redis学习笔记(二)Redis基础(基于5.0.5版本)
  • Ancaonda常用cmd命令总结
  • yolov5_reid【附代码,行人重识别,可做跨视频人员检测】
  • 多模态预训练模型综述
  • 华为OD机试题,用 Java 解【玩牌高手】问题
  • 数学建模 latex 图片以及表格排版整理(overleaf)