一、创建剧本config_nginx.yml。完成以下功能:
1、安装nginx
2、提供默认主页
3、启动并开机自启服务。
mkdir nginx_ansible
cd nginx_ansible
#建立主机清单
vim inventory
[test1]
192.168.4.200 #这里也可以写域名
[all:vars]
ansible_ssh_private_key_file="/root/.ssh/key"
#书写ansible配置文件
vim ansible.cfg
[defaults]
inventory = ./inventory
remote_user = root
ask_pass = false
#书写我们的playbook
vim config_nginx.yml
---
- hosts: test1
remote_user: root
tasks:
- name: install nginx
yum:
name: nginx
state: latest
- name: test html
copy:
content: "Welcome to my nginx !!"
dest: /usr/share/nginx/html/index.html
- name: start firewalld
service:
name: firewalld
enabled: true
state: started
- name: firewalld pass nginx
firewalld:
service: http
permanent: true
immediate: true
state: enabled
- name: running
service:
name: nginx
enabled: true
state: started
- name: test web
hosts: localhost
tasks:
- name: connect to install web
uri:
url: http://192.168.4.200
return_content: yes
status_code: 200
二、创建一个名为packages.yml的剧本
1、在dev, prod 和 test 主机组中安装 php 和 mariadb 软件包
2、在dev 主机组中安装 Development Tools 包组
3、升级dev主机组中主机的所有软件包
在进行实验之前确保所有ssh免密登录正常
mkdir pack
cd pack
vim inventory
[dev]
192.168.4.200
[test]
192.168.4.5
[prod]
192.168.4.150
[all:vars]
ansible_ssh_private_key_file="/root/.ssh/key" #密钥文件位置
vim ansible.cfg
[defaults]
inventory = ./inventory
remote_user = root
ask_pass = false
#书写我们的playbook
vim packages.yml
---
- name: install packages
hosts: all
remote_user: root
tasks:
- name: install packages
yum:
name:
- php
- mariadb
state: latest
- name: install Devlopment Tools
hosts: dev
remote_user: root
tasks:
- name: install Devlopment Tools
yum:
name: "@Development Tools"
- name: updata all
hosts: dev
remote_user: root
tasks:
- name: updata
yum:
name: '*'
state: latest