前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >什么是Nginx?我们该怎末去学习Nginx?

什么是Nginx?我们该怎末去学习Nginx?

作者头像
木字楠
发布2022-11-15 16:43:45
5710
发布2022-11-15 16:43:45
举报
文章被收录于专栏:木字楠の空间

文章目录


一、什么是Nginx?

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

其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名.

Nginx是一款轻量级的Web 服务器/反向代理服务器及**电子邮件(IMAP/POP3)**代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。


二、什么是 正向代理 Or 反向代理?

在这里插入图片描述
在这里插入图片描述

1、什么是正向代理?

所谓的正向代理就是介于 客户端 和 原始服务器 之间的一个 服务器为了从原始服务器取得内容,客户端向 代理服务器 发送一个请求并且指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端,客户端才能使用 正向代理。(下图中红框圈中的服务器就是正向代理的服务器)

在这里插入图片描述
在这里插入图片描述

平时我们大家在玩吃鸡PC端游的时候都要开一个加速器,不然就没有办法快乐的游戏!!

在这里插入图片描述
在这里插入图片描述

这是因为吃鸡是访问的外网,而我们大家访问外网的速度是非常慢的,我们学编程的小伙伴应该深有体会了,所以我们大家使用的加速器就可以 “提升我们访问外网的速度”。然而事实并非如此,我们的加速器,其实也可以叫做V**。加速器实际上是帮我们直接或者间接的向 原服务器发送请求获取返回数据,对于这个 原服务器 而言他只知道有一个服务器访问了自己,并不知道你访问了他。

在这里插入图片描述
在这里插入图片描述

正向代理的过程,隐藏了真实的客户端。客户端请求的服务都被 代理服务器 代替来请求。

2、什么是反向代理?

反向代理服务器 位于 用户目标服务器 之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。

在这里插入图片描述
在这里插入图片描述

我们在访问B站时,我们只需要输入B站的网址就可以进入到B站。这是为什么?是因为B站只设置了一台服务器吗?毋庸置疑,B站每天都有海量的用户进行访问,肯定不是一台服务器可以顶得住的。实际上B站也使用了代理服务器,我们只用访问代理服务器的域名就可以被分配到目标服务器上,从而实现访问。

在这里插入图片描述
在这里插入图片描述

比如下图中,有三台目标服务器! 一台在北京,是一台1024G的服务器,还有一台在上海,是一台514G的,最后一台在深圳,是一台257G的服务器!当我们在客户端输入B站的网址进行访问时,代理服务器就会将我们的请求分配到一台目标服务器,这样我们就可以进入到B站。这样的服务器就是代理服务器,Nginx就是这样的可以实现这样的效果。

但是你以为Nginx的用处仅仅是这样吗?那就大错特错了,nginx还可以提供负载均衡的功能,我们可以根据每台服务器的性能来进行服务量的分配,比如北京那太服务器是1024G的,上海的服务器是514G的,而深圳的服务器是257G的。那么,假如在同一时间有六台客户机发起请求,那麽我们可以多给内存比较大的服务器(北京)多一些请求,而内存小一点的少一些请求(深圳),这样可以实现最好的效果!当然,nginx的用处并不仅仅局限于此!

在这里插入图片描述
在这里插入图片描述

3、小总结

短小精悍的一句话结束战斗 正向代理隐藏真实客户端,反向代理隐藏真实服务端!!

三、Nginx 的安装 和 使用

在这里插入图片描述
在这里插入图片描述

nginx的官网: http://nginx.org/en/download.html(nginx官网的下载速度是非常鸡肋的,所以我给大家提供好了百度网盘)

我将nginx的windows和linux安装包存入来了某盘供大家下载使用: 链接:https://pan.baidu.com/s/1FBHFCbvyArHRTPif0ERgkA 提取码:lay4 (由于nginx本身比较小就只有1MB左右,某盘的限速就微乎其微了)

在这里插入图片描述
在这里插入图片描述

1、windows 下的安装 和 使用

windows下的安装是非常简单的,可以说是不用安装。 我们只需要将下载好的压缩包进行解压(最好不要放在C盘中,除此之外存放的路径中不能含有中文,否则会启动失败),压缩之后就可以使用了!!

在这里插入图片描述
在这里插入图片描述

我们进入conf目录查看nginx的配置文件:

在这里插入图片描述
在这里插入图片描述

在这里我们可以看到nginx已经配置了一个81端口的服务并且指定了页面,我们可以将nginx启动起来看看是什么样子的!

