Nginx配置与应用

news2024/12/25 0:01:38

Nginx 是开源、高性能、高可靠的 Web 和反向代理服务器,而且支持热部署,几乎可以做到 7 * 24 小时不间断运行,即使运行几个月也不需要重新启动,还能在不间断服务的情况下对软件版本进行热更新。性能是 Nginx 最重要的考量,其占用内存少、并发能力强、能支持高达 5w 个并发连接数,最重要的是, Nginx 是免费的并可以商业化,配置使用也比较简单。

Nginx 特点

  • 高并发、高性能;

  • 模块化架构使得它的扩展性非常好;

  • 异步非阻塞的事件驱动模型这点和 Node.js 相似;

  • 相对于其它服务器来说它可以连续几个月甚至更长而不需要重启服务器使得它具有高可靠性;

  • 热部署、平滑升级;

  • 完全开源,生态繁荣;

Nginx与Apache

Nginx 作用

Nginx 的最重要的几个使用场景:

  1. 静态资源服务,通过本地文件系统提供服务;

  2. 反向代理服务,延伸出包括缓存、负载均衡等;

  3. API 服务, OpenResty ;

对于前端来说 Node.js 并不陌生, Nginx 和 Node.js 的很多理念类似, HTTP 服务器、事件驱动、异步非阻塞等,且 Nginx 的大部分功能使用 Node.js 也可以实现,但 Nginx 和 Node.js 并不冲突,都有自己擅长的领域。 Nginx 擅长于底层服务器端资源的处理(静态资源处理转发、反向代理,负载均衡等), Node.js 更擅长上层具体业务逻辑的处理,两者可以完美组合。

 

 Nginx配置

 

  • main 全局配置,对全局生效;

  • events 配置影响 Nginx 服务器与用户的网络连接;

  • http 配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置;

  • server 配置虚拟主机的相关参数,一个 http 块中可以有多个 server 块;

  • location 用于配置匹配的 uri ;

  • upstream 配置后端服务器具体地址,负载均衡配置不可或缺的部分;

用一张图清晰的展示它的层级结构:

Nginx有两种进程:主进程和工作进程

 

server_name 指令

指定虚拟主机域名。

server_name name1 name2 name3

# 示例:
server_name www.nginx.com;

域名匹配的四种写法:

  • 精确匹配: server_name www.nginx.com ;

  • 左侧通配: server_name *.nginx.com ;

  • 右侧统配: server_name www.nginx.* ;

  • 正则匹配: server_name ~^www\.nginx\.*$ ;

匹配优先级:精确匹配 > 左侧通配符匹配 > 右侧通配符匹配 > 正则表达式匹配

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/430076.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PCL源码剖析 -- 欧式聚类

PCL源码剖析 – 欧式聚类 参考: 1. pcl Euclidean Cluster Extraction教程 2. 欧式聚类分析 3. pcl-api源码 4. 点云欧式聚类 5. 本文完整工程地址 可视化结果 一. 理论 聚类方法需要将无组织的点云模型P划分为更小的部分,以便显著减少P的总体处理时间…

centos7.6部署ELK集群(三)之logstash7.7.0部署

32.5. 部署logstash7.7.0(在主节点上操作) 32.6.1. 下载logstash7.7.0 Logstash 官方下载地址:https://www.elastic.co/cn/downloads/logstash 32.6.2. 解压至安装目录 tar –xvf logstash-7.7.0.tar.gz -C /vmdata/ 32.6.3. 修改logstas…

逍遥自在学C语言 位运算符 “|“ 的5种高级用法

前言 在上一篇文章中,我们介绍了&运算符的高级用法,本篇文章,我们将介绍| 运算符的一些高级用法。 一、人物简介 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。 第二位上场的是和我们一起学习的小白程序猿 —…

JAVA入坑之异常处理

目录 一、程序错误 二、异常 2.1概述 2.2产生原因 2.3Java 异常层次结构 Error Exception 2.3.1非受检异常 2.3.2受检异常 三、异常处理机制 3.1概述 ​编辑 调用栈Call Stack 3.2异常类型的实现 3.3异常处理的关键字: 3.3.1try-catch Block ​编辑 …

推荐系统概述

1.推荐系统的意义 随着移动互联网的飞速发展,人们已经处于一个信息过载的时代。在这个时代中,信息的生产者很难将信息呈现在对它们感兴趣的信息消费者面前,而对于信息消费者也很难从海量的信息中找到自己感兴趣的信息。推荐系统就是一个将信息…

git使用常见问题(提交代码,合并冲突)

文章目录Git提交代码步骤git pullgit statusgit addgit commitgit pushgit代码冲突合并问题方法一:放弃本地代码方法二:合并代码常用命令以及参数git add 将文件添加到仓库:git diff 比较文件异同git log 查看历史记录git reset 代码回滚版本…

Matlab-神经网络43个案例

