设为首页 收藏本站
查看: 805|回复: 0

[经验分享] 使用ansible 完成yum安装lamp环境

[复制链接]

尚未签到

发表于 2018-1-3 06:17:04 | 显示全部楼层 |阅读模式
  使用ansible 完成yum安装lamp环境
[iyunv@node2 ~]# cd /etc/ansible/playbook/

[iyunv@node2 playbook]# ls

  lamp
[iyunv@node2 playbook]# tree lamp/

  lamp/
  ├── group_vars
  │   └── lamp-vars
  ├── hosts
  ├── roles
  │   ├── init_sys
  │   │   └── tasks
  │   │       └── mail.yml
  │   └── install
  │       ├── handlers
  │       │   └── main.yml
  │       ├── tasks
  │       │   ├── install_apache.yml
  │       │   ├── install_mysql.yml
  │       │   ├── install_php.yml
  │       │   └── main.yml
  │       └── templates
  │           ├── httpd.conf
  │           └── phpinfo.php
  └── site.yml
  8 directories, 11 files
  变量文件
[iyunv@node2 lamp]# cat group_vars/lamp-vars

  pkg1: httpd
  pkg2: mariadb
  pkg3: mariadb-server
  pkg4: php
  pkg5: php-mysql
  系统初始化(禁用SElinux,停止防火墙,配置yum源)
[iyunv@node2 lamp]# cat roles/init_sys/tasks/mail.yml

  ---
  - name: configure yum.repo
  shell: yum instal  yum install http://mirrors.163.com/centos/7.4.1708/extras/x86_64/Packages/epel-release-7-9.noarch.rpm -y
  - name: stop firewalld
  shell: systemctl stop firewalld
  - name: disable firewalld
  shell: systemctl disable firewalld
  - name: stop selinux
  shell: sed 's/=permissive/=disabled/' /etc/selinux/config | setenforce 0
  安装apache
[iyunv@node2 lamp]# cat roles/install/tasks/install_apache.yml

  ---
  - name: install apache
  yum: name=httpd state=installed
  - name: start apache
  command: systemctl start httpd
  - name:  deploy apache rules
  template: src=/etc/ansible/playbook/lamp/roles/install/templates/httpd.conf dest=/etc/httpd/conf/httpd.conf
  notify: restart apache
  - name: wait for apache to start
  wait_for: port=80
  安装mysql
[iyunv@node2 lamp]# cat roles/install/tasks/install_mysql.yml

  ---
  - nmae: install mysql
  yum: pkg={{ pkg2 }} state=latest
  - name: install mysql-sever
  yum: pkg={{ pkg3 }} state=latest
  - name: start mysql
  command: systemctl start mariadb
  安装php
[iyunv@node2 lamp]# cat roles/install/tasks/install_php.yml

  ---
  - name: install php
  yum: pkg={{ pkg4 }} state=latest
  - name: install php-mysql
  yum: pkg={{ pkg5 }} state=latest
  - name: /var/www/html
  template: src=/etc/ansible/playbook/lamp/roles/install/templates/phpinfo.php dest=/var/www/html/phpinfo.php
  notify: restart mysql
  - name: wait for mysql to start
  wait_for: port=3306
  调用notify,当notify中有触发动作时调用
[iyunv@node2 lamp]# cat roles/install/handlers/main.yml

  ---
  - name: restart apache
  service: name=apache state=restarted
  - name: restart mysql
  service: name=mysql state=restarted
  模板文件
  1)cat roles/install/templates/httpd.conf
  #
  # If your host doesn't have a registered DNS name, enter its IP address here.
  #
  ServerName 192.168.138.13:80
  .....................................................
  .........................省略
  2)[iyunv@node2 lamp]# cat roles/install/templates/phpinfo.php
  ======================================================================
  this       is          a          test           web
  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  入口文件
[iyunv@node2 lamp]# cat site.yml

  ---
  - hosts: lamp-vars
  remote_user: root
  roles:
  - init_sys
  - install

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-431007-1-1.html 上篇帖子: ansible的主机变量 下篇帖子: Ansible@一个高效的配置管理工具
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表