
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 服务的重新启动。