Nginx简介

这篇具有很好参考价值的文章主要介绍了Nginx简介。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、什么是Nginx?

Nginx是一个高性能的HTTP和反向代理Web服务器,同时也提供IMAP/POP3/SMTP服务。Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3/SMTP)代理服务器。Nginx的特点是:占有内存少,并发能力强。

Nginx专门为性能优化而开发,性能是最重要的考量,非常注重效率,事实上Nginx的并发能力在同类型的网页服务器种表现较好,能够支持高达50000个并发连接响应数。

二、Nginx相关概念

① 代理(正向代理、反向代理)

Ⅰ、正向代理

概念:正向代理,意思是一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。

nginx,Nginx,nginx,服务器,运维,Powered by 金山文档

客户端(浏览器)配置代理服务器,通过代理服务器进行互联网访问,这个过程就是正向代理。

Ⅱ、反向代理

概念:反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。

反向代理,其实对于客户端来说,对代理是无感知的,因为客户端不需要任何配置就可以访问。

过程:反向代理时,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,将数据返回给客户端,此时反向代理服务器和目标服务器在外界看来就是一个服务器,暴露的是代理服务器,隐藏了真实服务器的IP地址。

nginx,Nginx,nginx,服务器,运维,Powered by 金山文档

端口号为5173的反向代理服务器根据客户端的请求,将请求转发到目标服务器的Tomcat中,但是在这个过程中,客户端直接访问的是端口号为5173的反向代理服务器,而不是Tomcat服务器,所以对外暴露的是反向代理服务器,而真正的内部服务器是端口号为8080的Tomcat。从客户端来看,客户端并不知道有反向代理服务器的存在,所以在外部看来,反向代理服务器5173和Tomcat服务器8080好像是一个服务器,也就是对外就是一个服务器。

② 负载均衡

概念:负载均衡其意思就是分摊到多个操作单元上进行执行,从而共同完成工作任务。

客户端发送请求到服务器,服务器处理请求,与数据库交互,服务区处理完成后,将结果响应给客户端。

nginx,Nginx,nginx,服务器,运维,Powered by 金山文档

这是一个请求的正常流程,但是当今信息量不断增加,如果还是依靠于这种架构模式,就会产生很多问题,那么该如何解决?

我们首先想到的是提高服务器、数据库的配置,但是硬件提升也不是无限度的,所以我们可能需要另辟蹊径来解决。既然单个服务器解决不了,那么我们就增加服务器的数量,然后将各个不同的请求分发到各个服务器上,减少一个服务器的请求数,将负载(请求)分发到不同服务器上,也就是我们所说的负载均衡。

nginx,Nginx,nginx,服务器,运维,Powered by 金山文档

客户端发送N条请求,上面我们了解到Nginx可以做反向代理,所以在这里,用户请求可以通过反向代理服务器,将N条请求平均分发到不同的服务器,不同端口号的服务器会得到反向代理服务器分发到不同请求信息进行处理。(当然,不同服务器处理的请求数量需要根据实际情况来定,均分处理请求是理想情况)

负载均衡的分配策略

Ⅰ、轮询策略(负载均衡默认的分配策略)

将用户的请求轮流分配给服务器,就像是挨个数数,轮流分配。如果后端有服务器宕机了,就会自动剔除。

upstream myserver {
    server 192.168.220.120:8080;
    server 192.168.220.120:8081;
}
Ⅱ、weight策略(权重策略)

简而言之,就是当weight(权重)越高时,被分配的用户请求就会越多。

upstream myserver {
    server 192.168.220.120:8080 weight=1;
    server 192.168.220.120:8081 weight=5;
}
Ⅲ、ip_hash策略

每个请求访问会根据ip地址的hash结果进行分配,这样每个用户就会固定访问一个后端服务器,也就是只要用户的ip地址不发生改变,那会对应后续访问的后端服务器就不会发生变化,可以解决session的问题。

upstream myserver {
    ip_hash;
    server 192.168.220.120:8080;
    server 192.168.220.120:8081;
}
Ⅳ、fair策略(第三方)

按后端服务器的响应时间来分配,响应时间短的优先分配。比如,当客户端发出请求后,Nginx负载均衡,转发请求到后端服务器中,后端服务器后很多(比如:A服务器、B服务器……等等),其中如果B服务器响应速度最快,也就是响应时间最短,那么就会将请求转发给B服务器。

upstream myserver {
    server 192.168.220.120:8080;
    server 192.168.220.120:8081;
    fair;
}

③ 动静分离

概念:动静分离是指在web服务器架构中,将静态页面与动态页面或者静态内容接口和动态内容接口分开不同系统访问的架构设计方法,进而提升整个服务访问性能和可维护性。

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

最初,我们在项目加载时,会将动态、静态资源全部加载到Tomcat服务器中(这里用Tomcat举例),这无疑会增加Tomcat服务器的运行压力。

nginx,Nginx,nginx,服务器,运维,Powered by 金山文档

所以,我们想出来一种方式,来减小服务器的压力,也就是动静分离。

nginx,Nginx,nginx,服务器,运维,Powered by 金山文档

此时,我们会将动态资源放入到Tomcat服务器中,将静态资源放到静态资源服务器中,如果客户端请求动态或静态资源,那么反向代理服务器就会向Tomcat服务器或者静态资源服务器中分别分发请求,同时也减轻了服务器的压力。我们可以看到,动静分离是将动态请求与静态请求分开,不能简单的理解为只是将动态页面和静态页面分离开。

实现动静分离的两种方式

① 把静态文件独立成单独的域名,放在独立的服务器上。(目前主流)
② 把静态文件和动态文件混合放在一起,通过Nginx来去分开。

④ 高可用

