【Nginx】Nginx-概述

55 阅读3分钟

一、服务器前置知识

在学习Nginx服务器之前,先了解一下前后端分离下,对于服务器的概念;

目前项目开发一般都会采取前后端项目的分离,而前后端分离之后,前后端的项目都需要部署到服务器中,用户才能够访问到,而前端项目一般为一些静态资源(html、css、js),后端项目则需要处理大量的动态数据,因此二者对于服务器的需求是不同的,后端项目一般采用tomcat这类服务器,来运行Java应用程序,而前端项目的需求,如数据渲染等,一般会采用nginx这类服务器。

二、Nginx简介

Nginx是一款开源的服务器软件,类似于Tomcat,目前有四个发行版本:

  1. Nginx开源版(适合二次开发)
  2. Nginx plus 商业版 (要钱,但功能更强,比如主动健康检查、监控)
  3. Openresty (国人基于Nginx做的二次开发,可以基于Lua脚本做各种配置)
  4. Tengine (淘宝基于Nginx开发的Web服务器,经历了双11这些高并发场景的考验)

三、为什么需要Nginx?

作为前端服务器

前端项目为静态资源,如果使用tomcat这类专门处理Java应用程序(动态资源)的服务器速度就慢了(目前和Nginx差不多),我们需要一个对于专门存放、处理和渲染表现性能出色的服务器(反向代理、静态资源处理器);

提升加载静态资源的速度

对于京东、淘宝这类大型的电商项目,用户初次进入时需要加载大量的静态资源,为了提升访问速度,可以将部分静态资源缓存到Nginx服务器上,同时利用Nginx的分组加载机制,将静态资源按需加载。这种做法可以有效减轻服务器的负担,提升用户的访问体验。

四、如何使用Nginx?

使用Nginx开发版非常简单。

步骤

  1. 在官网下载Nginx对应版本
  2. 找到conf目录下的nginx.conf进行配置即可(Nginx监听的端口号、虚拟主机)
  3. 使用命令启动和关闭Nginx,注意每一修改配置文件都需要重新加载一次Nginx

常用命令

Windows:

进入到nginx的安装目录下面(nginx.exe所在的目录)

● 启动: start nginx;
● 关闭: nginx -s stop;
● 重新加载:nginx -s reload 

Linux:

进入到sbin/目录下

● 启动: ./nginx 
● 关闭: ./nginx -s stop;
● 重新加载:./nginx -s reload 

五、Nginx有哪些应用场景?

Nginx不仅仅是一款Web服务器,还具备广泛的应用场景:

  1. HTTP服务器:Nginx可以作为一个轻量级的HTTP服务器,直接处理客户端的请求。
  2. 反向代理:Nginx常用于反向代理,将请求转发到后端的服务器上并返回结果,客户端无需知道实际的后端地址。
  3. 负载均衡:Nginx支持多种负载均衡算法,如轮询、加权轮询等,将用户的请求合理地分发到后端的服务器集群中,从而提升系统的并发处理能力。
  4. 网关服务:在微服务架构中,Nginx常被用作网关,统一管理不同微服务的访问入口,并通过反向代理和负载均衡将请求路由到正确的服务节点上