ansible playbook脚本,安装LAMP套件

yum 集中式安装lamp

---
- name: LAMP install
  hosts: dbservers
  tasks:
    - name: disable firewalld
      service:
        name: firewalld
        enabled: no
        state: stopped
    - name: disabled selinux
      shell: "sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config"
      shell: "iptables -F"
    - name: install httpd
      yum:
        name: httpd
        state: present
    - name: install mariadb
      yum:
        name: mariadb-server
        state: present
    - name: install php
      yum:
        name: php,php-mysql,php-gd
        state: present
    - name: start mariadb
      service:
        name: mariadb
        enabled: yes
        state: started
    - name: new db passwd
      shell: 'mysqladmin -u root password "123456"'
    - name: start http
      service:
        name: httpd
        enabled: yes
        state: started
    - name: copy index.php
      copy: src=index.php dest=/var/www/html/index.php
    - name: reboot
      reboot:
        reboot_timeout: 60
   
...        

ansible playbook脚本,安装LAMP套件_第1张图片

ansible playbook脚本,安装LAMP套件_第2张图片

 网页验证

ansible playbook脚本,安装LAMP套件_第3张图片

分布式安装lamp

---
- name: this is deploy lamp service by yum install
  remote_user: root
  hosts: all
  gather_facts: false
  tasks:
   - name: stop firewalld
     service: name=firewalld state=stopped
   - name: stop seliunx
     command: '/usr/sbin/setenforce 0'
     ignore_errors: true
  
   - name: cope nginx.repo file
     copy: src=/opt/nginx.repo dest=/etc/yum.repos.d
     when: inventory_hostname == "192.168.50.25"
   - name: yum install nginx service
     yum: name=nginx state=latest
     when: inventory_hostname  == "192.168.50.25"
   - name: start nginx service
     service: name=nginx state=started enabled=yes
     when: inventory_hostname == "192.168.50.25"  
 


   - name: yum install php service
     yum: name=php state=latest
     when: inventory_hostname  == "192.168.50.26"
   - name: copy test file
     copy: src=/opt/index.php dest=/var/www/html
     when: inventory_hostname  == "192.168.50.26"


   - name: yum install mariadb state=latest
     yum: name=mariadb
     when: inventory_hostname == "192.168.50.27"
   - name: yum install mariadb-server
     yum: name=mariadb-server state=latest
     when: inventory_hostname == "192.168.50.27"
   - name: start mariadb service
     service: name=mariadb state=started enabled=yes
     when: inventory_hostname == "192.168.50.27"

   - name: modify nginx.conf to connect php with nginx
     copy: src=/opt/default.conf  dest=/etc/nginx/conf.d/default.conf
     when: inventory_hostname == "192.168.50.25"
   - name: restart nginx
     service: name=nginx state=restarted
     when: inventory_hostname == "192.168.50.25"
   - name: new mariadb passwd
     shell: 'mysqlaadim -u root password "abc123"'
     when: inventory_hostname == "192.168.50.25"

ansible playbook脚本,安装LAMP套件_第4张图片

ansible playbook脚本,安装LAMP套件_第5张图片

远程挂载镜像

---
- name: this is test for mount
  hosts: webservers
  remote_user: root
  tasks:
   - name: mount test
     mount:
      src: /dev/sr0
      path: /mnt
      state: mounted
      fstype: 'iso9660'
 

ansible playbook脚本,安装LAMP套件_第6张图片

三:通过role分布式YUM安装lnmp

ansible playbook脚本,安装LAMP套件_第7张图片

 

建立role的文件夹

mkdir /etc/ansible/roles/httpd/{files,templates,tasks,handlers,vars,defaults,meta} -p
mkdir /etc/ansible/roles/mysql/{files,templates,tasks,handlers,vars,defaults,meta} -p
mkdir /etc/ansible/roles/php/{files,templates,tasks,handlers,vars,defaults,meta} -p

touch /etc/ansible/roles/httpd/{defaults,vars,tasks,meta,handlers}/main.yml
touch /etc/ansible/roles/mysql/{defaults,vars,tasks,meta,handlers}/main.yml
touch /etc/ansible/roles/php/{defaults,vars,tasks,meta,handlers}/main.yml

安装nginx 服务

ansible playbook脚本,安装LAMP套件_第8张图片

ansible playbook脚本,安装LAMP套件_第9张图片 

 

ansible playbook脚本,安装LAMP套件_第10张图片

 

ansible playbook脚本,安装LAMP套件_第11张图片

 

ansible playbook脚本,安装LAMP套件_第12张图片

 安装php服务

ansible playbook脚本,安装LAMP套件_第13张图片

 

ansible playbook脚本,安装LAMP套件_第14张图片

 准备文件

ansible playbook脚本,安装LAMP套件_第15张图片

 

ansible playbook脚本,安装LAMP套件_第16张图片

 

安装mysql服务

ansible playbook脚本,安装LAMP套件_第17张图片

ansible playbook脚本,安装LAMP套件_第18张图片

 vim site.yml

ansible playbook脚本,安装LAMP套件_第19张图片

 

运行剧本

ansible-playbook site.yum

你可能感兴趣的:(ansible)