部署PXE高效批量网络装机
部署PXE高效批量网络装机
因在Cisco3850核心交换机中已开启DHCP 服务,因此不需要在配置DHCP服务。如果您的网络环境中也已有DHCP服务,也不用再配置DHCP服务了,直接部署PXE相关服务即可。
找一台linux系统的服务器,这本次试验用的是一台cents7.6服务器,IP地址172.20.26.78的虚拟机。
一、编译安装nginx (也可以yum install安装nginx)
1、更新源和环境所需插件安装
yum update #更新yum源
yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel #先安装nginx依赖包
2、下载nginx-1.18.0.tar.gz 存放在/data/software 目录下
cd /data/software
yum install wget -y
wget -c http://nginx.org/download/nginx-1.18.0.tar.gz #从nginx官网下载nginx-1.18.0.tar.gz
tar -xf nginx-1.18.0.tar.gz -C /data/server/ #解压nginx到/data/server/
cd /data/server/nginx-1.18.0
3、编译安装nginx,指定执行的用户主和用户组(使用前面创建的www用户和组)
./configure --prefix=/data/server/nginx --with-http_ssl_module
make
make install
cd /data/server/nginx #查看nginx目录下的文件情况
/data/server/nginx/sbin/nginx -? #查看nginx相关参数
/data/server/nginx/sbin/nginx -v #查看nginx的版本
/data/server/nginx/sbin/nginx -t #检查配置文件语法是否正确
/data/server/nginx/sbin/nginx # 启动nginx服务
netstat -nltp #查看端口
ps -ef |grep nginx #查看nginx进程
pgrep nginx | xargs kill -9 ##如何用一条Linux命令干掉所有nginx进程,通过 pgrep 指令,根据名字找出所有包含该名字的进程号
设置nginx自启
在rc.local中添加启动代码
vim /etc/rc.local
/data/server/nginx/sbin/nginx #在文件末尾添加一句
chmod 755 /etc/rc.local #重新赋予权限
/data/server/nginx/sbin/nginx -s reload #重启nginx

在浏览器中输入nginx 服务器IP地址,查看nginx的默认页面
二、安装其他软件
yum -y install tftp tftp-server dnsmasq syslinux
系统光盘镜像安装源目录:
/data/
[root@bogon data]# ll -h
总用量 18G
-rw-r--r-- 1 root root 4.3G 3月 23 11:08 CentOS-7.6-x86_64-DVD-1810.iso
-rw-r--r-- 1 root root 4.4G 3月 23 13:59 CentOS-7.9-x86_64-DVD-2009.iso
-rw-r--r-- 1 root root 9.3G 3月 23 13:58 CentOS-8.4.2105-x86_64-dvd1.iso

mkdir -p /data/server/nginx/html/centos7.9 #在nginx的html目录下centos7.9目录
vim /data/server/nginx/conf/nginx.conf

[root@bogon data]# mount -t iso9660 -o loop /data/CentOS-7.9-x86_64-DVD-2009.iso /data/server/nginx/html/centos7.9/
mount: /dev/loop0 写保护,将以只读方式挂载
vim /etc/fstab #永久挂载设置,在/etc/fstab文件里添加以下命令
/data/CentOS-7.9-x86_64-DVD-2009.iso /data/server/nginx/html/centos7.9/ iso9660 defaults 0 0

保存,退出。
mount -a #输入后没有报错即可
在浏览器中输入http://172.20.26.78/centos7.9/可以打开centos7.9的镜像文件目录

三、配置安装centos7.9的引导文件
cd /data/server/nginx/html/centos7.9/
ll
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
ll
cd isolinux
[root@backup-server isolinux]# cp vmlinuz initrd.img splash.png vesamenu.c32 /var/lib/tftpboot/
[root@backup-server isolinux]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@backup-server isolinux]# cp isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
[root@backup-server isolinux]# vim /var/lib/tftpboot/pxelinux.cfg/default
method=http://172.20.26.78/centos7.9

[root@bogon isolinux]# systemctl start tftp
![]()
vim /etc/dnsmasq.d/dhcp # 新创建一个dnsmasq 配置文件dhcp
port=0 #禁用DNS端口,默认是会启用DNS服务器
dhcp-range=172.20.26.0,proxy #当前所在网段
dhcp-boot=pxelinux.0
pxe-service=x86PC,'Network Boot',pxelinux

保存
systemctl start dnsmasq
ss -tunlp |grep :69
netstat -antlupe | grep 69
systemctl status dnsmasq #查看dnsmasq 服务状态
systemctl enable dnsmasq # 将dnsmasq 服务设置为开机启动
ps -ef | grep dnsmasq

找一台机器开机启动后,即可看见172.20.26.78这台PXE服务器信息,centos7的lab提示标题,根据提示进行安装centos7 即可


