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

news2025/1/5 8:07:30

一.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://www.coloradmin.cn/o/2269842.html

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

相关文章

【项目】智能BI洞察引擎 测试报告

目录 一、项目背景BI介绍问题分析项目背景 二、项目功能三、功能测试1、登录测试测试用例测试结果 2、注册测试测试用例测试结果出现的bug 3、上传文件测试测试用例测试结果 4、AI生成图表测试测试用例测试结果 5、分析数据页面测试(异步)测试用例测试结…

权限菜单之菜单管理 SpringBoot + VUE

一、 数据表设计 新建表sys_menu 表内数据 添加实体类Menu package com.example.demo.demos.web.demo.entity;import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.Ta…

【AIGC篇】AIGC 引擎:点燃创作自动化的未来之火

:羑悻的小杀马特.-CSDN博客 未来都是惊喜。你生来本应为高山。并非草芥。 引言: 在当今数字化的时代,人工智能生成内容(AIGC)正以一种前所未有的力量改变着我们的创作领域。它就像一个神秘而强大的魔法师,…

UnityRenderStreaming使用记录(三)

测试UnityRenderStreaming在Ubuntu24.04.1LTS上的表现 先放上运行图操作系统 Ubuntu24.04.1LTSUnity测试工程环境相关修改遇到的问题 先放上运行图 操作系统 Ubuntu24.04.1LTS 系统下载地址 https://cn.ubuntu.com/download/desktop安装UnityHub https://blog.csdn.net/AWNUXC…

从0开始的docker镜像制作-ubuntu22.04

从0开始的docker镜像制作-ubuntu22.04 一、拉取基础ubuntu22.04镜像二、进入拉取的docker镜像中,下载自己需要的安装包三、安装需要的系统软件四、打包现有镜像为一个新的镜像五、推送打包的镜像到私有docker服务器1.编辑docker文件,使其允许http传输和对…

多模态论文笔记——CogVLM和CogVLM2(副)

大家好,这里是好评笔记,公主号:Goodnote,专栏文章私信限时Free。本文详细介绍多模态模型的LoRA版本——CogVLM和CogVLM2。在SD 3中使用其作为captioner基准模型的原因和优势。 文章目录 CogVLM论文背景VLMs 的任务与挑战现有方法及…

gitlab-runner的卸载与安装

如果你使用rpm方式安装gitlab-runner,则可以参考本教程。 卸载 停止和卸载gitlab-runner 停止 gitlab-runner stopchkconfig gitlab-runner off卸载 gitlab-runner uninstall删除rpm包 查询出rpm包名,根据包名删除rpm。 [rootEuler02 ~]# rpm -qa …

Nacos配置中心总结

Nacos配置中心总结 Nacos配置文件的加载顺序和优先级 加载顺序 nacos作为配置中心时,需要在bootstrap.yml文件中添加nacos config相关的配置,这样系统启动时就能先去拉取nacos server上的配置了。拉取过来后会和本地配置文件进行合并。 bootstrap.ym…

赛博周刊·2024年度工具精选(图片资源类)

1、EmojiSpark emoji表情包查找工具。 2、fluentui-emoji 微软开源的Fluent Emoji表情包。 3、开源Emoji库 一个开源的emoji库,目前拥有4000个emoji表情。 4、中国表情包大合集博物馆 一个专门收集中国表情包的项目,已收录5712张表情包,并…

Goland:专为Go语言设计的高效IDE

本文还有配套的精品资源,点击获取 简介:Goland是JetBrains公司开发的集成开发环境(IDE),专为Go语言设计,提供了高效的代码编辑、强大的调试工具和丰富的项目管理功能。其智能代码补全、强大的调试与测试支…

小程序发版后,用户使用时,强制更新为最新版本

为什么要强制更新为最新版本? 在小程序的开发和运营过程中,强制用户更新到最新版本是一项重要的策略,能够有效提升用户体验并保障系统的稳定性与安全性。以下是一些主要原因: 1. 功能兼容 新功能或服务通常需要最新版本的支持&…

EasyExcel(环境搭建以及常用写入操作)

文章目录 EasyExcel环境搭建1.创建模块 easyexcel-demo2.引入依赖3.启动类创建 EasyExcel写1.最简单的写入1.模板2.方法3.结果 Write01.xlsx 2.指定字段不写入Excel1.模板2.方法3.结果 Write02.xlsx 3.指定字段写入excel1.模板2.方法3.结果 Write03.xlsx 4.按照index顺序写入ex…

典型常见的基于知识蒸馏的目标检测方法总结三

来源:Google学术2023-2024的顶会顶刊论文 NeurIPS 2022:Towards Efficient 3D Object Detection with Knowledge Distillation 为3D目标检测提出了一种知识蒸馏的Benchmark范式,包含feature的KD,Logit的cls和reg的KD&#xff0c…

通过Dockerfile来实现项目可以指定读取不同环境的yml包

通过Dockerfile来实现项目可以指定读取不同环境的yml包 1. 挂载目录2. DockerFile3. 运行脚本deploy.sh4. 运行查看日志进入容器 5. 接口测试修改application-dev.yml 6. 优化Dockerfile7. 部分参数解释8. 优化不同环境下的日志也不同调整 Dockerfile修改部署脚本 deploy.sh重新…

开源的go语言统一配置中心 - nacos + nacos go sdk

配置文件实时更新机制的场景需求 配置文件热更新主要应用于需要在不停机的情况下动态调整系统行为的场景,例如修改服务参数、切换数据源等。其原理在于通过一个中心化的管理平台来存储和分发最新的配置信息。当配置文件发生变化时,该平台会主动或被动地…

对45家“AI+安全”产品/方案的分析

一. 关键洞察 “AI+安全”创新非常活跃,一片百家争鸣之势,赛道选择上,以事件分诊Incident Triage、 安全辅助Security Copilots、自动化Automation三者为主为主,这充分反映了当前安全运营的主要需求,在产品理念选择上以 AI 和 自动化为主,这确实又切合上了在关键…

GESP202412 三级【数字替换】题解(AC)

》》》点我查看「视频」详解》》》 [GESP202412 三级] 数字替换 题目描述 小杨有一个包含 n n n 个数字的序列 A A A,即 A [ a 1 , a 2 , … , a n ] A[a_1,a_2,\ldots,a_n] A[a1​,a2​,…,an​],他想将其中大于 k k k 的数字都替换为序列的最大…

springboot集成websokcet+H5开发聊天原型(二)

本文没有写完~~~~ 聊天相关数据结构&#xff1a; 我们初步设计了如下几个数据结构。 //存放 sessionId 与 userId 的map private Map<String,String> sessionId_userId new HashMap<>(); // 用于存储用户与群组的关联关系&#xff0c;键为用户ID&#xff0c;值…

List接口(源码阅读)

文章目录 1.List接口常用方法1.代码2.结果 2.ArrayList底层机制1.结论2.ArrayList底层源码1.代码2.debug添加第一个元素1.进入2.elementData数组存储ArrayList的数据3.初始化为空数组4.首先确保使用size1来计算最小容量5.如果elementData为空&#xff0c;最小容量就是106.modCo…

Python爬虫(一)- Requests 安装与基本使用教程

文章目录 前言一、简介及安装1. 简介2. 安装 Requests2.1 安装2.2 检查安装是否成功 二、使用 Requests 发送 HTTP 请求1. 发送 GET 请求2. 发送 POST 请求3. 发送 PUT 请求4. 发送 DELETE 请求5. 发送 HEAD 请求6. 发送 OPTIONS 请求 三、传递参数1. GET 请求传递 URL 参数1.1…