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

云计算学习架构篇之HTTP协议、Nginx常用模块与Nginx服务实战

一.HTTP协议讲解

1.1rsync服务重构

```bash 部署服务端: 1.安装服务 [root@backup ~]# yum -y install rsync

2.配置服务 [root@backup ~]# vim /etc/rsyncd.conf uid = rsync gid = rsync port = 873 fake super = yes use chroot = no max connections = 200 timeout = 600 ignore errors read only = false list = false auth users = rsync_backup secrets file = /etc/rsync.passwd log file = /var/log/rsyncd.log

[backup] path = /backup

3.配置必要的数据 创建用户 [root@backup ~]# useradd -M -s /sbin/nologin rsync

创建密码文件并授权为600 [root@backup ~]# echo rsync_backup:123456 >/etc/rsync.passwd [root@backup ~]# chmod 600 /etc/rsync.passwd

创建目录并修改属主属组为rsync [root@backup ~]# mkdir /backup [root@backup ~]# chown rsync.rsync /backup/

4.启动rsync服务 [root@backup ~]# systemctl start rsyncd [root@backup ~]# systemctl enable rsyncd

客户端使用 [root@web01 ~]# mkdir /server/scripts -p

[root@web01 scripts]# cat backup.sh

!/bin/bash

1.创建以主机名称和IP和时间命名的目录

dir=hostnamehostname -I|awk '{print $2}'date +%F mkdir -p /opt/$dir

2.打包重要的数据放到已创好的目录中

tar zcf /opt/$dir/code.tar.gz /etc/passwd /etc/hosts &>/dev/null

3.将目录推送到backup服务器的backup模块

export RSYNCPASSWORD=123456 rsync -avz /opt/$dir rsyncbackup@10.0.0.41::backup &>/dev/null

写入定时任务测试 [root@web01 ~]# tail -1 /etc/crontab * * * * * root sh /server/scripts/backup.sh ``

1.2NFS服务

1.3lsync服务

1.4SSH基于秘钥方式连接

``bash 远程连接 windows连接linux命令

linux连接linux ssh ip

基于用户名和密码的方式远程连接 ssh root@10.0.0.31

ssh基于秘钥的方式远程连接

```

```bash web01免秘钥连接nfs服务器 第一步: web01生成秘钥对 [root@web01 ~]# ssh-keygen # 一路回车即可 Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/idrsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/idrsa Your public key has been saved in /root/.ssh/id_rsa.pub The key fingerprint is: SHA256:Myktf2IVel+ed3n5wZ8CHz7n87eO3xIL1VRPzXrwIqA root@web01 The key's randomart image is: +---[RSA 3072]----+ | .=| | . ..=| | ... *.| | .Eo .. + +| | o S o o.o | | + = o.+o.o| | + . =.+B+| | . o =++X| | .BBX| +----[SHA256]-----+

第二步: 查看秘钥对 [root@web01 ~]# ll .ssh/ total 12 -rw------- 1 root root 2590 Dec 5 10:42 idrsa -rw-r--r-- 1 root root 564 Dec 5 10:42 idrsa.pub

第三步: 将公钥拷贝到10.0.0.31 [root@web01 ~]# ssh-copy-id 10.0.0.31 中间需要输入31服务器的密码

第四步: ssh远程面秘钥连接 [root@web01 ~]# ssh 10.0.0.31

[root@nfs ~]# ll .ssh/ total 8 -rw------- 1 root root 564 Dec 5 10:45 authorized_keys ```

1.5WINDOWS免密连接web01

SSH远程连接注意事项

```bash 所有目录的权限必须正确: [root@nfs ~]# ll -d / # 根目录555 dr-xr-xr-x. 21 root root 276 Dec 5 10:30 / [root@nfs ~]# ll -d /root # 家目录权限为550 dr-xr-x--- 4 root root 154 Dec 5 10:30 /root [root@nfs ~]# ll -d .ssh # .ssh存放公钥和秘钥的目录 700 drwx------ 2 root root 48 Dec 5 10:45 .ssh [root@nfs ~]# ll .ssh/ #存放公钥的文件必须为600 total 8 -rw------- 1 root root 1129 Dec 5 10:48 authorized_keys

私钥的权限: 600 [root@web01 ~]# ll .ssh/ total 12 -rw------- 1 root root 2590 Dec 5 10:42 idrsa -rw-r--r-- 1 root root 564 Dec 5 10:42 idrsa.pub

```

