自动化配置

自动化配置共享目录

nfs:共享某个目录,共享给哪些客户端,rw(读写)——rwx(给目录权限设置),ro(只读)

写脚本

1、装包

可以调用仓库之前装包的脚本

(1)用户输入共享的目录名字

(2)用户输入客户端的网络和IP地址

(3)用户输入共享的权限

(4)判断前三个任意一个为空,就输出信息,并返回状态码为1

#1

如果安装成功,配置config exports,即将用户输入的信息追(注意可以设置)加到/etc/exports中

如果安装失败,输出echo,并且返回状态码为1;如果装过了返回的是0

2、创建目录并且设置权限

(1)可以写if判断目录是否存在,也可以写-p不判断,就创建(目录存在,就创建,不存在就一层一层创建);

(2)给其他人设置权限;或者写一个if判断mode==ro,就给共享的目录设置为755,如果mode==rw,就给共享的目录文件设置为757

3、重启服务

(1)重启并追加到黑洞中

!(3)nfs中的特殊重启

(2)if判断返回的状态码是0,就重启成功并且切出IP;否则输出重启失败;

查看监管的IP

切出IP

执行并检查是否成功

2、自动化配置ssh免密登录

客户端与服务端建立tcp连接之后,服务器将公钥发给客户端,客户端将账号名和密码发给服务器,服务器进行密码认证;

免密:客户端需要一对公私钥,将公钥信息传给服务器需要登录的目标账号的家目录下的ssh/authorized_key;或者使用ssh-copy-id,即客户端使用ssh-keygen -t rsa(交互式命令)生成——需要查一下用法,再使用ssh-copy-id传送。

1、客户端生成公私钥

man ssh-keygen

私钥没有后缀,。pub是公钥的后缀

(1)用户输入需要免密登陆的账号(id);

(2)用户输入数量

(3)if判断 -f判断文件不存在,就创建文件并且定向到黑洞中;

(4)拷贝

(5)远程连接默认家目录,远程连接直接使用命令

(6)问题:如果没有免密登录成功,会一直输出等待,所以需要使用if判断一下是否为0,为0,则输出免密配置成功

传公私钥的时候最好不要覆盖,因为覆盖了之后,好不容易传上去的公私钥被覆盖了之后,生成另外一台服务器的公私钥,就不能登录之前的服务器了;除非登录的时候重新指定登录的私钥是之前那个,所以最好不覆盖,就用一对公私钥,或者写个脚本判断生成公私钥的目录是否存在,存爱则不创建,再或者echo n传到创建

3、自动化配置web服务的http网站和hettps网站

(1)装包

(2)配置文件

(3)保证IP和目录都存在,可以访问index.html文件

(4)重启服务——提前写好拷贝,进去更方便

(1)用户输入IP地址(这个IP地址需要添加一下,以下是自动化添加脚本的shell)

或者:使用expot才可以使用变量

注意:如果用了systemctl restart nginx,就不要单独使用nginx,否则开启的进程比较多

检查一下

(1)if条件判断装包成功之后才执行以下操作——写配置文件的内容;否则输出错误提示信息;

(2)

提前写好——位变量

配置https

复制

查看私钥追加到文件中

根据私钥生成公钥

-subj:非交互生成

补充:

web服务器:nginx,httpd(apache),http,https web网站

集群:一群服务器,如web集群,mysql集群

假如要使用web集群:有四台web服务器

当有客户端在这4台服务器上访问域名www.test.com的时候,都会出现test的界面

dns自带负载均衡的作用(比如第一次访问解析到web1,第二次访问解析到web2……),一个域名对应多个ip,缺点就是效率低,所以用其他负载均衡的软件(nginx 、lvs 、haproxy)——专门做负载均衡的软件,

比如:客户端要访问wwwtest.com,需要解析出IP192.168.168.200,会通过上述的负载均衡软件

(rr轮询——每台服务器都访问;wrr权重轮询等算法)配置上述IP地址,并转发到每台web服务器

上述是概念,lvs有四个模式

NAT:数据包从客户端到lvs,lvs转发到web服务器,服务器发给lvs,再由lvs转发出去,这个没有必要,所以要用隧道回的时候直接给客户端,但是直接发,客户端不收——因为需要200的地址,需要DR配置web服务器不广播,不告诉其他客户端他的地址)

fullnat

DR:

隧道

搭建环境

三台web服务器的网卡连接到交换机上,客户端的lvs连接到交换机,交换机上连接一台路由器,连接互联网;客户端的公网连接接路由器,连路由器上连接客户端pc;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/481977.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AtomicIntegerFieldUpdater能否降低内存

