自动化运维管理工具——Ansible

news2024/11/14 22:33:34

目录

一、概述

(一)特点

(二)工作特性

二、运行机制

三、安装

(一)配置源

(二)安装ansible

(三)查看相关文件

(四)配置文件

1、主配置文件

2、部署端的hosts

3、Playbook相关

四、命令相关

(一)ansible

1、参数

2、语法

(二)ansible-doc

1、选项

2、举例

(1)列出所有模块名称

(2)查看模块的简短文档

(3)查看模块的完整文档

(4)指定额外的模块路径

(5)以JSON格式显示文档信息

(三)ansible-playbook(用于执行Ansible Playbook的命令)

1、语法

2、选项

 3、示例:

(1)执行Playbook

(2)指定主机清单文件

(3)仅运行指定标签的任务

(4)覆盖变量文件中的变量值

(5)检查Playbook的语法是否正确

(6)列出Playbook中的所有任务

(7)从指定任务开始执行Playbook

(8)逐步询问每个任务是否要执行

(9)增加详细度

(10)模拟执行Playbook

五、主机组配置

(一)基本配置

1、vim /etc/ansible/hosts

2、配置/etc/hosts

3、设置SSH密钥对验证登录

(二)也可以定义范围主机

六、简单案例

(一)连通性测试

1、ansible  192.168.115.131 -m ping   ​编辑

 2、ansible webServers -m ping

(二)主机信息查看

1、ansible webServer -m shell -a "ls -l /root"

2、ansible webServer -m shell -a "hostname"

 (三)安装服务

七、常见模块

(一)command(执行命令,但是命令中不能包含"< > | &")

(二)shell(执行命令,基于/bin/sh,也可执行远程主机已经存在的脚本文件)

(三)raw(执行命令,不需要远程主机安装python环境)

(四)script(拷贝ansible端的shell脚本至远程主机并执行,执行完毕后删除远程主机的脚本文件)

(五)ping(测试连通性)

(六)file(对远程主机进行文件操作)

1、参数

2、案例:

(七)copy(拷贝文件至远程主机)

1、参数

2、案例:复制文件并设置权限

(八)service(对远程主机的服务进行管理)

1、参数

2、案例

(九)cron(管理远程主机的计划任务)

1、参数

2、案例

(十)yum(管理远程主机的软件包)

1、参数

2、案例

(十一)user与group(管理远程主机的用户与组)

1、参数

(十二)synchronize(管理远程主机数据同步,调用rsync)

1、参数:

(十三)setup(查看远程主机信息)

1、参数

2、案例

(十四)get_url(使远程主机下载文件(http、https、ftp),类似于wget)

1、参数

2、案例:通过以下步骤实现

(十五)unarchive(解压缩)

1、参数

2、案例

(十六)archive(归档压缩)

1、参数

2、案例

(十七)template(Templat模板使用jinjia2语言进行配置,模板文件的后缀名为.j2)

八、剧本(ansible变量)

(一)格式

(二)返回状态

(三)核心元素

1、 Hosts:主机组

2、Tasks:任务列表

3、Variables:变量,设置方式有四种

4、 Handlers:由特定条件触发的任务。

5、Templates:包含了模块语法的文本文件

(四)案例

1、vim   mariadb.yml

 2、运行剧本

(五)roles

(六)批量创建目录结构


一、概述

(一)特点

1、部署简单,没有客户端,只需在主控端部署Ansible环境,被控端无需做任何操作;

2. 模块化:调用特定的模块,完成特定任务

3. 默认使用SSH协议对设备进行管理;

4. 主从集中化管理;

5、配置简单、功能强大、扩展性强;

6、支持API及自定义模块,可通过Python轻松扩展;

7、通过Playbooks来定制强大的配置、状态管理

8. 对云计算平台、大数据都有很好的支持;

9. 具有幂等性:一个操作在一个主机上执行一遍和执行N遍的结果是一样的

(二)工作特性

1、连接插件connection plugins:负责和被监控端实现通信;

2、host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;

