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

复习Nginx

1.关于Nginx

Nginx的关键特性

1.支持高并发
2.内存资源消耗低
3.高扩展性(模块化设计)
4.高可用性(master-worker)

Nginx运行架构

在这里插入图片描述
注意
默认情况下,Nginx会创建和服务器cpu核心数量相等的worker进程
worker进程之间相互独立,其中一个故障不会影响其他进程

Nginx关键工作机制

在这里插入图片描述

模块化

在这里插入图片描述

反向代理

在这里插入图片描述

负载均衡功能

在这里插入图片描述

安装Nginx

[root@localhost ~]# yum insatll nginx -y

在这里插入图片描述
当然你也可以选择编译安装
在这里插入图片描述

常见的Nginx命令

在这里插入图片描述
注意
重启与重新加载的区别

1.
重启(Restart)Nginx:
当你执行重启操作时,Nginx会先停止当前正在运行的进程,然后重新启动一个新的进程。
重启会导致所有当前的连接被关闭,正在处理的请求可能会中断。
重启操作通常用于应用新的配置文件或者进行系统升级。
重启会消耗更多资源,因为它涉及到关闭旧进程和启动新进程的过程。
2.
重新加载(Reload)Nginx:
重新加载操作允许Nginx在不中断当前服务的情况下重新读取配置文件。
当执行重新加载命令时,Nginx会启动一个新的主进程,然后让旧的主进程优雅地关闭,同时新的主进程接管旧进程的工作。
重新加载不会中断现有的连接和正在处理的请求,因此对用户的影响最小。
重新加载操作通常用于更新配置文件而不影响当前服务。

相关服务文件

在这里插入图片描述

Nginx服务主配置文件

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

配置文件详解

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

实验1

安装好后启动查看进程
在这里插入图片描述
测试:在浏览器中输入nginx服务器ip地址
注意关防火墙
在这里插入图片描述
1.网站静态资源访问
需求:通过域名 www.test.com,可访问到 nginx 服务中指定的主页页面,同时可访问到指定的图片文件及 txt 文档。
首先创建静态资源访问

mkdir -p /data/Nginx

在这里插入图片描述
在 Nginx 中创建主页文件 index.html,并输入内容“hello,openEuler”,具体如下:
在这里插入图片描述
在 Nginx 目录中创建文件 test.txt,并输入内容“hello,Nginx”,具体如下:
在这里插入图片描述
找个图片放到该目录下
在这里插入图片描述
在/etc/nginx/conf.d 目录中创建关于新静态网站的配置文件 static.conf,并配置以下内容:
在这里插入图片描述
检查一下
在这里插入图片描述
正确后重新加载服务–nginx -s reload
浏览器访问
在这里插入图片描述
查看文本
在这里插入图片描述
查看图片
在这里插入图片描述

实验2:虚拟主机配置

基于不同ip,不同端口,不同地址访问
在这里插入图片描述
在这里插入图片描述

1.基于IP
添加两个ip
在这里插入图片描述
在这里插入图片描述
在/etc/nginx/conf.d/下创建一个以conf结尾的文件

server{listen 172.25.250.139:80;server_name localhost;location /{root /data/nginx1;index index.html;}
}
server{listen 172.25.250.140:80;server_name localhost;location /{root /data/nginx2;index index.html;}
}
server{listen 172.25.250.141:80;server_name localhost;location /{root /data/nginx3;index index.html;}
}

在这里插入图片描述
2.基于不同端口
我们先加个IP
在这里插入图片描述
准备工作

[root@localhost data]# mkdir 8{1,2,3}
[root@localhost data]# ll
total 24
drwxr-xr-x 2 root root 4096 Aug  1 10:26 81
drwxr-xr-x 2 root root 4096 Aug  1 10:26 82
drwxr-xr-x 2 root root 4096 Aug  1 10:26 83
drwxr-xr-x 2 root root 4096 Aug  1 10:09 nginx1
drwxr-xr-x 2 root root 4096 Aug  1 10:09 nginx2
drwxr-xr-x 2 root root 4096 Aug  1 10:09 nginx3[root@localhost data]# echo "81" > /data/81/index.html
[root@localhost data]# echo "82" > /data/82/index.html
[root@localhost data]# echo "83" > /data/83/index.html

配置文件

server{listen 172.25.250.142:81;server_name localhost;location /{root /data/81;index index.html;}      
}         
server{  listen 172.25.250.142:82;server_name localhost;location /{root /data/82;index index.html;} 
}   
server{listen 172.25.250.142:83;server_name localhost; location /{root /data/83;index index.html;}
}

在这里插入图片描述
基于不同地址
在这里插入图片描述

