Nginx基础

本文涉及的产品
网络型负载均衡 NLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
简介: Nginx基础

Nginx概述

  • Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好.


下载与安装

  1. 创建安装路径文件夹
mkdir -p /usr/local/nginx


  1. 安装依赖包:
yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
• 1
  1. 下载Nginx安装包:
wget https://nginx.org/download/nginx-1.22.0.tar.gz


  1. 解压
tar -zxvf nginx-1.22.0.tar.gz
• 1
  1. 进入 nginx-1.22.0
cd nginx-1.22.0



  1. 安装前检查工作
./configure --prefix=/usr/local/nginx
• 1
  1. 编译并安装
make && make install
• 1
  1. 进入目录
cd /usr/local/nginx


a0e37757d4081de1be43af5ed56cc302.png


Nginx目录文件 说明
conf/nginx.conf nginx配置文件
html 存放静态文件(html、css、Js等)
logs 日志目录,存放日志文件
sbin/nginx 二进制文件,用于启动、停止Nginx服务


树形结构展示:

yum install yum
tree


206cbd68d3d0948133b70ccd25324d1a.png

Nginx命令

都是在sbin目录下执行以下的命令

  1. 查看版本
cd sbin
./nginx -v




e1fe2569a9cae83db41a2c0d53ac5996.png

  1. 检查配置文件是否有错误
./nginx -t
• 1
  1. 启动Nginx
sbin/nginx
  1. 停止Nginx
./nginx -s stop
• 1
  1. 查看进程
ps -ef |grep nginx
• 1
  1. 重新加载配置文件 配置文件修改都要重新加载文件
./nginx -s reload

Nginx配置文件结构

Nginx配置文件(conf/nginx.conf)整体分为三部分(逻辑划分)

一、全局块

  • 和nginx运行相关的全局配置


0344e39bd55e6ca1444f9179bccda912.png


二、events块

  • 和网络链接相关的配置

三、http块


  • 代理、缓存、日志记录、虚拟主机配置
  1. http全局块
  2. server块(server全局块和location块)

注意:http块中可以配置多个server块,每个server块中可以配置多个location块



77ed4036e9531f1e1cb032079d438ce0.png

Nginx应用


Nginx可以作为静态web服务器来部署静态资源。静态资源指在服务端真实存在并且能够直接展示的一些文件,比如常见的html页面、css文件、js文件、图片、视频等资源。相对于Tomcat,Nginx处理静态资源的能力更加高效,所以在生产环境下,一般都会将静态资源部署到Nginx中。将静态资源部署到Nginx非常简单,只需要将文件复制到Nginx安装目录下的html目录中即可。

————————————————

369dee42f8b788d03f0737fb68efe87a.png

反向部署

正向代理


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


正向代理的典型用途是为在防火墙内的局域网客户端提供访问internet的途径。

正向代理一般是在客户端设置代理服务器,通过代理服务器转发请求,最终访问到目标服务器。




988f700607d028f6a82b665cd678dcab.png


反向代理


反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源,反向代理服务器负责将请求转发给目标服务器。

用户不需要知道目标服务器的地址,也无须在用户端作任何设定。


负载均衡

  • 应用集群:将同一应用部署到多台机器上,组成应用集群,接收负载均衡器分发的请求,进行业务处理并返回响应数据。
  • 负载均衡器:将用户请求根据对应的负载均衡算法分发到应用集群中的一台服务器进行处


配置

负载均衡策略

名称 说明
轮询 默认方式
weight 权重方式
ip_hash 依据ip分配方式
least_conn 依据最少连接方式
url_hash 依据url分配方式
fair 依据响应时间方式


Nginx特点


跨平台:Nginx可以在大多数操作系统中运行,而且也有Windows的移植版本

配置异常简单:非常容易上手。配置风格跟程序开发一样,神一般的配置

非阻塞、高并发:数据复制时,磁盘I/O的第一阶段是非阻塞的。官方测试能够支撑5万并发连接,在实际生产环境中跑到2-3万并发连接数(这得益于Nginx使用了最新的epoll模型)

事件驱动:通信机制采用epoll模式,支持更大的并发连接数

内存消耗小:处理大并发的请求内存消耗非常小。在3万并发连接下,开启的10个Nginx进程才消耗150M内存(15M*10=150M)

成本低廉:Nginx作为开源软件,可以免费试用。而购买F5 BIG-IP、NetScaler等硬件负载均衡交换机则需要十多万至几十万人民币

内置健康检查功能:如果Nginx Proxy后端的某台Web服务器宕机了,不会影响前端访问。

节省带宽:支持GZIP压缩,可以添加浏览器本地缓存的Header头。

稳定性高:用于反向代理,宕机的概率微乎其微


Nginx与Tomcat区别


NetScaler等硬件负载均衡交换机则需要十多万至几十万人民币

7. 内置健康检查功能:如果Nginx Proxy后端的某台Web服务器宕机了,不会影响前端访问。

8. 节省带宽:支持GZIP压缩,可以添加浏览器本地缓存的Header头。

9. 稳定性高:用于反向代理,宕机的概率微乎其微

Nginx与Tomcat区别

[外链图片转存中…(img-sRGKWrAU-1668322995155)]

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
2月前
|
应用服务中间件 Apache 数据库
Nginx(一)
Nginx(一)
|
5月前
|
缓存 负载均衡 前端开发
Nginx
Nginx
39 0
|
6月前
|
缓存 负载均衡 应用服务中间件
nginx 就该这么用
nginx 就该这么用
45 0
|
负载均衡 前端开发 安全
nginx能帮我们做什么?
Nginx是一款高性能的开源Web服务器软件,它可以帮助我们完成以下几个方面的任务:
100 0
|
缓存 负载均衡 算法
Nginx介绍
Nginx介绍
137 0
|
应用服务中间件 nginx
nginx
nginx
137 0
|
应用服务中间件 网络安全 nginx
nginx 502
技巧
127 0
|
缓存 负载均衡 算法
Nginx服务详细介绍
Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。从2004年发布至今,凭借开源的力量,已经接近成熟与完善。Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。
|
应用服务中间件 开发工具 nginx
Nginx之13运筹帷幄 - (VeryNginx)
Nginx从入门到深入之VeryNginx
1698 0
下一篇
无影云桌面