3、各种模块核心模块、command模块、自定义模块;

4、借助于插件完成记录日志邮件等功能;

5、playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务

二、运行机制

1、Ansible: ansible的核心模块

2、Host Inventory:主机清单,也就是被管理的主机列表

3、Playbooks:ansible的剧本,可想象为将多个任务放置在一起,一块执行

4、Core Modules:ansible的核心模块

5、Custom Modules:自定义模块

6、Connection Plugins:连接插件,用于与被管控主机之间基于SSH建立连接关系

7、Plugins:其他插件,包括记录日志、邮件等

三、安装

(一)配置源

命令:yum install -y epel-release

(二)安装ansible

命令:yum install -y ansible

(三)查看相关文件

命令:rpm  -ql  ansible

安装目录:/etc/ansible

(四)配置文件

1、主配置文件

/etc/ansible/ansible.cfg

2、部署端的hosts

/etc/ansible/hosts

3、Playbook相关

/etc/ansible/roles

四、命令相关

(一)ansible

1、参数

(1)-v              详细模式,如果执行成功,输出详细结果
(2)-i              指定host文件路径,默认在/etc/ansible/hosts
(3)-f,              -forks=NUM    NUM默认是整数5,指定fork开启同步进程的个数
(4)-m             指定使用的module名称,默认command模块
(5)-a              指定模块的参数
(6)-k              提示输入SSH密码,而不是使用基于ssh密钥认证
(7)-sudo        指定使用sudo获取root权限
(8)-K              提示输入sudo密码
(9)-u              指定移动端的执行用户
(10)-C            测试命令执行会改变什么内容,不会真正的去执行
(11)all --list     显示hosts清单

2、语法

ansibe -i [filePath] -m [moduleName] -a [arguments]

(二)ansible-doc

ansible-doc是用于查阅Ansible模块文档的命令。该命令可用于列出安装在本地系统中的所有模块,并提供文档以及示例。

1、选项

(1)-l        列出所有模块名称

(2)-s        查看指定模块

(3)--help        显示帮助信息。

(4)--version        显示版本信息

(5)-a        显示模块的完整文档

(6)-M        指定额外的模块路径

(7)--json        以JSON格式显示文档信息

2、举例

(1)列出所有模块名称

命令:ansible-doc    -l

(2)查看模块的简短文档

命令:ansible-doc   -s  module_name       

其中module_name替换为要查询的模块名称。

(3)查看模块的完整文档

命令:ansible-doc -a module_name

(4)指定额外的模块路径

ansible-doc -M /path/to/extra/module_dir module_name

其中/path/to/extra/module_dir替换为包含自定义模块的目录路径,module_name替换为要查询的模块名称。

(5)以JSON格式显示文档信息

命令:ansible-doc --json module_name

(三)ansible-playbook(用于执行Ansible Playbook的命令)

1、语法

ansible-playbook [选项] playbookName

2、选项

(1)-e :外部变量传递

(2)-i: 指定主机清单文件

(3)-l: 跟随由逗号分隔的主机名称列表限制作用的主机

(4)-e: 覆盖变量文件中的变量值

(5)-t: 仅运行指定标签的任务

(6)--skip-tags: 跳过指定标签的任务

(7)--syntax-check: 检查Playbook的语法是否正确

(8)--list-tasks: 列出Playbook中的所有任务

(9)--start-at-task: 从指定的任务开始执行Playbook

(10)--step: 逐步询问每个任务是否要执行

(11)-v: 增加详细度,可多次使用增加级别

(12)--check: 运行模拟模式,只测试任务是否需要执行,不会真正执行任务

 3、示例:

(1)执行Playbook

命令:ansible-playbook playbook.yml

其中playbook.yml替换为要执行的Playbook的文件名。

(2)指定主机清单文件

命令:ansible-playbook -i inventory.ini playbook.yml

其中inventory.ini替换为要使用的主机清单文件的路径。如果未指定该选项,则默认为/etc/ansible/hosts。

(3)仅运行指定标签的任务