server{listen 172.25.250.139:80;server_name www.hehe.com;location /{root /data/hehe;index index.html;}       
}        
server{   listen 172.25.250.139:80;server_name www.haha.com;location /{ root /data/haha;index index.html; }
}
server{listen 172.25.250.139:80;server_name www.xixi.com;location /{root /data/xixi;index index.html;} 
}

修改本地hosts
就可以访问

3.访问控制

顺序很重要,最严格的规则放在前面
1.基于ip

指令
allow 允许
deny 拒绝

我们先创建五个主机
在这里插入图片描述

主机名IP
node1172.25.250.139/24
node2172.25.250.140/24
node3172.25.250.142/24
node4172.25.250.141/24
node5172.25.250.143/24

我们拒绝node2访问

配置文件

server{listen 80;server_name locahost;location /{root /data/nginx;index index.html;deny 172.25.250.140;allow 172.25.250.0/24;deny all;}
}

我们可以得到
node2
在这里插入图片描述
其他
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 注意!!!!顺序 :从上至下逐条匹配,一旦匹配后面就不管了

2.基于http的基本认证

auth_basic
auth_basic_user_file

编写规则

server{listen 80;server_name locahost;location /{root /data/nginx;index index.html;auth_basic "my site";auth_basic_user_file /data/nginx/.userpwd;}
}

下载httpd-tools
在这里插入图片描述
重启测试
在这里插入图片描述
输入密码后,正常访问
在这里插入图片描述
负载均衡留到后面,集群复习

相关文章:

复习Nginx

1.关于Nginx Nginx的关键特性 1.支持高并发 2.内存资源消耗低 3.高扩展性(模块化设计) 4.高可用性(master-worker) Nginx运行架构 注意 默认情况下,Nginx会创建和服务器cpu核心数量相等的worker进程 worker进程之间…...

nvm:Node.js 版本管理工具

nvm(Node Version Manager)是一个用于管理多个 Node.js 版本的工具,它允许你在同一个系统上安装和使用不同版本的 Node.js。这对于开发者来说非常有用,特别是当不同的项目需要不同版本的 Node.js 时。 以下是 nvm 的一些主要特性…...

springboot校园商店配送系统-计算机毕业设计源码68448

摘要 本文详细阐述了基于Spring Boot框架的校园商店配送系统的设计与实现过程。该系统针对校园内的用户需求,整合了用户注册与登录、商品浏览与购买、订单管理、配送追踪、用户反馈收集以及后台管理等功能,为校园内的普通用户、商家、配送员和管理员提供…...

【Redis 初阶】客户端(C++ 使用样例列表)

