首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
软件与程序人生
›
云原生
›
Ansible实战YAML语言完成apache的摆设,设置,启动全过程 ...
返回列表
发新帖
Ansible实战YAML语言完成apache的摆设,设置,启动全过程
[复制链接]
发表于 2026-2-25 13:41:27
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
🏡作者主页:点击!
🏝️Ansible专栏:点击!
⏰️创作时间:2024年5月24日15点59分
目次
💯趣站保举💯
🎊前言
✨️YAML语言回顾
🎆1.编写YAML文件
环境准备
编写YAML核心
检测语法
🎇2.客户端测试
🎊前言
本教程将向导您从零开始,学习怎样使用 Ansible 和 YAML 语言完成 Apache 的摆设、设置和启动全过程。通过循规蹈矩的讲授和实战利用,您将把握 Ansible 的根本用法,并可以或许将所学知识应用于现实工作中,进步运维服从,低落运维资源。
✨️YAML语言回顾
YAML 是一种可读性高,用来表达数据序列化的格式。它可以轻松地将数据序列化为可读的文本格式,并反之亦然,同时生存数据结构。YAML 通常用于设置文件、数据
存储
和应用步伐设置等场景。
YAML 的重要上风包罗:
易用性:YAML 的语法简单易懂,学习资源低,纵然是新手也能快速上手。
可读性:YAML 数据格式清晰易读,纵然好坏步伐员也能轻松明确数据内容。
机动性:YAML 支持多种数据结构和语言,可以或许满意各种应用场景的需求。
扩展性:YAML 可以通过自界说数据范例和标签举行扩展,以满意特定需求。
YAML 的典范应用场景包罗:
设置文件:YAML 常用于编写设置文件,比方应用步伐设置、
数据库
设置、
服务器
设置等。
数据
存储
:YAML 可以用于
存储
数据,比方日记文件、缓存数据、设置文件等。
应用步伐设置:YAML 可以用于设置应用步伐,比方界说参数、设置选项等。
数据互换:YAML 可以用于在差别体系之间互换数据,比方将数据从
数据库
导出到文件或将数据从一个应用步伐传输到另一个应用步伐。
🎆1.编写YAML文件
环境准备
主机清单自行准备,我实验中host1就是目标主机(条件有限一台来做测试)
起首你
服务器
也要下载apache,由于一些设置文件必要在
服务器
上去修改,上传。
[root@ansible ~]# mkdir apache
[root@ansible ~]# ls
anaconda-ks.cfg apache ble hostlist
[root@ansible ~]# cd apache
[root@ansible apache]# ls
[root@ansible apache]# cp -rf /etc/httpd/conf/httpd.conf . //把apache的
配置
文件复制过来一份
[root@ansible apache]# ls
httpd.conf
复制
代码
此下令将 Apache 设置文件 ( /etc/httpd/conf/httpd.conf ) 复制到当前目次 ( apache )。 cp 下令是一个文件复制实用步伐,它将源文件路径和目标文件路径作为参数,并将源文件的内容复制到目标文件。 -r 标志告诉 cp 递归复制源目次的任何子目次。 -f 标志告诉 cp 覆盖目标目次中的任何现有文件。
总结
这些下令创建一个名为 apache 的目次,切换到该目次,将 Apache 设置文件复制到该目次,然后列出该目次的内容。这通常作为在 Linux 服务器上安装和设置 Apache 的过程的一部分来完成。设置文件包罗 Apache 应怎样运行的设置,比方要提供服务的假造主机以及侦听哪些端口。
检察端标语
httpd的默认端标语是80,如今我们把他改为8080
[root@ansible apache]# grep '^Listen' httpd.conf
Listen 80
[root@ansible apache]# vim httpd.conf
[root@ansible apache]# grep '^Listen' httpd.conf
Listen 8080
复制
代码
编写YAML核心
[root@ansible apache]# vim apache.yaml
[root@ansible apache]# cat apache.yaml
- hosts: host1
tasks:
- name: install -y httpd
yum: name=httpd state=present
- name: copy httpd.conf
copy: src=./httpd.conf dest=/etc/httpd/conf/httpd.conf
- name: run
service: name=httpd state=started enabled=yes
复制
代码
下令的具体表明:
- name: install -y httpd
此任务使用 yum 模块安装 Apache 包 ( httpd ):
name :“install -y httpd” - 任务的人类可读名称。 -y 标志大概用于 yum 模块,而且大概会在安装过程中克制提示(取决于模块
版本
)。
yum :指定将使用 yum 模块,该模块管理基于 RedHat 的体系上的包。
name=httpd :指示 yum 模块安装名为 httpd 的包。
state=present :确保 httpd 包安装在 host1 上。
- name: copy httpd.conf
此任务使用 copy 模块复制设置文件:
name :“copy httpd.conf” - 任务的人类可读名称。
copy :指定将使用负责文件传输的 copy 模块。
src=./httpd.conf :界说源文件路径。 ./ 指的是 playbook 地点的当前目次。确保此目次中存在名为 httpd.conf 的文件。
dest=/etc/httpd/conf/httpd.conf :界说目标主机上的目标文件路径。这将更换 host1 上现有的 httpd.conf 文件(如果必要对原始文件举行修改,请鉴戒)。
- name: run service
此任务使用 service 模块管理 Apache 服务:
name :“运行服务” - 任务的人类可读名称。
service :指定将使用用于管理体系服务的 service 模块。
name=httpd :指示 service 模块管理名为 httpd 的服务(大概是 Apache Web 服务器)。
state=started :确保 Apache 服务在 host1 上启动。
enabled=yes :这告诉 Ansible 启用服务在体系启动时自动启动。
检测语法
查抄语法是否出题目
[root@ansible apache]# ansible-playbook apache.yaml --syntax-check
复制代码
列出脚本的任务都有哪些
[root@ansible apache]# ansible-playbook apache.yaml --list-tasks
复制代码
列出目标主机
[root@ansible apache]# ansible-playbook apache.yaml --list-hosts
复制代码
以下是没有编译错误准确的输出
[root@ansible apache]# ansible-playbook apache.yaml --syntax-check
playbook: apache.yaml
[root@ansible apache]# ansible-playbook apache.yaml --list-tasks
playbook: apache.yaml
play #1 (host1): host1 TAGS: []
tasks:
install -y httpd TAGS: []
copy httpd.conf TAGS: []
run TAGS: []
[root@ansible apache]# ansible-playbook apache.yaml --list-hosts
playbook: apache.yaml
play #1 (host1): host1 TAGS: []
pattern: [u'host1']
hosts (1):
host1
复制代码
🎇2.客户端测试
起首检察是否安装乐成,而且检察httpd的端标语
[root@localhost ~]# grep "^Listen" /etc/httpd/conf/httpd.conf
Listen 8080
这时候就是8080 表示我们整个流程是正确无误的
复制代码
访问测试
测试3
我们在ansible服务器上把httpd的服务器端口修改为8090
在实验下令会怎么样呢???
[root@ansible apache]# ansible-playbook apache.yaml
复制代码
留意这边固然设置文件修改了端口 但是正在运行的步伐端口依然是8080,这个时间必要重启大概重载服务,但是Ansible中也有专门针对这个的。
回复
使用道具
举报
返回列表
风雨同行
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表