首页 > 系统相关 >云计算学习架构篇之HTTP协议、Nginx常用模块与Nginx服务实战

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

时间:2024-12-29 13:01:46浏览次数:8  
标签:rsync HTTP 模块 backup Nginx ssh web01 IP root

一.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

二.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匹配规则

标签:rsync,HTTP,模块,backup,Nginx,ssh,web01,IP,root
From: https://blog.csdn.net/qq_27302885/article/details/144795191

相关文章

  • 如何开启强制HTTPS跳转并确保兼容HTTP访问?
    您好,为了确保您的网站能够强制跳转到HTTPS协议并兼容HTTP访问,您可以按照以下步骤进行设置:理解强制HTTPS跳转的作用:强制HTTPS跳转意味着所有通过HTTP协议访问的请求都会自动重定向到HTTPS协议。这样可以提高网站的安全性和用户体验。同时,确保HTTP和HTTPS之间的兼容性非常重要,......
  • python | Python中的functools模块高级应用
    本文来源公众号“python”,仅用于学术分享,侵权删,干货满满。原文链接:Python中的functools模块高级应用functools模块是Python标准库中专门用于操作和增强函数行为的一个模块,提供了许多强大且实用的工具函数,如装饰器、函数缓存、偏函数和排序等功能。在处理复杂的函数逻辑时,func......
  • [Java/网络/HTTP(S)] 基于`Http(s)URLConnection`的网络请求工具(HttpRequestUtils)
    1序轻量级HTTP网络请求工具,接续:[JavaSE/JDK/网络]核心源码精讲:java.net.HttpURLConnection-博客园/千千寰宇[身份认证/JWT]身份认证方案与HTTP请求中AuthorizationHeader-博客园/千千寰宇【推荐】[网络/HTTPS/Java]PKI公钥基础设施体系:数字证书(X.509)、CA机构......
  • HTTP 服务中的签名功能
    HTTP服务中的签名功能签名功能是通过对请求的数据或参数进行加密签名,验证请求的完整性和真实性,常用于保障HTTP服务的安全性。它确保数据未被篡改,同时也验证了请求的来源。签名功能的核心作用身份验证:确保请求确实来自合法的客户端(通常结合API密钥或私钥)。防篡改:......
  • [Wireshark] 使用Wireshark抓包https数据包并显示为明文、配置SSLKEYLOGFILE变量(附下
    wireshark下载链接:https://pan.quark.cn/s/eab7f1e963be提取码:rRAg链接失效(可能会被官方和谐)可评论或私信我重发chrome与firefox在访问https网站的时候会将密钥写入这个环境变量SSLKEYLOGFILE中,在wireshark中设置就可以解析https变量配置环境变量先创建文件ssl.log,点击......
  • 玩转Nginx:从入门到精通(四)
    1.上节回顾在上一节中,我们学习了Nginx的高级功能,包括动静分离与缓存配置、SSL/TLS与HTTPS的实现、负载均衡与健康检查,以及限速和访问控制的应用。这些功能使Nginx在复杂网络场景中的应用更加灵活与高效。本节将进一步探讨Nginx的性能优化,帮助你掌握在高并发场景下提升系统性......
  • https://lalrpop.github.io/lalrpop/lexer_tutorial/003_writing_custom_lexer.html
    https://lalrpop.github.io/lalrpop/lexer_tutorial/003_writing_custom_lexer.html这是lalrpop官方教程的一篇文章,你言简意赅的总结一下主要讲的是什么UUUUUUUUUUUUUUUUUUUUUU这篇文章详细介绍了如何在LALRPOP中编写自定义的词法分析器(lexer),以便更精确地控制输入的标记化......
  • apache和nginx有什么区别?
    Apache和Nginx在前端开发中的主要区别体现在性能、资源消耗、并发处理能力、静态文件处理、配置简洁性、以及模块化和扩展性等多个方面。以下是详细的对比分析:性能和资源消耗:Nginx是一个轻量级的Web服务器,采用C语言编写,相同的Web服务下,Nginx会占用更少的内存及资源。Apache......
  • Python Pyglet 3D模块(1)
    一.Pyglet库介绍、安装以及导入大家好啊,今天我们就来到一起新的课程,在这次课程里,我们需要用python的第三方模块pyglet模块制作各种3D场景,以及到最后的Minecraft。首先是安装pyglet库,这里如果有conda或anaconda直接用conda或anaconda窗口去安装即可:condainstallpyglet==1.2......
  • RT-DETR融合[IJCV2024]LSKNet中的LSKBlock模块
    RT-DETR使用教程: RT-DETR使用教程RT-DETR改进汇总贴:RT-DETR更新汇总贴《LargeSelectiveKernelNetworkforRemoteSensingObjectDetection》一、模块介绍    论文链接:https://arxiv.org/pdf/2303.09030    代码链接:https://github.com/zcab......