通过上面相关概念的分析,我们可以看到Nginx服务器有很多好处(我们这里用Tomcat举例),Tomcat如果宕机后,Nginx会做出相应的反应,但是如果Nginx宕机了,此时用户发送请求,是无法收到响应的,我们这时该怎么办?

nginx,Nginx,nginx,服务器,运维,Powered by 金山文档

我们此时就需要配置成一个高可用的效果,那么什么是高可用?也就是如果Nginx宕机后,用户的请求不会受到影响,仍然可以正常使用,这就是高可用。高可用的效果是怎样的呢?

nginx,Nginx,nginx,服务器,运维,Powered by 金山文档

我们此时会有一台Nginx的主服务器,和一台Nginx的备份务器,一般情况下,当主服务器正常运行时,用户请求会经过主服务器分发请求到各个服务器上。但是当主服务器宕机后,这时就会自动切换到备份服务器,通过备份服务器来完成用户的请求,此时,备份服务器作为主服务器来完成用户请求,这就是高可用的一个效果。我们实现这个过程,需要用到一个软件,叫做keepalived,它会通过脚本来进行检测Nginx服务器是否还存活,如果宕机了,就会自动切换到备份服务器。但是,我们可以看到一个问题,不同的Nginx服务器的ip是不同的,所以我们此时需要对外提供虚拟ip,将虚拟ip绑定到两台Nginx服务器上,keepalived在这个过程中起到一个路由的作用。也就是说,keepalived在这个过程中会检测是否存活,如果主服务器宕机后,keepalived会将虚拟ip绑定到备份服务器中,所以,总的来说,作为用户,都是通过这个虚拟ip来进行的访问。(主服务器以及备份服务器都需要keepalived)文章来源地址https://www.toymoban.com/news/detail-713355.html

到了这里,关于Nginx简介的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 服务器技术(三)--Nginx

    Nginx是什么、适用场景 Nginx是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。 Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受高负载的考验,有报告表明能

    2024年02月11日
    浏览(48)
  • web服务器—nginx

    Nginx(“engine x”)是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。和apache一样,都是web服务器软件,因为其性能优异,所以被广大运维喜欢。又因为nginx是一个轻量级的web服务器,相比apache来说 资源消耗更低 。

    2023年04月09日
    浏览(47)
  • 服务器上配置nginx

    如何在 Ubuntu 20.04 上安装 Nginx - 知乎 (zhihu.com) 就像是在本机进行下载配置一般,成功后你自己可以通过浏览器输入网址访问,本地环回地址或者连接上互联网后的ip地址(那么处于同一局域网的其他设备也可以访问)。 在本机部署tomcat也是同理。 那么什么情况下可以让互联网

    2024年04月09日
    浏览(85)
  • Nginx做图片服务器

    前言 : Nginx是一个高性能的HTTP和反向代理web服务器,以及负载均衡器。根据nginx是高性能的http服务器,因此可以用作图片服务器使用。 本案例是在docker安装nginx来操作的。 Nginx是一款高性能的Web服务器和反向代理服务器,它可以处理数以千计的并发连接,并且具有出色的稳定

    2024年02月11日
    浏览(54)
  • Nginx缓存代理服务器

    1.nginx反向缓存代理服务配置 2. 安装nginx服务 3. 修改/etc/nginx/nginx.conf配置文件,关闭长连接保持功能 4. 修改/etc/nginx/nginx.conf配置文件,添加反向代理缓存配置项 5. 修改/etc/nginx/conf.d/default.conf配置文件,添加proxy转发模块 6.启动nginx服务

    2024年02月12日
    浏览(61)
  • 在服务器上部署 Nginx 并设置图片服务器

    当您在服务器上部署 Nginx 并设置图片服务器时,以下是大致的步骤: 1. **安装 Nginx**:使用适用于您的操作系统的包管理器安装 Nginx。 2. **编辑 Nginx 配置文件**:找到 Nginx 的配置文件,通常位于 `/etc/nginx/nginx.conf` 或 `/etc/nginx/conf.d/default.conf`。使用文本编辑器打开该文件。

    2024年02月11日
    浏览(48)
  • 使用Nginx搭载文件服务器

    带有别名:alias的路径 当访问ip:port/root 默认会直接进入到/home/icore , 浏览器显示的是/home/icore目录下的内容, 当不使用alias,而是使用root直接配置的话 默认访问路径: ip:port/YZT访问的是路径是root+YZT 显示的是/home/icore/YZT路径下的内容 总结: 此时访问本台服务器:http://10.4.

    2024年04月22日
    浏览(41)
  • 利用Nginx搭建文件服务器

      工作过程中有时候许多大的镜像或者安装包等文件存储本地电脑太占空间并且下载不方便,不如搭建一个nginx文件服务器来存储文件,wget下载 官网地址: nginx news http://nginx.org/ 版本自行选择,也可以yum安装,方法自行百度 添加如下配置(修改配置文件前先备份  好习惯!

    2024年02月16日
    浏览(54)
  • RedHat 服务器安装NGINX

    参照官方文档:nginx: Linux packages 按顺序操作: 安装前提:  设置yum仓库(执行命令的时候会自动新建文件): 粘贴下面的内容保存退出:  安装nginx:  查看版本: 编辑nginx配置: 启动nginx命令:

    2024年02月07日
    浏览(44)
  • 学习笔记:代理服务器——Nginx

    本文会对Nginx的介绍、使用、原理等知识作由浅入深的剖析。如果你只想对Nginx作为反向代理的使用作初步的了解,那么可以只看第一、二章节;如果想对Nginx工作原理、扩展使用等进行深入研究,可以看第三章节。相信本文会对你有所帮助 Nginx(“engine x”)是一个高性能的

    2024年02月07日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包