速通nginx


本文章为没系统学习计算机网络的同学准备,概念不是很严谨但能快速引入nginx概念,为入门设计,勿喷。

什么是Nginx

Nginx(“engine x”)是一款是由俄罗斯的程序设计师Igor Sysoev于2002年开发一款高性能的Web和反向代理服务器,也支持 IMAP/POP3/SMTP 代理服务器。由于它的内存占用少,启动极快,并发能力强,在互联网项目中广泛应用。

互联网为不同的计算机分配不同的IP地址,这样可联网的计算机都有它的唯一地址。而IP地址不便记忆。所以,同时也设计了便于访问的域名系统,域名便于查找记忆,IP地址对应实际计算机查找的位置,而他们的桥梁DNS系统用于对应不同域名指向的IP。

就像一座大型图书馆里可以容纳成千上万本书一样,一台计算机可以通过解析不同的域名来实现托管多个不同的网站,每个网站都有自己的网页和内容。这意味着一台服务器可以为不同的网站提供服务,但需要有一种方法来确保它们之间的请求不会混淆,这就是nginx其中一个应用场景了。

  1. 网页的存储和访问:网站的内容需要储存在服务器上,就像书籍需要存放在图书馆中一样,以供用户随时查阅。因此,一般的计算机不能胜任这个工作,而是需要持续运行的服务器提供不间断的访问。

  2. 用户请求:当您在浏览器中输入网页地址或点击链接时,实际上是在请求服务器提供您所需网页的内容,就像您在图书馆索要一本书一样。服务器请求有专门的协议,就像进入图书馆需要读者证一样,Nginx就是把一般计算机改造成”图书馆“的软件。

  3. 请求处理:Nginx就像图书馆的信息检索系统一样,处理大量的查询请求,并确保请求被正确地引导到相应的网站。当您访问一个网站时,Nginx会检查您的请求(输入的地址),并将请求发送给正确的服务器。这确保了不同网站之间的请求不会混在一起,每个网站都能够提供正确的响应。

  4. 响应传递:请求发送并通过后,Nginx查询到了正确的网站,找到并获取所请求的网页内容。然后,服务器通过Nginx将这些内容传递给您的浏览器,如同在图书馆用查询系统找到一本书并开始阅读。

  5. 流量管理:Nginx有优秀的并发能力能同时处理多请求,确保它们被正确分发给适当的服务器,以便快速、平滑地提供网页。

  6. 负载均衡:如果一个网站非常繁忙,Nginx可以将流量均匀地分发到多个服务器上,扩大并发能力,以确保每个人都能够顺畅访问网站,这对于处理大量访问的繁忙网站非常重要。

  7. 安全保护:Nginx还有安全门的作用,检查和过滤掉恶意请求,以确保网站和用户的安全。

Nginx的安装

由于Nginx多在Linux场景下使用,推荐Linux(WSL子系统)下安装,以熟悉网站的一般开发流程:

安装Nginx

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install -y nginx

启用nginx

sudo service nginx start

查看Nginx运行状态

sudo service nginx status

重载Nginx

sudo service nginx reload

关闭Nginx

sudo service nginx stop

把网站部署在/var/www/html下,在浏览器中请求localhost即可看到Nginx启用成功。

扩展阅读

通常情况下,使用systemd来管理Nginx服务是最常见的方法,在现代Linux发行版中,systemd已经成为大部分系统的标准初始化和服务管理工具(WSL默认关闭,启用见另一篇为WSL启用systemd),因此大多数管理员和企业选择使用systemd来管理Nginx以及其他系统服务。

应用示例:

systemctl start nginx.service

其他功能关键字和上文init管理进程方式相同。 若wsl版本为2.0,systemd默认启用,init管理也被指向到systemd

Nginx进阶学习

8分钟带你深入浅出搞懂Nginx - 知乎 (zhihu.com)

Nginx详解,睡前十分钟啃完值了! (qq.com)

Comments

Leave a comment