Nginx 篇

Nginx 篇

基本介绍

Nginx 是一款轻量级的 Web 服务器 / 反向代理服务器 / 电子邮件(IMAP/POP3)代理服务器,主要的优点是:

 1. 支持高并发连接,尤其是静态界面,官方测试 Nginx 能够支撑 5 万并发连接
 2. 内存占用极低
 3. 配置简单,使用灵活,可以基于自身需要增强其功能,同时支持自定义模块的开发
 4. 使用灵活:可以根据需要,配置不同的负载均衡模式,URL 地址重写等功能
 5. 稳定性高,在进行反向代理时,宕机的概率很低
 6. 支持热部署,应用启动重载非常迅速

基础使用

Windows 版

安装

文件下载地址:http://nginx.org/en/docs/windows.html

如果下载很慢可以用该链接:

百度云盘链接: https://pan.baidu.com/s/1r3mSEGhmz4HA46Cw9w6QTQ 提取码: d8bi

解压即可

基本命令


# 启动
# 建议使用第一种,第二种会使窗口一直处于执行中,不能进行其他命令操作
C:\server\nginx-1.19.2> start nginx
C:\server\nginx-1.19.2> nginx.exe

# 停止
# stop是快速停止nginx,可能并不保存相关信息;quit是完整有序的停止nginx,并保存相关信息
C:\server\nginx-1.19.2> nginx.exe -s stop
C:\server\nginx-1.19.2> nginx.exe -s quit

# 重载Nginx
# 当配置信息修改,需要重新载入这些配置时使用此命令
C:\server\nginx-1.19.2> nginx.exe -s reload

# 重新打开日志文件
C:\server\nginx-1.19.2> nginx.exe -s reopen

# 查看Nginx版本
C:\server\nginx-1.19.2> nginx -v

# 查看配置文件是否正确
C:\server\nginx-1.19.2> nginx -t

简单 Demo

  1. 利用SwitchHost软件编辑域名和 IP
    的映射关系,或到目录C:\Windows\System32\drivers\etc下,编辑hosts文件,增加配置如下(Mac 同理)
127.0.0.1  kerwin.demo.com

PS:推荐使用软件SwitchHost,工作时几乎是必用的

  1. 修改配置,如图所示:
    在这里插入图片描述
    效果如图所示:
    在这里插入图片描述

Nginx 在架构体系中的作用

  • 网关 (面向客户的总入口)
  • 虚拟主机(为不同域名 / ip / 端口提供服务。如:VPS 虚拟服务器)
  • 路由(正向代理 / 反向代理)
  • 静态服务器
  • 负载集群(提供负载均衡)

网关

网关:可以简单的理解为用户请求和服务器响应的关口,即面向用户的总入口

网关可以拦截客户端所有请求,对该请求进行权限控制、负载均衡、日志管理、接口调用监控等,因此无论使用什么架构体系,都可以使用Nginx作为最外层的网关

虚拟主机

虚拟主机的定义:虚拟主机是一种特殊的软硬件技术,它可以将网络上的每一台计算机分成多个虚拟主机,每个虚拟主机可以独立对外提供 www 服务,这样就可以实现一台主机对外提供多个 web 服务,每个虚拟主机之间是独立的,互不影响的。

通过 Nginx 可以实现虚拟主机的配置,Nginx 支持三种类型的虚拟主机配置

  • 基于 IP 的虚拟主机
  • 基于域名的虚拟主机
  • 基于端口的虚拟主机

表现形式其实大家多见过,即:


# 每个 server 就是一个虚拟主机
http {
    # ...
    server{
        # ...
    }

    # ...
    server{
        # ...
    }
}

路由

在Nginx的配置文件中,我们经常可以看到这样的配置:


location / {
	#....
}

location在此处就起到了路由的作用,比如我们在同一个虚拟主机内定义两个不同的路由,如下:


location / {
	proxy_pass https://www.baidu.com/;
}

location /api {
	proxy_pass https://apinew.juejin.im/user_api/v1/user/get?aid=2608&user_id=1275089220013336¬_self=1;
 }

效果如下:
在这里插入图片描述

因为路由的存在,为我们后续解决跨域问题提供了一定的思路,同时配置内容和 API 接口等更加方便

PS:路由的功能非常强大,支持正则匹配

正向与反向代理
此处额外解释一下proxy_pass的含义

在Nginx中配置proxy_pass代理转发时,如果在proxy_pass后面的 url 加 /,表示绝对根路径;

如果没有/,表示相对路径

正向代理

代理客户;
隐藏真实的客户,为客户端收发请求,使真实客户端对服务器不可见;
一个局域网内的所有用户可能被一台服务器做了正向代理,由该台服务器负责 HTTP 请求;
意味着同服务器做通信的是正向代理服务器;

反向代理

代理服务器;
隐藏了真实的服务器,为服务器收发请求,使真实服务器对客户端不可见;
负载均衡服务器,将用户的请求分发到空闲的服务器上;
意味着用户和负载均衡服务器直接通信,即用户解析服务器域名时得到的是负载均衡服务器的 IP ;

共同点

都是做为服务器和客户端的中间层
都可以加强内网的安全性,阻止 web 攻击
都可以做缓存机制,提高访问速度

区别

正向代理其实是客户端的代理,反向代理则是服务器的代理。
正向代理中,服务器并不知道真正的客户端到底是谁;而在反向代理中,客户端也不知道真正的服务器是谁。
作用不同。正向代理主要是用来解决访问限制问题;而反向代理则是提供负载均衡、安全防护等作用。

静态服务器
静态服务器是Nginx的强项,使用非常容易,在默认配置下本身就是指向了静态的 HTML 界面,如:


location / {
	root   html;
	index  index.html index.htm;
}

所以前端同学们,如果构建好了界面,可以进行相应的配置,把界面指向目标文件夹中即可,root指的是html文件夹

负载均衡

负载均衡功能是Nginx另一大杀手锏,一共有 5 种方式,着重介绍一下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值