一、编写 helloworld 需要先使用 redis-plus-plus 连接一下 Redis 服务器,再使用 ping 命令检测连通性。 1、Makefile Redis 库最多可以支持到 C17 版本。(如果是用 Centos,需要注意 gcc/g 的版本,看是否支持 C17。不支持的话&a…...

【STM32】STM32单片机入门

个人主页~ 这是一个新的系列,stm32单片机系列,资料都是从网上找的,主要参考江协科技还有正点原子以及csdn博客等资料,以一个一点没有接触过单片机但有一点编程基础的小白视角开始stm32单片机的学习,希望能对也没有学过…...

学生信息管理系统(Python+PySimpleGUI+MySQL)

吐槽一下 经过一段时间学习pymysql的经历,我深刻的体会到了pymysql的不靠谱之处; 就是在使用int型传参,我写的sql语句中格式化%d了之后,我在要传入的数据传递的每一步的去强制转换了,但是他还是会报错,说我…...

Java8.0标准之重要特性及用法实例(十九)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列…...

Linux系统中,`buffer`和`cache` 区别

在Linux系统中,buffer和cache都是操作系统用来提高磁盘I/O性能的机制,它们通过将数据暂存于内存中来减少对磁盘的直接访问。尽管它们的目的相似,但它们在实现和用途上有所不同。 Buffer 定义:buffer主要用于存储即将被写入磁盘的…...

python创建进度条的两个手搓方法

# 使用\b 回删进行手搓 import sys,time for i in range(1, 101):# 这里的10代表你的进度: 一个汉字2字节print(你的进度:,str(i)\b*(i10),flushTrue,end)time.sleep(0.5) # 利用\r手搓 import sys,time for i in range(1, 101):# \r光标回到开头print("\r", end&qu…...

JAVA—面向对象编程基础

面向对象是java编程的套路。更符合人类思维习惯,编程更直观。面向对象有三大特征:封装,继承,多态。 目录 1.理解面向对象 2.对象在计算机中的执行原理 3.类和对象的一些注意事项 4.类与对象的一些语法知识 (1&am…...

【计算机视觉学习之CV2图像操作实战:车道识别1】

车道识别 步骤 区域感兴趣高斯模糊图片灰度化边缘提取膨胀腐蚀中值滤波霍夫圆环检测直线绘制车道 import cv2 import numpy as npdef create_roi_mask(frame):height, width frame.shape[:2]# 三角形的顶点top_vertex [int(width / 2 30), int(height * 0.5 30)]bottom_l…...

动态之美:Laravel动态路由参数的实现艺术

动态之美:Laravel动态路由参数的实现艺术 在Web开发中,路由是应用程序的神经系统,它负责将请求映射到相应的处理逻辑。Laravel框架提供了一种强大而灵活的路由系统,允许开发者定义动态路由参数,从而创建更具动态性和可…...

Python练手小项目

计算器 创建一个简单的计算器,能够进行加、减、乘、除四种基本运算。 # 定义加法函数 def add(x, y):return x y# 定义减法函数 def subtract(x, y):return x - y# 定义乘法函数 def multiply(x, y):return x * y# 定义除法函数 def divide(x, y):if y 0:return…...

苹果手机通讯录恢复教程?3招速成指南

随着科技的不断进步,手机丢失、系统崩溃等意外情况也时有发生,一旦这些情况发生,我们宝贵的通讯录资料很可能会付诸东流。对此,本文为广大苹果手机用户提供一份简洁明了的通讯录恢复教程,让你轻松掌握苹果手机通讯录恢…...

python爬虫入门(五)之Re解析

一、什么是Re解析 “Re解析”是指使用正则表达式(regular expression,简称regex)进行文本解析或匹配的过程。 解析网页内容的三种方式: 1、bs4解析(最简单) 2、re解析(解析速度最快&#xf…...

可靠的图纸加密软件,七款图纸加密软件推荐

大家好啊,我是小固,今天跟大家聊聊图纸加密软件。 作为一名设计师,我深知保护自己的知识产权有多重要。曾经就因为图纸泄露,差点血本无归,那个教训可真是惨痛啊!所以我今天就给大家推荐几款靠谱的图纸加密软件,希望能帮到你们。 固信软件https://www.gooxion.com/ 首先要隆重…...

【每日一题】【最短路】【BFS】小红走矩阵 “葡萄城杯”牛客周赛 Round 53 F题 C++

“葡萄城杯”牛客周赛 Round 53 F题 小红走矩阵 题目背景 “葡萄城杯”牛客周赛 Round 53 题目描述 n m n\times m nm的矩阵由障碍和空地组成,初始时小红位于起点 ( 1 , 1 ) (1,1) (1,1),她想要前往终点 ( n , m ) (n,m) (n,m)。小红每一步可以往上…...

无线磁吸充电宝哪个牌子值得入手?什么牌子磁吸充电宝性价比高?

在当下科技日新月异的时期,无线磁吸充电宝成为了众多电子设备用户的得力助手。然而,面对市场上众多品牌和型号的无线磁吸充电宝,消费者常常陷入选择的困境:到底哪个牌子值得入手?什么牌子的磁吸充电宝性价比高&#xf…...

互联网摸鱼日报(2024-08-01)

互联网摸鱼日报(2024-08-01) 36氪新闻 氪星晚报 | Uber与比亚迪合作,将在平台上增加10万辆电动汽车;维维股份将收购大窑汽水?公司回应:消息不实;我国科学家取得全固态锂电池研究新突破 《死侍与金刚狼》,…...

Alpla003经典的价量背离的因子在可转债列表里的因子分析(附python代码)

原创文章第605篇,专注“AI量化投资、世界运行的规律、个人成长与财富自由"。 遗传算法给出的因子五花八门,可解释性不高。 强化学习原理不同,但结果类似。 大模型之前咱们尝试过,Quantlab3.9代码:内置大模型LL…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂

蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)

宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

Razor编程中@Html的方法使用大全

文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...

【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制

目录 节点的功能承载层(GATT/Adv)局限性: 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能,如 Configuration …...

【C++】纯虚函数类外可以写实现吗?

1. 答案 先说答案&#xff0c;可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...

rknn toolkit2搭建和推理

安装Miniconda Miniconda - Anaconda Miniconda 选择一个 新的 版本 &#xff0c;不用和RKNN的python版本保持一致 使用 ./xxx.sh进行安装 下面配置一下载源 # 清华大学源&#xff08;最常用&#xff09; conda config --add channels https://mirrors.tuna.tsinghua.edu.cn…...

[USACO23FEB] Bakery S

题目描述 Bessie 开了一家面包店! 在她的面包店里&#xff0c;Bessie 有一个烤箱&#xff0c;可以在 t C t_C tC​ 的时间内生产一块饼干或在 t M t_M tM​ 单位时间内生产一块松糕。 ( 1 ≤ t C , t M ≤ 10 9 ) (1 \le t_C,t_M \le 10^9) (1≤tC​,tM​≤109)。由于空间…...