1. 代码如下: import java.util.LinkedList; import java.util.List; import java.util.concurrent.atomic.AtomicInteger;public class AtomicIntegerTest {final AtomicInteger startPosition new AtomicInteger(0);final AtomicInteger wrotePosition new Atom…

微服务即时通讯系统的实现(服务端)----(3)

目录 1. 消息存储子服务的实现1.1 功能设计1.2 模块划分1.3 模块功能示意图1.4 数据管理1.4.1 数据库消息管理1.4.2 ES文本消息管理 1.5 接口的实现1.5.1 消息存储子服务所用到的protobuf接口实现1.5.2 最近N条消息获取接口实现1.5.3 指定时间段消息搜索接口实现1.5.4 关键字消…

数据湖的概念(包含数据中台、数据湖、数据仓库、数据集市的区别)--了解数据湖,这一篇就够了

文章目录 一、数据湖概念1、企业对数据的困扰2、什么是数据湖3、数据中台、数据湖、数据仓库、数据集市的区别 网上看了好多有关数据湖的帖子,还有数据中台、数据湖、数据仓库、数据集市的区别的帖子,发现帖子写的都很多,而且专业名词很多&am…

202页MES项目需求方案深入解读,学习MES系统设计规划

202页MES项目需求方案深入解读,学习MES系统设计规划 MES项目需求方案旨在实现制造执行、效率提升、精细化管理等多个方面的功能。整体结构分为七大部分,包括制造执行、效率、精细化、品质在线、设备、用户思想和数据互联。制造执行部分关注订单、品质数据…

基础(函数、枚举)错题汇总

枚举默认从0开始,指定后会按顺序赋值 而这个枚举变量X,如果在全局(函数外部)定义,那默认为0,如果在函数内部(局部变量),那就是随机值,必须初始化。 枚举变量…

互联网基础

TCP/IP协议(协议组) 分层名称TCP/IP协议应用层HTTP,FTP,mDNS,WebSocket,OSC...传输层TCP,UDP网络层IP链路层(网络接口层)Ethernet,Wi-Fi... 链路层(网络接口层) 链路层的主要作用…

【Vue3】从零开始创建一个VUE项目

【Vue3】从零开始创建一个VUE项目 手动创建VUE项目附录 package.json文件报错处理: Failed to get response from https://registry.npmjs.org/vue-cli-version-marker 相关链接: 【VUE3】【Naive UI】<NCard> 标签 【VUE3】【Naive UI】&…

用MATLAB符号工具建立机器人的动力学模型

目录 介绍代码功能演示拉格朗日方法回顾求解符号表达式数值求解 介绍 开发机器人过程中经常需要用牛顿-拉格朗日法建立机器人的动力学模型,表示为二阶微分方程组。本文以一个二杆系统为例,介绍如何用MATLAB符号工具得到微分方程表达式,只需要…

基于Java Springboot在线点餐系统

一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue、Element-ui 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse 数据…

QT实战--qt各种按钮实现

本篇介绍qt一些按钮的实现,包括正常按钮;带有下拉箭头的按钮的各种实现;按钮和箭头两部分分别响应;图片和按钮大小一致;图片和按钮大小不一致的处理;文字和图片位置的按钮 效果图如下: 详细实现…

服务熔断-熔断器设计

文章目录 服务为什么需要熔断熔断器设计思想熔断器代码实现 服务为什么需要熔断 对于服务端采用的保护机制为服务限流。 对于服务调用端是否存在保护机制? 假如要发布一个服务 B,而服务 B 又依赖服务 C,当一个服务 A 来调用服务 B 时&#x…

入门数据结构JAVADS——如何构建一棵简单二叉排序树

目录 前言 什么是二叉排序树 二叉排序树的特点 二叉排序树示意图 构建二叉排序树 插入元素 搜索元素 删除元素 完整代码 结尾 前言 在整个十一月,笔者因为一些原因停笔了,但马上迈入12月进而进入2025年,笔者决定不再偷懒了,继续更新以促进学习的积极性.闲话说到这,今天…

更多开源创新 挑战OpenAI-o1的模型出现和AI个体模拟突破

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

BUUCTF—Reverse—Java逆向解密(10)

程序员小张不小心弄丢了加密文件用的秘钥,已知还好小张曾经编写了一个秘钥验证算法,聪明的你能帮小张找到秘钥吗? 注意:得到的 flag 请包上 flag{} 提交 需要用专门的Java反编译软件:jd-gui 下载文件,发现是个class文…

Redis(4):主从复制

一、主从复制概述 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave);数据的复制是单向的,只能由主节点到从节点。   默认情况下,每台Redis…

操作系统 | 学习笔记 | 王道 | 2.2处理机调度

2.2 处理机调度 文章目录 2.2 处理机调度2.2.1 调度的概念2.2.2 调度的目标2.2.3 调度的实现2.2.4 典型的调度算法错题总结: 2.2.1 调度的概念 调度的基本概念 处理机调度是对处理机进行分配,即从就绪队列中按照一定的算法(公平、高效的原则&…

PostgreSQL的学习心得和知识总结(一百五十八)|在线调优工具pgtune的实现原理和源码解析

目录结构 注:提前言明 本文借鉴了以下博主、书籍或网站的内容,其列表如下: 1、参考书籍:《PostgreSQL数据库内核分析》 2、参考书籍:《数据库事务处理的艺术:事务管理与并发控制》 3、PostgreSQL数据库仓库…

【问题】webdriver.Chrome()设置参数executable_path报不存在

场景1: 标红报错unresolved reference executable_path 场景2: 执行报错TypeError: __init__() got an unexpected keyword argument executable_path 原因: 上述两种场景是因为selenium4开始不再支持某些初始化参数。比如executable_path 解决: 方案…

JS听到了双生花的回响

日期对象 学会了日期对象可以让网页显示日期 是用来表示时间的对象,可以得到当前系统的时间 实例化 new关键字,就是实例化的代表 就比如说,你没有对象,但是你是程序员,这个时候你可以先定义一个类(你的…

C++类中多线程的编码方式

问题 在C++代码中,一般的代码是需要封装在类里面,比如对象,方法等。否则就不能很好的利用C++面向对象的能力了。 但是这个方式在处理线程时会碰到一个问题。 考虑下面一个简单的场景: class demoC { public:std::thread t;int x;void threadFunc(){std::cout<<x&…