神经网络简介 人工神经网络是在现代神经科学的基础上提出和发展起来的,旨在反映人脑结构及 功能的一种抽象数学模型。自 1943 年美国心理学家 W. McCulloch 和数学家 W. Pitts 提 出形式神经元的抽象数学模型—MP 模型以来,人工神经网络理论技术经过了 …

Java企业级开发学习笔记(2.1)MyBatis实现简单查询

该文章主要为完成实训任务,详细实现过程及结果见【http://t.csdn.cn/zi0wB】 文章目录零、创建数据库与表一、基于配置文件方式使用MyBatis基本使用1.1 创建Maven项目 - MyBatisDemo1.2 在pom文件里添加相应的依赖1.3 创建与用户表对应的用户实体类 - User1.4 创建用…

数据库系统工程师——第四章 操作系统基础

文章目录📂 第四章、操作系统基础 📁 4.1 操作系统概述 📖 4.1.1 基本概念 📖 4.1.2 操作系统分类 📖 4.1.3 操作系统的发展 📁 4.2 进程管理 📖 4.2.1 基本概念 📖 4.2.2 进程的控…

电动滑板车出口欧洲CE认证EN17128标准

电动滑板车物美价廉、十分节省能源,充6小时电能骑20多公里,时速最高可达32迈,这对于任何年龄阶段(>12岁)的朋友来说绝对是非常适合的一种选择;与电动自行车相比,它造型美观、操作方便,而且因为座位重心低…

MaxHub智能电视使用123

开机和关机电视正下方,中央有一个圆形按钮。开机时,轻按此按钮1下,智能电视开始启动。启动后会显示MAXHUB。 如果使用中想让智能电视进入休眠状态,轻按此按钮1下即可。此时按钮变为红色。唤醒时,轻按此按钮1下&#x…

智慧物流仓储人员定位系统解决方案,提升物流仓储安全管理效率

随着近年我国制造业的崛起,物流业也得到了迅猛的发展,仓储越来越得到人们的重视。然而,传统仓储业存在着效率低、利用率不高、作业条件差等问题,以及部分仓储企业的业务模式较为基础和单一,导致仓储行业整体盈利水平较…

加密市场喜忧参半 DeFi与CeFi、监管之间有矛盾吗?

目前,身处其中的加密从业者大多喜忧参半。一方面,美国监管机构对中心化交易所的持续打压冲击着市场信心;另一方面,以BTC、ETH为代表的加密资产在二级市场表现相当不俗。 除价格因素外,加密领域内的多个信号正在显现出强…

详细介绍性能测试的方法(含文档)

性能测试是软件测试中的一个重要环节,其目的是评估系统在不同负荷下的性能表现,包括响应时间、吞吐量、并发数等指标。通常可以通过以下几种方法进行性能测试: 1、负载测试 负载测试是模拟多用户同时访问系统,测试系统在高并发、…

SaaS电子病历系统源码

SaaS电子病历系统:现代医疗的新趋势 SaaS电子病历系统是一种基于云计算技术的电子病历服务平台,它将传统的病历记录存储在云端,使用者可以通过互联网随时随地访问和查询病历信息。 相比于传统的医疗信息系统,SaaS电子病历系统具…

每日学术速递4.15

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CV 1.Zip-NeRF: Anti-Aliased Grid-Based Neural Radiance Fields 标题:Zip-NeRF:基于网格的抗锯齿神经辐射场 作者:Xueyan Zou, Jianwei Yang, Hao …

在 Ubuntu 使用SQL Server创建 Go 应用程序

在 Ubuntu 使用SQL Server创建 Go 应用程序一、设置环境1.1、安装 SQL Server1.2、安装 GoLang1.3、安装 ODBC 驱动程序和 SQL 命令行实用工具 SQL 服务器二、使用 SQL 服务器创建 Go 应用程序2.1、创建连接到 SQL Server 并执行查询的 Go 应用2.2、创建一个使用 GORM 连接到 S…

macOS 13.4Beta 2(22F5037d)发布

系统介绍 4 月 12 日消息,苹果今日向 Mac 电脑用户推送了 macOS 13.4 开发者预览版 Beta 2 更新(内部版本号:22F5037d),本次更新距离上次发布隔了 14 天。 macOS Ventura 带来了台前调度、连续互通相机、FaceTime 通…

Python爬虫之Scrapy框架系列(19)——实战下载某度猫咪图片【媒体管道类】

目录:1.引入:1.1 不使用管道,直接存储本地:①创建scrapy项目及爬虫文件②编写爬虫文件:③效果:1.2 使用管道,进行本地存储:①编写爬虫文件:②在items.py文件中创建相应的…

前缀和算法【一维、二维】

算法推导 首先这种算法适合于求从 x 到 y 的和。 一维情况 一维代码十分简单&#xff0c;我们只需要每个都记录前面所有的和即可&#xff0c;注意细节 下标从1开始 for(int i 1 ; i < n ; i ){cin >> temp;a[i] a[i - 1] temp; }这里我们就看两种情况&#xff…