远程连接案例

bash 需求: 1.xshell通过免秘钥连接10.0.0.7 2.nfs和backup都关闭公网网卡ens33 只留下172.16.1段 3.通过web01作为跳板机连接 backup和nfs服务器

第一步:xshell生成秘钥对

xshell-->工具-->新建生成秘钥向导

第二步: 将生成的公钥写入到web01服务器

```bash [root@web01 ~]# vim .ssh/authorizedkeys # 将公钥粘贴到此文件中 [root@web01 ~]# ll .ssh/authorizedkeys -rw-r--r-- 1 root root 381 Dec 5 11:25 .ssh/authorizedkeys [root@web01 ~]# chmod 600 .ssh/authorizedkeys # 授权为600 [root@web01 ~]# ll .ssh/authorizedkeys -rw------- 1 root root 381 Dec 5 11:25 .ssh/authorizedkeys

```

第三步:windows使用秘钥连接服务器

bash 修改ssh配置文件禁止root和密码登录 [root@web01 ~]# awk 'NR==66' /etc/ssh/sshd_config PasswordAuthentication no [root@web01 ~]# systemctl restart sshd

在尝试远程连接登录

通过WEB01和nfs及backup服务器做免秘钥

```bash 第一步: web01生成秘钥对 [root@web01 ~]# ssh-keygen 第二步: 将公钥拷贝到 172.16.1.31和41

1.6web和后端做免密钥

通过WEB01和nfs及backup服务器做免秘钥

```bash 第一步: web01生成秘钥对 [root@web01 ~]# ssh-keygen 第二步: 将公钥拷贝到 172.16.1.31和41

1.7SSH远程执行命令

拷贝的过程中要31和41的root密码

[root@web01 ~]# ssh-copy-id 10.0.0.31 [root@web01 ~]# ssh-copy-id 172.16.1.41

第三步: 远程连接登录测试 [root@web01 ~]# ssh 172.16.1.41

```

有需要时候可以优化登录配置

```bash 每次连接31和41都要先连接web01才可以。麻烦 设置登录脚本自动连接到31和41即可

``

```bash 上午重点: RSYNC 作用 搭建使用 客户端如何使用 NFS 网站常用 云服务器 NAS 网站数据一致性 lsync 实时同步工具+rsync使用

SSH远程连接 linux连接linux linux免秘钥连接如何做

扩展远程执行命令: [root@web01 ~]# ssh 10.0.0.31 'touch /root/1.txt' ```

1.8HTTP请求协议

1.9http请求头部信息

HTTP重点: DNS解析流程 TCP三次握手 HTTP请求头部 HTTP响应头部 TCP四次挥手

