复习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…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...

Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...

Qemu arm操作系统开发环境
使用qemu虚拟arm硬件比较合适。 步骤如下: 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载,下载地址:https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...
【Elasticsearch】Elasticsearch 在大数据生态圈的地位 实践经验
Elasticsearch 在大数据生态圈的地位 & 实践经验 1.Elasticsearch 的优势1.1 Elasticsearch 解决的核心问题1.1.1 传统方案的短板1.1.2 Elasticsearch 的解决方案 1.2 与大数据组件的对比优势1.3 关键优势技术支撑1.4 Elasticsearch 的竞品1.4.1 全文搜索领域1.4.2 日志分析…...
Vue 模板语句的数据来源
🧩 Vue 模板语句的数据来源:全方位解析 Vue 模板(<template> 部分)中的表达式、指令绑定(如 v-bind, v-on)和插值({{ }})都在一个特定的作用域内求值。这个作用域由当前 组件…...