命令:ansible-playbook -i inventory.ini playbook.yml -t task1,task2

其中task1,task2替换为要运行的任务的标签名称。

(4)覆盖变量文件中的变量值

命令:ansible-playbook -i inventory.ini playbook.yml -e "foo=bar"

其中foo替换为要覆盖的变量名,bar替换为要设置的新值。

(5)检查Playbook的语法是否正确

命令:ansible-playbook --syntax-check playbook.yml

该命令将检查Playbook的语法是否正确,并显示任何错误信息。

(6)列出Playbook中的所有任务

命令:ansible-playbook --list-tasks playbook.yml

该命令将列出Playbook中的所有任务。

(7)从指定任务开始执行Playbook

命令:ansible-playbook -i inventory.ini playbook.yml --start-at-task="task3"

其中task3替换为要从其开始执行的任务名称。

(8)逐步询问每个任务是否要执行

命令:ansible-playbook -i inventory.ini playbook.yml --step

该命令将在运行每个任务之前询问用户是否要执行该任务。

(9)增加详细度

命令:ansible-playbook -i inventory.ini playbook.yml -v

使用该选项可增加命令的详细度。可多次使用此选项以增加日志详细度。

(10)模拟执行Playbook

命令:ansible-playbook -i inventory.ini playbook.yml --check

使用该选项可进行模拟运行,以测试所有任务是否需要执行,而不实际执行任务。

五、主机组配置

(一)基本配置

1、vim /etc/ansible/hosts

[webServers]
192.168.115.131
192.168.115.132

2、配置/etc/hosts

vim   /etc/hosts
192.168.115.131     server1
192.168.115.132     server2

3、设置SSH密钥对验证登录

(二)也可以定义范围主机

[webServers]
192.168.115.13[1:2]

六、简单案例

(一)连通性测试

1、ansible  192.168.115.131 -m ping
   

 2、ansible webServers -m ping

(二)主机信息查看

1、ansible webServer -m shell -a "ls -l /root"

2、ansible webServer -m shell -a "hostname"

 (三)安装服务

ansible webServer -m shell -a "yum  -y  install  vsftpd"

七、常见模块

