复习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 |
|---|---|
| node1 | 172.25.250.139/24 |
| node2 | 172.25.250.140/24 |
| node3 | 172.25.250.142/24 |
| node4 | 172.25.250.141/24 |
| node5 | 172.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解析(解析速度最快…...
可靠的图纸加密软件,七款图纸加密软件推荐
大家好啊,我是小固,今天跟大家聊聊图纸加密软件。 作为一名设计师,我深知保护自己的知识产权有多重要。曾经就因为图纸泄露,差点血本无归,那个教训可真是惨痛啊!所以我今天就给大家推荐几款靠谱的图纸加密软件,希望能帮到你们。 固信软件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)。小红每一步可以往上…...
无线磁吸充电宝哪个牌子值得入手?什么牌子磁吸充电宝性价比高?
在当下科技日新月异的时期,无线磁吸充电宝成为了众多电子设备用户的得力助手。然而,面对市场上众多品牌和型号的无线磁吸充电宝,消费者常常陷入选择的困境:到底哪个牌子值得入手?什么牌子的磁吸充电宝性价比高…...
互联网摸鱼日报(2024-08-01)
互联网摸鱼日报(2024-08-01) 36氪新闻 氪星晚报 | Uber与比亚迪合作,将在平台上增加10万辆电动汽车;维维股份将收购大窑汽水?公司回应:消息不实;我国科学家取得全固态锂电池研究新突破 《死侍与金刚狼》,…...
Alpla003经典的价量背离的因子在可转债列表里的因子分析(附python代码)
原创文章第605篇,专注“AI量化投资、世界运行的规律、个人成长与财富自由"。 遗传算法给出的因子五花八门,可解释性不高。 强化学习原理不同,但结果类似。 大模型之前咱们尝试过,Quantlab3.9代码:内置大模型LL…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...
Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...
【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合
在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…...
JavaScript 数据类型详解
JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...
LangChain 中的文档加载器(Loader)与文本切分器(Splitter)详解《二》
🧠 LangChain 中 TextSplitter 的使用详解:从基础到进阶(附代码) 一、前言 在处理大规模文本数据时,特别是在构建知识库或进行大模型训练与推理时,文本切分(Text Splitting) 是一个…...
高分辨率图像合成归一化流扩展
大家读完觉得有帮助记得关注和点赞!!! 1 摘要 我们提出了STARFlow,一种基于归一化流的可扩展生成模型,它在高分辨率图像合成方面取得了强大的性能。STARFlow的主要构建块是Transformer自回归流(TARFlow&am…...
React父子组件通信:Props怎么用?如何从父组件向子组件传递数据?
系列回顾: 在上一篇《React核心概念:State是什么?》中,我们学习了如何使用useState让一个组件拥有自己的内部数据(State),并通过一个计数器案例,实现了组件的自我更新。这很棒&#…...