HTTP常见状态码 IP PV UV 概念 ```

1.10HTTP状态码

HTTP请求标头 accept: image/avif,image/webp,image/apng # 请求的资源类型 accept-encoding: gzip, deflate # 使用gzip进行压缩 accept-language: zh-CN,zh;q=0.9,en;q=0.8 # 请求的语言 cache-control: no-cache # 当前的页面是否被缓存 connection: keep-alive # 长连接 默认使用http1.1协议 1.0短连接 2.0为并发连接 host: 10.0.0.7 # 请求的主机 pragma: no-cache # 是否缓存 referer: http://10.0.0.7/ # 来源页面 user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0 # 客户端

HTTP响应标头 accept-ranges: bytes # 响应长度字节 connection: keep-alive # 响应长连接 content-length: 368 # 资源的大小 content-type: image/png # 响应的资源类型 date: Thu, 05 Dec 2024 08:05:19 GMT # 响应时间 etag: "66ed190e-170" # 缓存相关 last-modified: Fri, 20 Sep 2024 06:41:18 GMT # 缓存 server: nginx/1.21.5 # 响应服务版本

GMT,即格林尼治标准时间,是零时区的时间。 北京时间,位于中国标准时间(CST),比GMT快8小时,即UTC+8

HTTP状态码 200 OK:请求成功。 201 Created:请求已经成功,并因此创建了一个新的资源。 202 Accepted:请求已被接受,但还未处理。 203 Non-Authoritative Information:服务器已成功处理了请求,但返回的信息可能来自另一个来源。

1.11IP-PV-UV

P(Internet Protocol)独立IP数,是指1天内多少个独立的IP浏览了页面,即统计不同的IP浏览用户数量。同一IP不管访问了几个页面,独立IP数均为1;不同的IP浏览页面,计数会加1。 IP是基于用户广域网IP地址来区分不同的访问者的,所以,多个用户(多个局域网IP)在同一个路由器(同一个广域网IP)内上网,可能被记录为一个独立IP访问者。如果用户不断更换IP,则有可能被多次统计。 IP: 公网IP地址

假设公司有一座大厦,大厦有100人,每个人有一台电脑和一部手机,上网都是通过nat转换出口,每个人点击网站2次, 请问对应的pv,uv,ip分别是多少? PV: 100x2x2=400 UV: 100x2=200 IP: 1个IP

你们公司的网站每天PV UV IP 根据业务类型计算 200万PV/100=2万UV 3K-6K公网IP地址

IP.PV.UV介绍 – LINUXNC

1.12阶段小测

二.Nginx常用模块

2.1前三件事情的重要性

2.2nginx服务安装方式

2.3nginx配置文件

2.4nginx-server配置

2.5nginx-代码配置

2.6nginx-基于IP配置多业务

2.7nginx基于多域名配置

三.Nginx服务实战

3.1nginx-索引模块

3.2nginx-登录限制

3.3nginx-状态模块

3.4nginx-IP访问限制

3.5nginx-限制连接数喝请求数

3.6nginx-错误页显示

3.7nginx-location匹配规则

相关文章:

云计算学习架构篇之HTTP协议、Nginx常用模块与Nginx服务实战

一.HTTP协议讲解 1.1rsync服务重构 bash 部署服务端: 1.安装服务 [rootbackup ~]# yum -y install rsync 2.配置服务 [rootbackup ~]# vim /etc/rsyncd.conf uid rsync gid rsync port 873 fake super yes use chroot no max connections 200 timeout 600 ignore erro…...

Zookeeper模式安装Kafka(含常规、容器两种安装方式)

一、#创作灵感# 公司使用Kafka的软件项目较多,故写技术笔记巩固知识要点 二、软件环境 - Kafka 3.9.0 官方下载地址:Kafka 3.9.0 - ZooKeeper 3.9.3 官方下载地址:ZooKeeper 3.9.3 - Docker Desktop 4.37 容器图形化工具 官方下载地址…...

【游戏设计原理】41 - 游戏的核心

1. 如何理解? 这条原理主要在讲述“游戏核心”这一概念的重要性及其在游戏开发中的作用。游戏的核心是指决定游戏整体玩法和体验的核心元素,它通常是游戏的主要机制、目标或动作方式。理解这一原理时,我们可以从以下几个层面来考虑&#xff…...

机器学习算法基础知识1:决策树

机器学习算法基础知识1:决策树 一、本文内容与前置知识点1. 本文内容2. 前置知识点 二、场景描述三、决策树的训练1. 决策树训练方式(1)分类原则-Gini(2)分类原则-entropy(3)加权系数-样本量&am…...

[Qt] 信号和槽(1) | 本质 | 使用 | 自定义

目录 一、信号和槽概述 二、本质 底层实现 1. 函数间的相互调用 2. 类成员中的特殊角色 三、使用 四. 自定义信号和槽 1. 基本语法 (1) 自定义信号函数书写规范 (2) 自定义槽函数书写规范 (3) 发送信号 (4) 示例 A. 示例一 B. 示例二 —— 老师说“上课了”&…...

33. 简易内存池

1、题目描述 ● 请实现一个简易内存池,根据请求命令完成内存分配和释放。 ● 内存池支持两种操作命令,REQUEST和RELEASE,其格式为: ● REQUEST请求的内存大小 表示请求分配指定大小内存,如果分配成功,返回分配到的内存…...

win32汇编环境,对话框程序模版,含文本框与菜单简单功能

;运行效果 ;win32汇编环境,对话框程序模版,含文本框与菜单简单功能 ;直接抄进RadAsm可编译运行。 ;下面为asm文件 ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>&g…...

人工智能与传统编程的主要区别是什么?

传统编程:开发者预先编写软件行为规则,代码基于程序员定义逻辑处理输入并产生确定输出,具有确定性、手动编写规则和结构化逻辑特点,如垃圾邮件分类程序基于预设关键词等规则。AI 编程:从数据中学习而非手动编写规则&am…...

实战交易策略 篇十一:一揽子交易策略

文章目录 系列文章适用条件核心策略小额大量投资行业或主题聚焦同步操作优势系列文章 实战交易策略 篇一:奥利弗瓦莱士短线交易策略 实战交易策略 篇二:杰西利弗莫尔股票大作手操盘术策略 实战交易策略 篇三:333交易策略 实战交易策略 篇四:价值投资交易策略 实战交易策略…...

doris 2.1 -Data Manipulation-Transaction

注意:doris 只能控制读一致性,并不能rollback 1 Explicit and Implicit Transactions 1.1 Explicit Transactions 1.1.1 Explicit transactions require users to actively start, commit transactions. Only insert into values statement is supported in 2.1. BEGIN; …...

多模态融合:阿尔茨海默病检测

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 一、实验介绍 本实验包含 645 名阿尔茨海默病受试者,分为 AD、CN 和 MCI 组,数据集包含 3D MRI 图像与一份CSV数据,MRI数据…...

Ceph 手动部署(CentOS9)

#Ceph手动部署、CentOS9、squid版本、数字版本19.2.0 #部署服务:块、对象、文件 一、部署前规划 1、兼容性确认 2、资源规划 节点类型节点名称操作系统CPU/内存硬盘网络组件安装集群节点CephAdm01CentOS94U/8GOS:40G,OSD:2*100GIP1:192.169.0.9(管理&集群),IP2:…...

家政预约小程序05活动管理

目录 1 搭建活动管理页面2 搭建活动规则页面3 搭建规则新增页面3 配置规则跳转4 搭建活动参与记录总结 上一篇我们介绍了活动管理的表结构设计,本篇我们介绍一下后台功能。 1 搭建活动管理页面 我们一共搭建了三个表,先搭建主表的后台功能。打开我们的后…...

解决安装pynini和WeTextProcessing报错问题

点击这里,访问博客 0. 背景 最近在给别人有偿部署ASR-LLM-TTS项目时遇到安装pynini和WeTextProcessing依赖报错的问题,报错信息如下: IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt" "-IC:\Program Files…...

【PCIe 总线及设备入门学习专栏 4.1 -- PCI 总线的地址空间分配】

文章目录 Overview 本文转自:https://blog.chinaaet.com/justlxy/p/5100053219 Overview PCI 总线具有32位数据/地址复用总线,所以其存储地址空间为 2324GB。也就是PCI上的所有设备共同映射到这4GB上,每个PCI设备占用唯一的一段PCI地址&…...

华为配置 之 RIP

简介: RIP(路由信息协议)是一种广泛使用的内部网关协议,基于距离向量算法来决定路径。它通过向全网广播路由控制信息来动态交换网络拓扑信息,从而计算出最佳路由路径。RIP易于配置和理解,非常适用于小型网络…...

探寻AI Agent:开启知识图谱自动生成新篇章(17/30)

一、AI Agent 与知识图谱:智能时代的双雄 在当今科技飞速发展的时代,人工智能如同一股汹涌澎湃的浪潮,正以前所未有的力量重塑着我们的世界。而在这股浪潮中,AI Agent 与知识图谱无疑是两颗最为璀璨的明珠,它们各自发挥…...

卸载wps后word图标没有变成白纸恢复

这几天下载了个wps教育版,后头用完了删了 用习惯的2019图标 给兄弟我干没了??? 其他老哥说什么卸载关联重新下 ,而且还要什么撤销保存原来的备份什么,兄弟也是不得不怂了 后头就发现了这个半宝藏博主&…...

LeetCode 热题 100_二叉树的直径(40_543_简单_C++)(二叉树;递归)

LeetCode 热题 100_二叉树的直径(40_543) 题目描述:输入输出样例:题解:解题思路:思路一(递归): 代码实现代码实现(思路一(递归)&#…...

【数据结构】线性数据结构——链表

1. 定义 链表是一种线性数据结构,由多个节点(Node)组成。每个节点存储数据和指向下一个节点的指针。与数组不同,链表的节点不需要在内存中连续存储。 2. 特点 动态存储: 链表的大小不固定,可以动态增加或…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...

AtCoder 第409​场初级竞赛 A~E题解

A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率&#xff0c…...

ip子接口配置及删除

配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)

在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马(服务器方面的)的原理,连接,以及各种木马及连接工具的分享 文件木马:https://w…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP

编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...