(一)command(执行命令,但是命令中不能包含"< > | &"

 案例:ansible webServer -m command -a "netstat  -anptul"

(二)shell(执行命令,基于/bin/sh,也可执行远程主机已经存在的脚本文件)

案例:ansible webServer -m shell -a "netstat  -anptul  |  grep  vsftb"

(三)raw(执行命令,不需要远程主机安装python环境)

案例:ansible webServer -m raw -a "ls  -l"

(四)script(拷贝ansible端的shell脚本至远程主机并执行,执行完毕后删除远程主机的脚本文件)

语法: ansible  all -m script -a "chdir=/opt 脚本名"

chdir                切换脚本运行结果的目录

(五)ping(测试连通性)

(六)file(对远程主机进行文件操作)

1、参数

(1)force(强制创建软连接)

①yes|no

②用于使用ansible编译安装软件后的命令优化

(2)group(文件属组)

(3)owner(文件属主)

(4)mode(文件权限)

(5)path(文件路径)

(6)state(文件类型)

①directory(目录)

②link

③hard

④touch(文件)

⑤absent

2、案例:

ansible 192.168.115.131 -m file -a "path=/opt/t1 state=directory mode=0700 owner=juexing group=juexing"

(七)copy(拷贝文件至远程主机)

1、参数

(1)backup

若目标文件存在,则覆盖前是否进行备份,yes|no

(2)content(等效于src)

(3)src

要复制文件在本地的路径,若复制目录则需要在目录名称结尾处添加/

(4)dest

复制文件到远程主机的绝对路径,若复制源是目录,则目录也必须是目录

(5)directory_mode(采用递归的形式设置目录权限)

(6)force(  是否进行强制覆盖,yes|no)

2、案例:复制文件并设置权限

命令:ansible webServer -m copy -a "src=/etc/yum.repos.d/epel.repo dest=/opt/epel.repo mode=0444 owner=juexing group=juexing "

(八)service(对远程主机的服务进行管理)

1、参数

(1)enabled(开机自启,yes|no)

(2)name(服务名称)

(3)parttern(定义模式)

(4)sleep(若执行了restarted,该时间设置stop到start 的间隔时间)

(5)state

①started(开启)

②stopped(关闭)

③restarted(重启)

④reloaded(平滑重启)

2、案例

ansible 192.168.115.131 -m service -a "name=httpd state=started"

(九)cron(管理远程主机的计划任务)

1、参数

(1)backup(备份冲突计划任务,yes|no)

(2)cron_file(指定计划任务存储路径,/etc/cron.d)

(3)minute(0~59,*,*/2)

(4)hour(0~23,*,*/2)

(5)day(1~31)

(6)mouth(1~12)

(7)weekly(0~7,0和7都是周日)

(8)job(执行的任务,依托于state=present)

(9)state

①present(创建)

②absent(删除)

(10)name(描述信息)

(11)user(执行job的用户)

(12)special_time(指定执行的时间)

参数:

①reboot(重启)

②annually(每年)

③mouthly(每月)

④weekly(每周)

⑤daily(每天)

⑥hourly(每小时)

2、案例

命令:ansible 192.168.115.131 -m cron -a "name=backup state=present minute=10 hour=15 job=whoami"

 在文件vim  /var/spool/cron/root中查看

(十)yum(管理远程主机的软件包)

1、参数

(1)config_file(yum源的配置文件)

(2)disable_gpg_check(关闭gpgcheck)

(3)disablerepo(不启用某个源)

(4)enablerepo(启用某个源)

(5)name(安装软件的名称)

(6)state

①present(安装)

②installed(安装)

③latest(安装最新版本)

④absent(删除)

⑤removed(删除)

2、案例

ansible webServer -m yum -a "name=ftp  state=present"

(十一)user与group(管理远程主机的用户与组)

1、参数

(1)name(指定用户名)

(2)group(指定组名)

(3)groups(指定附加组)    注意:指定多个附加组用“,”隔开

(4)shell(指定登录shell)

(5)state

①present(创建)

②absent(删除)

(6)remove(递归删除用户家目录及邮件,state=absent)

(7)password(指定用户密码(md5加密的密码))

(十二)synchronize(管理远程主机数据同步,调用rsync)

1、参数:

(1)archive(归档)

(2)checksum(数据验证,默认关闭)

(3)compress(是否压缩,默认开启)

(4)copy_links(复制链接文件,默认关闭)

(5)delete(删除不存在的文件,默认是no)

(6)src(源文件)

(7)dest(目标路径)

(8)dest_port(目标端口,默认22)

(9)mode

①push(推送,文件上传)

②pull(拉取,文件下载)

(十三)setup(查看远程主机信息)

1、参数

file(指定要查看的内容)

(1)ansible_all_ipv4_addresses:仅显示ipv4的信息。

(2)ansible_devices:仅显示磁盘设备信息。

(3)ansible_distribution:显示是什么系统,例:centos,suse等。

(4)ansible_distribution_major_version:显示是系统主版本。

(5)ansible_distribution_version:仅显示系统版本。

(6)ansible_machine:显示系统类型,例:32位,还是64位。

(7)ansible_eth0:仅显示eth0的信息。

(8)ansible_hostname:仅显示主机名。

(9)ansible_kernel:仅显示内核版本。

(10)ansible_lvm:显示lvm相关信息。

(11)ansible_memtotal_mb:显示系统总内存。

(12)ansible_memfree_mb:显示可用系统内存。

(13)ansible_memory_mb:详细显示内存情况。

(14)ansible_swaptotal_mb:显示总的swap内存。

(15)ansible_swapfree_mb:显示swap内存的可用内存。

(16)ansible_mounts:显示系统磁盘挂载情况。

(17)ansible_processor:显示cpu个数(具体显示每个cpu的型号)。

(18)ansible_processor_vcpus:显示cpu个数(只显示总的个数)。

2、案例

(1)返回远程主机的所有信息

ansible servers -m setup

(2)ansible servers -m setup  -a "filter=ansible_all_ipv4_addresses"

(十四)get_url(使远程主机下载文件(http、https、ftp),类似于wget)

1、参数

(1)url(指定下载路径)

(2)dest(指定下载位置)

(3)url_username(指定登录用户名)

(4)url_password(指定用户密码)

2、案例:通过以下步骤实现

(1)ansible 192.168.115.131 -m service -a "name=httpd state=started"

(2)systemctl  start httpd

(3)cd  /var/www/html

(4)echo  111 >t2

(5)ansible 192.168.115.132 -m get_url -a "url=http://192.168.115.131/t2 dest=/opt"

(6)

(十五)unarchive(解压缩)

1、参数

(1)copy

从ansible服务器复制文件到远程主机,默认yes。

设置为no,需要使用src指定远程主机中包的存在位置

(2)src(指定远程主机软件包位置)

(3)dest(解压后的软件存储位置)

(4)mode(解压后的文件权限)

2、案例

ansible all -m unarchive -a 'copy=no src=/mnt/etc.tar.gz dest=/mnt mode=777’

(十六)archive(归档压缩)

1、参数

(1)path      打包目录名称

(2)dest       声称打包文件名称

(3)format   打包格式

(4)owner    指定文件属主

(5)mode    指定文件权限

2、案例

ansible all -m archive -a 'path=/etc dest=/mnt/etc.tar.gz format=gz owner=devops mode=777'

(十七)template(Templat模板使用jinjia2语言进行配置,模板文件的后缀名为.j2)

八、剧本(ansible变量)

(一)格式

1、文件的第一行应该以“---”(三个连字符)开始,表明YAML文件的开始。

2、在同一行中,#之后的内容表示注释,类似于shell,python和ruby。

3、YAML中的列表元素以“-”开头并且跟着一个空格。后面为元素内容。

4、同一个列表之中的元素应该保持相同的缩进,否则会被当做错误处理。
   注意: 缩进不能使用tab键

5、playbook中hosts、variables、roles、tasks等对象的表示方法都是键值中间以“:”分隔表示,并且“:”之后要加一个空格。

(二)返回状态

绿色代表执行成功,系统保持原样。黄色代表系统状态发生改变。红色代表执行失败,显示错误输出。

(三)核心元素

1、 Hosts:主机组

2、Tasks:任务列表

(1)name(任务名)

(2)模块(模块名)

(3)notify(触发任务,与handlers名称一致)

(4)tags(任务执行标签)

3、Variables:变量,设置方式有四种

(1)vars

(2)外部传递:ansible-playbook  xxx.yml -e var=value

(3)内部定义

4、 Handlers:由特定条件触发的任务。

5、Templates:包含了模块语法的文本文件

(1)template

(2)拷贝模板文件

(四)案例

1、vim   mariadb.yml

 2、运行剧本

命令:ansible-playbook   mariadb.yml
   

(五)roles

1、roles/

2、mysql/:mysql服务的yml文件

3、httpd/:apached服务的yml文件

4、nginx/:nginx服务的yml文件

5、files/:存储由copy或者script等模块调用的文件或者脚本;

6、tasks/:此目录中至少应该有一个名为main.yml的文件,用于定义各个task;其他文件需要由main.yml进行包含调用;

7、handlers/:此目录中至少应该有一个名为main.yml的文件,用于定义各个handler;其他文件需要由main.yml进行包含调用;

8、vars/:此目录至少应该有一个名为main.yml的文件,用于定义各个variable(变量);其他的文件需要由main.yml进行包含调用;

9、templates/:存储由templates模块调用的模板文件;

10、meta/:此目录中至少应该有一个名为main.yml的文件,定义当前角色的特殊设定以及依赖关系,其他文件需要由main.yml进行包含调用;

11、defaults/:此目录至少应该有一个名为main.yml的文件,用于设定默认变量;

(六)批量创建目录结构

mkdir -p {nginx,mysql,tomcat}/{tasks,files,hanlders,vars,templates,meta,defaults}

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

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

相关文章

如何统计网页访问量

目录 一、搭建Nginx服务 安装Nginx服务 第一步 关闭防火墙和安全机制 第二步 安装扩展包 第三步 安装Nginx和依赖环境 第四步 安装依赖包 第五步 创建一个用户和组 第六步 解包 第七步 进入Nginx目录下编译安装 第八步 进行编译 第九步 添加系统识别操作 第十步 检…

跟朋友撞offer怎么办?接了offer,下个月入职,结果老板面了我朋友,她已经入职了,我的offer还算数吗?...

职场上什么奇葩事都可能发生&#xff0c;跟朋友撞了offer是什么感受&#xff1f; 一位网友求助&#xff1a; 接了offer&#xff0c;正在和现公司谈判离职&#xff0c;下个月才能入职。结果老板面了其他人&#xff0c;正好是楼主认识的人&#xff0c;比楼主大十几岁。更尴尬的是…

浅谈C++|引用篇

目录 引入 一.引用的基本使用 (1)引用的概念&#xff1a; (2)引用的表示方法 (3)引用注意事项 (4)引用权限 二.引用的本质 三.引用与函数 (1)引用做函数参数 (2)引用做函数返回值 四.常量引用 五.引用与指针 引入 绰号&#xff0c;又称外号&#xff0c;是人的本名以外…

基于深度学习的目标检测的介绍(Introduction to object detection with deep learning)

物体检测的应用已经深入到我们的日常生活中&#xff0c;包括安全、自动车辆系统等。对象检测模型输入视觉效果(图像或视频)&#xff0c;并在每个相应对象周围输出带有标记的版本。这说起来容易做起来难&#xff0c;因为目标检测模型需要考虑复杂的算法和数据集&#xff0c;这些…

基于spss的多元统计分析 之 主成分分析(5/8)

实验目的&#xff1a; 1&#xff0e;掌握主成分分析的基本思想&#xff1b; 2&#xff0e;熟悉掌握SPSS软件进行主成分分析的基本操作&#xff1b; 3&#xff0e;利用实验指导的实例数据&#xff0c;上机熟悉主成分分析方法&#xff0e; 实验内容&#xff1a; 下表是我国2005年…

【C++篇】OOP中部分:继承和派生

友情链接&#xff1a;C/C系列系统学习目录 知识总结顺序参考C Primer Plus&#xff08;第六版&#xff09;和谭浩强老师的C程序设计&#xff08;第五版&#xff09;等&#xff0c;内容以书中为标准&#xff0c;同时参考其它各类书籍以及优质文章&#xff0c;以至减少知识点上的…

2023年05月份青少年软件编程Python等级考试试卷六级真题(含答案)

2023-05 Python六级真题 分数&#xff1a;100 题数&#xff1a;38 测试时长&#xff1a;60min 一、单选题(共25题&#xff0c;共50分) 1. 明明每天坚持背英语单词&#xff0c;他建立了英语单词错题本文件“mistakes.txt”&#xff0c;将每天记错的单词增加到该文件中&#x…

ROS:launch文件演示

目录 前言一、添加launch文件夹二、新建launch文件三、编辑launch内容四、 执行文件 前言 一个程序中可能需要启动多个节点&#xff0c;比如:ROS 内置的小乌龟案例&#xff0c;如果要控制乌龟运动&#xff0c;要启动多个窗口&#xff0c;分别启动 roscore、乌龟界面节点、键盘…

【数据分享】1929-2022年全球站点的逐日降雪深度数据(Shp\Excel\12000个站点)

气象数据是在各项研究中都经常使用的数据&#xff0c;气象指标包括气温、风速、降水、能见度等指标&#xff0c;说到气象数据&#xff0c;最详细的气象数据是具体到气象监测站点的数据&#xff01; 对于具体到监测站点的气象数据&#xff0c;之前我们分享过1929-2022年全球气象…

感应电动机起动动态计算(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

#家庭网络配置(华为路由与交换机)

#家庭网络配置 #三层交换机配置 #打开HDCP功能 #进入系统视图 <Huawei>system-view #关闭系统提示信息 [Huawei]undo info-center enable #打开DHCP 使能 [Huawei]dhcp enable #创建vlan 10 vlan 20 vlan 2 [Huawei]vlan batch 2 10 20 #进入 vlan 并配置ip 与 dhcp […

【机器学习】十大算法之一 “神经网络”

作者主页&#xff1a;爱笑的男孩。的博客_CSDN博客-深度学习,活动,python领域博主爱笑的男孩。擅长深度学习,活动,python,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域.https://blog.csdn.net/Code_and516?typeblog个…

使用Postman模拟文件上传和下载

介绍 Postman是一款强大的HTTP请求模拟工具&#xff0c;它可以帮我们在没有前端界面的情况下模拟发送HTTP请求&#xff0c;非常适合API开发和测试。在本篇文章中&#xff0c;我将向你展示如何使用Postman进行文件的上传和下载。 文件上传 启动Postman&#xff0c;点击“新建请…

Linux的基础操作

0.前言 您好&#xff0c;这里是limou3434的一篇关于Linux基础操作的博文。感兴趣的话&#xff0c;可以看看我的其他博文系列。本次我给您带来的是Linux下的几个基础命令&#xff0c;学会这些命令您就可以开始在Linux管理和操作一些文件了。 注意&#xff1a;本次演示环境是在…

【HTML】常用标签

文章目录 1.标题字标签h1-h62.段落标签p3.换行标签br4.格式化标签5.图片标签6.超链接标签a7.表格标签单元格合并行合并列合并 8.无序列表9.有序列表10.自定义列表11.表单标签11.1 form标签11.2 表单控件11.2.1 input标签11.2.2 label标签11.2.3 select标签11.2.4 textarea标签 …

2023年为什么你需要学习GPU?

2023年为什么你需要学习GPU&#xff1f;掌握这一绝对重要的技能&#xff0c;开启你的未来之旅&#xff01; 亲爱的朋友们&#xff0c;时光飞逝&#xff0c;2023年已经悄然而至。在这个充满机遇和挑战的数字时代&#xff0c;学习GPU成为了你无法忽视的重要任务。为什么呢&#x…

《大话设计模式》笔记

1. 简单工厂模式 1.1 面向对象的好处 考虑通过封装、继承、多态把程序的耦合度降低&#xff0c;使用设计模式使得程序更加的灵活&#xff0c;容易修改&#xff0c;并且易于复用。 1.2 复制 Vs 复用 有人说初级程序员的工作就是 CtrlC 和 CtrlV&#xff0c;这其实是非常不好…

通过僵尸扫描判断目标主机端口开放状态

环境准备 使用scapy工具发包 攻击主机IP: 192.168.133.66 僵尸主机IP: 192.168.133.67 &#xff0c;僵尸主机不主动与任何机器通信&#xff0c;且满足IP数据包ID自增** 注&#xff1a;用nmap 判断主机是否满足僵尸主机条件&#xff0c;一般早期的windwos XP系统IP数据包ID…

MySQL优化--主从同步,分库分表

目录 MySQL主从同步原理 MySQL主从复制的核心就是二进制日志 面试回答 分库分表 分库分表的时机 分库分表的策略 垂直分库 垂直分表 水平分库 水平分表 分库分表的策略 分库之后的问题 面试回答 MySQL主从同步原理 如果项目上线了&#xff0c;通常情况下&#xf…

【Python开发】FastAPI 11:构建多文件应用

以往的文件都是将对外接口写在一个文件里边&#xff0c;而作为应用来说&#xff0c;接口是不可避免分散到多个文件中的&#xff0c;比如某文件负责注册登录模块&#xff0c;某文件负责内管模块&#xff0c;某文件负责业务模块等。FastAPI 也提供了APIRouter 这一工具来进行灵活…