当前位置: 首页 > news >正文

快速了解Nginx的基本介绍

Nginx的基本介绍

文章目录

  • Nginx的基本介绍
  • 一、Nginx是什么?
  • 二、Nginx介绍
    • 代理
      • 正向代理
      • 反向代理
    • 负载均衡
    • 动静分离
    • 常用命令
      • 使用nginx操作命令前提条件:必须进入nginx的目录
      • 查看nginx的版本号
      • 关闭nginx
      • 启动nginx
      • 重新加载nginx
    • nginx的配置文件
      • nginx.conf由三个部分组成
    • 反向代理准备工作
  • 总结
    • 优点
    • 服务器
    • 代码
    • 代理服务器


提示:以下是本篇文章正文内容,下面案例可供参考

一、Nginx是什么?

是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现比较好

nginx可以作为静态页面的web服务器,同时还支持CGI协议的动态语言,比如perl,php等,但是不支持Java,Java程序只能通过tomcat配合完成,nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受高负载的考验,有报告能支持高达50000个并发连接数

二、Nginx介绍

代理

正向代理

当我们要去访问某个网站的时候,直接访问是访问不到的,这个时候我们需要配置一下代理服务器,通过代理服务器去访问我们目标的网站
在这里插入图片描述

反向代理

反向代理,客户端是感受不到的,因为客户端不需要配置就可以访问,我们直接请求反向代理服务器,由反向代理服务器选择目标服务器后,返回数据给客户端,这样我们的反向代理服务器和目标服务器是一体的,其暴露的是反向代理服务器的ip,则会隐藏真实服务器的ip
在这里插入图片描述

负载均衡

通过反向代理服务器,均匀的分配请求给各个目标服务器,这个过程就叫做反向代理
在这里插入图片描述

动静分离

为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度,降低原来当个服务器的压力
在这里插入图片描述

常用命令

使用nginx操作命令前提条件:必须进入nginx的目录

/usr/local/nginx/sbin

查看nginx的版本号

./nginx -v

关闭nginx

./nginx -s stop

启动nginx

./nginx

重新加载nginx

./nginx -s reload

nginx的配置文件

在这里插入图片描述

nginx.conf由三个部分组成

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

反向代理准备工作

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
访问的过程

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


总结

优点

Nginx 可以在大多数 Unix Linux OS 上编译运行,并有 Windows 移植版。 Nginx 的1.20.0稳定版已经于2021年4月20日发布,一般情况下,对于新建站点,建议使用最新稳定版作为生产版本,已有站点的升级急迫性不高。Nginx 的源代码使用 2-clause BSD-like license。

Nginx 是一个很强大的高性能Web和反向代理服务,它具有很多非常优越的特性:在连接高并发的情况下,Nginx是Apache服务不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达 50,000 个并发连接数的响应,感谢Nginx为我们选择了 epoll and kqueue作为开发模型。

服务器

Nginx作为负载均衡服务:Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务,也可以支持作为 HTTP代理服务对外进行服务。Nginx采用C进行编写,不论是系统资源开销还是CPU使用效率都比 Perlbal 要好很多。

处理静态文件,索引文件以及自动索引;打开文件描述符缓冲。

无缓存的反向代理加速,简单的负载均衡和容错。

FastCGI,简单的负载均衡和容错。

模块化的结构。包括 gzipping, byte ranges, chunked responses,以及 SSI-filter 等 filter。如果由 FastCG或其它代理服务器处理单页中存在的多个 SSI,则这项处理可以并行运行,而不需要相互等待。
支持 SSL 和 TLSSNI。

代码

Nginx代码完全用C语言从头写成,已经移植到许多体系结构和操作系统,包括:Linux、FreeBSD、Solaris、Mac OS X、AIX以及Microsoft Windows。Nginx有自己的函数库,并且除了zlib、PCRE和OpenSSL之外,标准模块只使用系统C库函数。而且,如果不需要或者考虑到潜在的授权冲突,可以不使用这些第三方库。

代理服务器

作为邮件代理服务:Nginx 同时也是一个非常优秀的邮件代理服务(最早开发这个产品的目的之一也是作为邮件代理服务器),Last.fm 描述了成功并且美妙的使用经验。

Nginx 是一个安装非常的简单、配置文件非常简洁(还能够支持perl语法)、Bug非常少的服务。Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级。

相关文章:

  • 字符串统计:strlen函数的讲解,及其模拟实现
  • Linux——什么是环境变量?
  • 关于软件定时器的一些讨论
  • 睿智的目标检测60——Pytorch搭建YoloV7目标检测平台
  • Vue教程-监听路由ve-router变化,命名视图,路由嵌套,路由参数,路由高亮,router-link,redirect,创建路由,
  • 知识点杂记
  • 微信小程序入门与实战之rpx响应式单位与flex布局
  • @RequestMapping用法详解
  • 【MATLAB教程案例20】关于优化类算法的改进方向探索及matlab仿真对比分析
  • [ vulhub漏洞复现篇 ] Apache Flink目录遍历(CVE-2020-17519)
  • mysql的聚簇索引和非聚簇索引
  • 【React项目】从0搭建项目,项目准备和基础构建
  • markdown数学公式编辑指令大全
  • ContentProvider 之 监听共享数据变化
  • 数字IC前端设计怎么学?薪资前景好吗?
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • Akka系列(七):Actor持久化之Akka persistence
  • Android 控件背景颜色处理
  • FastReport在线报表设计器工作原理
  • GraphQL学习过程应该是这样的
  • Javascript弹出层-初探
  • Javascript设计模式学习之Observer(观察者)模式
  • k8s如何管理Pod
  • LeetCode18.四数之和 JavaScript
  • Map集合、散列表、红黑树介绍
  • mysql 数据库四种事务隔离级别
  • nodejs实现webservice问题总结
  • sessionStorage和localStorage
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • underscore源码剖析之整体架构
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 基于游标的分页接口实现
  • 聊聊flink的TableFactory
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 前端面试之CSS3新特性
  • 我的zsh配置, 2019最新方案
  • 最简单的无缝轮播
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • 阿里云API、SDK和CLI应用实践方案
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #Linux(make工具和makefile文件以及makefile语法)
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • $(selector).each()和$.each()的区别
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (12)Hive调优——count distinct去重优化
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (初研) Sentence-embedding fine-tune notebook
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (七)Knockout 创建自定义绑定