首页 > 代码库 > 基于roles的方式定义安装配置LAMP平台
基于roles的方式定义安装配置LAMP平台
写在前面:如果此文有幸被某位朋友看见并发现有错的地方,希望批评指正。如有不明白的地方,愿可一起探讨。
实验拓扑图
安装ansible
# yum -y install ansible
修改/etc/ansible/hosts配置文件
# vim /etc/ansible/hosts
[hbhosts] 172.16.115.101 172.16.115.102 172.16.115.103
由于ansible通过ssh实现配置管理、应用部署、任务执行等功能,因此需要先配置ansible端能基于秘钥认证的方式联系各个被管理的主机
# ssh-keygen -t rsa -P ‘‘ # ansible hbhosts --module-name=copy --args=‘src=http://www.mamicode.com/root/.ssh/id_rsa.pub >创建以roles命名的目录
# mkdir -pv /root/lamp/roles正式安装LAMP平台前,需要做一些初始化的工作,在roles目录下创建comman目录来存放初始化所需要的文件和任务
# cd /root/lamp/roles # mkdir -pv common/{files,tasks}提供测试页面文件
# vim common/files/index.php<?php $link = mysql_connect(‘127.0.0.1‘,‘root‘,‘‘); if ($link) echo "Success..."; else echo "Failure..."; mysql_close(); phpinfo(); ?>提供时间同步任务和复制测试文件
# vim common/tasks/main.yaml- name: sync time cron: name="sync time" minute="*/3" job="/usr/sbin/ntpdate 172.16.0.1 &> /dev/null" - name: page file copy: src=http://www.mamicode.com/index.php dest=/var/www/html安装lamp平台需要安装http、php、mysql-server、php-mysql,因此需要提供安装这些程序的任务
# mkdir -pv lamp/{files,tasks}提供安装lamp平台任务和启动lamp平台任务
# vim lamp/tasks/maim.yml- name: install lamp platform yum: name={{ item }} state=present with_items: - httpd - php - mysql-server - php-mysql tags: inst - name: start lamp service: name={{ item }} state=started enabled=no with_items: - httpd - mysqld tags: start提供用于ansible-playbook的文件
# cd /root/lamp # vim lamp.yml- name: install and config lamp remote_user: root hosts: hbhosts roles: - common - lamp安装整个lamp平台
# ansible-playbook lamp.yml测试是否安装成功
在浏览器中分别键入172.16.115.101、172.16.115.102、172.16.115.103,都可以得到如下结果
基于roles的方式定义安装配置LAMP平台
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。