在这里插入图片描述
在这里插入图片描述

启动方式:

1-1、双击 nginx.exe 启动

这样可以启动,但是双击之后会出现命令窗口一闪而过,效果并不好!

在这里插入图片描述
在这里插入图片描述
1-2、在 cmd 中开启

首先打开nginx文件夹目录,在导航栏出点击(使整个路径都被选中),接下来输入cmd

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这样就可以快速在命令窗口中定位到文件夹了(打开的时候cmd就已经定位在nginx的目录下了)

在这里插入图片描述
在这里插入图片描述

我们开启nginx服务! 我们在cmd中输入nginx.exe (可以只输入开头两个字母,使用Tab键补全)

在这里插入图片描述
在这里插入图片描述
服务启动过程
服务启动过程

当光标不停闪烁就说明启动成功了! 我们在地址栏中输入localhost:81

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

启动成功!

1-3、nginx的关闭

nginx的关闭必须重新开启一个新的cmd命令窗口来进行关闭,将开启nginx的cmd关闭并不能关闭nginx服务。 重新在nginx的目录下开启一个cmd窗口,输入 nginx.exe -s stop 命令来关闭nginx服务!

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

关闭成功!

2、Linux下的安装 和 使用

关于linux的上 nginx 的安装,如果有服务器的话可以直接使用XShell进行连接没有服务器的话可以在 Vm 上安装一台虚拟机,(因为我个人比较喜欢使用XShell,所以我使用XShell连接我的本地Vm虚拟机)

首先启动Vm虚拟机,输入ip addr获取虚拟机的临时ip

在这里插入图片描述
在这里插入图片描述

这个就是我们虚拟机的临时ip,我们将其连接到XShell中

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

连接成功!

代码语言:javascript
复制
(1)./configure是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC(C Complie)
或GCC(GNU Compile Collections),并不是需要CC或GCC,它是个shell脚本。使用它之后,
会生成一个makefile文件。

(2)make是用来编译的,它从Makefile中读取指令,然后编译。它需要用到Makefile文件;

(3)make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。

输入命令 whereis nginx 检查虚拟机中是否已经安装nginx,当没有输出时就说明没有nginx。

在这里插入图片描述
在这里插入图片描述

将我们下载好的安装包通过xftp传输进我们的虚拟机!

在这里插入图片描述
在这里插入图片描述

当传输完成之后我们就可以查看到nginx的安装包了

在这里插入图片描述
在这里插入图片描述

接下来解压安装包 tar -zxvf nginx-1.20.0.tar.gz ,

在这里插入图片描述
在这里插入图片描述

进入到nginx-1.20.0 中 我们就会发现,他的目录结构和weindows中的文件目录基本上是相同的,这个绿色的configure,我们输入 ./configure 命令执行它,他会帮我们进行一些配置!

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

接下来输入make 命令 进行编译,

在这里插入图片描述
在这里插入图片描述

接下来查看nginx是否安装成功,以及安装之后的位置在哪里。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

我们的nginx已经安装成功了!!!!

解下了我们来查看一下nginx的配置文件。

在这里插入图片描述
在这里插入图片描述

我们可以发现这次nginx的配置文件开放的端口是80端口

在这里插入图片描述
在这里插入图片描述

接下来我们进入到sbin目录下启动nginx,并且去浏览器进行访问,看是否可以访问到! 因为配置文件中开放的端口为80,首先我们要去查看一下防火墙对于80端口是否开启(如果使用的是云服务器,还需要去安全组中开放80端口)

在这里插入图片描述
在这里插入图片描述

至于nginx的关闭是和windows是一样的!

在这里插入图片描述
在这里插入图片描述

3、注意

还有一个重要的命令是 ./nginx -s reload ,每次修改完配置文件之后要使用该命令进行重新加载!

总结

反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理,这样可以极大的缓解服务器的鸭梨! 以上是个人见解,可能会有问题和错误,希望小伙伴们可以指正😘😘。

树苗如果因为怕痛而拒绝修剪,那就永远不会成材。

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-04-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、什么是Nginx?
  • 二、什么是 正向代理 Or 反向代理?
    • 1、什么是正向代理?
      • 2、什么是反向代理?
        • 3、小总结
          • 三、Nginx 的安装 和 使用
            • 1、windows 下的安装 和 使用
            • 2、Linux下的安装 和 使用
            • 3、注意
        • 总结
        相关产品与服务
        命令行工具
        腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档