相关文章:
部署PXE高效批量网络装机
部署PXE高效批量网络装机 因在Cisco3850核心交换机中已开启DHCP 服务,因此不需要在配置DHCP服务。如果您的网络环境中也已有DHCP服务,也不用再配置DHCP服务了,直接部署PXE相关服务即可。 找一台linux系统的服务器,这本次试验用的是…...
【JavaEE】UDP协议与TCP协议
作者主页:paper jie_博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文于《JavaEE》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力)打造&…...
Leetcode—1828. 统计一个圆中点的数目【中等】
2024每日刷题(一零五) Leetcode—1828. 统计一个圆中点的数目 实现代码 class Solution { public:vector<int> countPoints(vector<vector<int>>& points, vector<vector<int>>& queries) {vector<int> a…...
新概念英语第二册(47)
New words and expressions】生词和短语(9) thirsty adj. 贪杯的 ghost n. 鬼魂 haunt v. (鬼)来访,闹鬼 block …...
抽象类(Java)、模板方法设计模式
一、概念 在Java中有abstract关键字,就是抽象的意思,可用来修饰类和成员方法。 用abstract来修饰类,那这个类就是抽象类;修饰方法,那这个方法就是抽象方法。 修饰符 abstract class 类名{修饰符 abstract 返回值类型…...
【Delphi】IDE 工具栏错乱恢复
由于经常会在4K和2K显示器上切换Delphi开发环境(IDE),导致IDE工具栏错乱,咋样设置都无法恢复,后来看到红鱼儿的博客,说是通过操作注册表的方法,能解决,试了一下,果真好用,非常感谢分…...
自动化报告的前奏|使用python-pptx操作PPT(一)
自动化报告先从python-pptx开始 文章目录 1 python-pptx的基础属性1.1 新建幻灯片1.1.1 幻灯片布局的样式1.1.2 修改pptx模版大小1.1.3 指定模版生成1.1.4 创建幻灯片背景1.1.5 创建幻灯片备注信息1.1.6 设置幻灯片标题1.2 一些ppt元素/组件1.2.1 特殊符号1.2.2 placeholders1.…...
2024美赛数学建模D题思路+代码
文章目录 1 赛题思路2 美赛比赛日期和时间3 赛题类型4 美赛常见数模问题5 建模资料 1 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 2 美赛比赛日期和时间 比赛开始时间:北京时间2024年2月2日(周五ÿ…...
JDBC 结构优化2
JDBC 结构优化2 文章目录 JDBC 结构优化2结构优化2 - ATM系统(存,取,转,查)1 Service2 事务3 ThreadLocal4 事务的封装 结构优化2 - ATM系统(存,取,转,查) 1 Service 什么是业务? 代表用户完成的一个业务功能,可以由一个或多个DAO的调用组成。软件所提供的一个功…...
大模型相关术语
AGI(Artificial General Intelligence) 指通用人工智能,专注于研制像人一样思考、像人一样从事多种用途的机器。它与一般的特定领域智能(如机器视觉、语音识别等)相区分。 AIGC(AI-Generated Content&…...
数据库之九 流程控制、存储过程和函数
【零】数据准备 【1】创建用户信息表 (1)创建表 id:编号name:用户名sex:性别,默认男balance:余额register_time:注册时间 drop table if exists user; create table user( id in…...
DolphinDB学习(2):增删改查数据表(分布式表的基本操作)
文章目录 创建数据表1. 创建数据表全流程2. 核心:创建table3. 在已有的数据表中追加新的数据 数据表自身的操作1. 查询有哪些数据表2. 删除某张数据表3. 修改数据表的名称 博客里只介绍最常见的分区表(createPartitionedTable)的创建方法&…...
100天精通Python(实用脚本篇)——第114天:基于smtplib与email模块实现收发邮件(附上多个案例代码)
文章目录 专栏导读案例说明一、smtplib模块是什么?1.1 模块介绍1.2 SMTP参数说明1.3 SMTP常用方法 二、email模块是什么?1.1 模块介绍1.2 常用类说明 三、案例实战3.1 获取授权码3.2 代码步骤3.3 发送文本格式邮件3.4 发送图片格式邮件3.5 发送指定文件夹…...
redisTemplate.opsForValue()
redisTemplate 在Spring Data Redis中,redisTemplate 是一个非常重要的组件,它为开发者提供了各种操作 Redis 的方法。对于 opsForValue() 方法,它是用来获取一个操作字符串值的操作对象。这意味着你可以使用它来执行各种字符串相关的操作…...
多线程事务如何回滚?
背景介绍 1,最近有一个大数据量插入的操作入库的业务场景,需要先做一些其他修改操作,然后在执行插入操作,由于插入数据可能会很多,用到多线程去拆分数据并行处理来提高响应时间,如果有一个线程执行失败&am…...
医院如何筛选安全合规的内外网文件交换系统?
医院内外网文件交换系统是专为医疗机构设计的,用于在内部网络(内网)和外部网络(外网)之间安全、高效地传输敏感医疗数据和文件的解决方案。这种系统对于保护患者隐私、遵守医疗数据保护法规以及确保医疗服务的连续性和…...
C51 单片机学习(一):基础外设
参考 51单片机入门教程 1. 单片机简介 1.1 定义 单片机(Micro Controller Unit,简称 MCU) 内部集成了 CPU、RAM、ROM、定时器、中断系统、通讯接口等一系列电脑的常用硬件功能单片机的任务是信息采集(依靠传感器)、处…...
Docker容器引擎镜像创建
目录 一、镜像的创建 (一)基于现有镜像创建 1.启动一个镜像,在容器里做修改 2.将修改后的容器提交为新的镜像 (二)基于本地模板创建 (三)基于Dockerfile 创建 1.联合文件系统(…...
布尔逻辑与逻辑门
计算机为什么使用二进制: 计算机的元器件晶体管只有 2 种状态,通电(1)& 断电(0),用二进制可直接根据元器件的状态来设计计算机。而且,数学中的“布尔代数”分支,可以…...
opencv-python计算视频光流
光流基本概念 光流表示的是相邻两帧图像中每个像素的运动速度和运动方向。具体:光流是空间运动物体在观察成像平面上的像素运动的瞬时速度,是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系…...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...
C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...
