service
模块用于管理系统服务,包括启动、停止、重新启动服务等操作。易于使用:
功能强大:
灵活可扩展:
service
模块的功能service
模块与其他Ansible模块组合使用,实现更复杂的自动化任务使用场景
service
模块在多个主机上批量启动、停止或重启服务,例如在部署新软件之前停止相关服务,或者在升级软件之后重新加载服务配置。service
模块定期检查服务状态,并自动重启或修复出现问题的服务,确保关键服务始终处于运行状态。service
模块来管理服务的配置文件,例如设置服务运行参数或环境变量。service
模块将服务管理任务纳入自动化部署流程中,提高部署效率和一致性。启动一个服务
- name: Start Apache service
service:
name: apache2
state: started
停止一个服务
- name: Stop Apache service
service:
name: apache2
state: stopped
重新启动一个服务
- name: Restart Apache service
service:
name: apache2
state: restarted
重载一个服务配置
- name: Reload Apache service
service:
name: apache2
state: reloaded
禁用一个服务
- name: Disable Apache service
service:
name: apache2
enabled: no
启用一个服务
- name: Enable Apache service
service:
name: apache2
enabled: yes
检查服务状态
- name: Check Apache service status
service_facts:
- debug:
var: ansible_facts.services['apache2'].state
通过一台安装ansible服务器来通过service模块
启动两台服务器安装httpd的网站服务器
帮助命令
ansible-doc service
通过以下配置就是创建一个webServers组 并且加入两个主机 再给组赋予变量 用户名和密码 这样组下的所有主机都可以访问 更加的便捷
附注事项:
webServers
组(通常使用基于 SSH 密钥的身份验证)。[root@ansible ~]# ansible webServers -m service -a 'name=httpd state=started'
webServers
:这指定要面向的主机组。此组中的主机应在 Ansible 清单文件中定义。-m service
:这告诉 Ansible 使用该 service
模块来管理目标主机上的服务。-a 'name=httpd state=started'
:这定义 service
了模块的参数。以下是每个参数的含义: name=httpd
:这指定要管理的服务的名称, httpd
在本例中为(通常用于 Apache Web 服务器)。state=started
:这将设置所需的服务状态。在这里,您指示 Ansible 确保在所有目标 Web 服务器上启动服务 httpd
。
客户端查看是否开启
给httpd服务设置开机自启
默认是关闭的状态
[root@ansible ~]# ansible webServers -m service -a 'name=httpd state=started enabled=yes'
webServers
:这指定了 Ansible 清单文件中定义的目标主机组。-m service
:这告诉 Ansible 使用该 service
模块来管理服务。-a 'name=httpd state=started enabled=yes'
:这些是模块的 service
参数: name=httpd
:指定要管理的服务 httpd
,即(通常用于 Apache Web 服务器)。state=started
:确保 httpd
服务在所有目标 Web 服务器上运行。enabled=yes
:将服务设置为在引导时自动启动。
客户端查看成功
以上我举几个例子
下面的参数请参考
关闭服务
[root@ansible ~]# ansible webServers -m service -a 'name=httpd state=stopped'
-a 'name=httpd state=stopped'
:这些是模块的service
参数:
name=httpd
:指定要管理的服务 httpd
,即(通常用于 Apache Web 服务器)。state=stopped
:确保在所有目标 Web 服务器上停止 httpd
服务。’重启服务
[root@ansible ~]# ansible webServers -m service -a 'name=httpd state=restarted'
-a 'name=httpd state=restarted'
:这些是模块的service
参数:
name=httpd
:指定要管理的服务 httpd
,即(通常用于 Apache Web 服务器)。state=restarted
:这将指示 service
模块执行 httpd
服务的重新启动。