使用Ansible部署LAMP环境
2016-07-13 21:11
567 查看
使用Ansible部署LAMP环境
前言
Ansible在部署实验环境真的很好用,今天向大家分享如何使用Ansible部署LAMP环境。实验环境
今天实验环境比较简单, 所以就不画图了
主机 | IP地址 | 功用 |
---|---|---|
server1.anyisalin.com | 172.16.1.2 | 控制主机 |
web.anyisalin.com | 172.16.1.3 | httpd和php |
data.anyisalin.com | 172.16.1.4 | MySQL |
实验步骤
配置ssh公钥认证
ansible是agentless类的工具, 通过ssh管理远程主机, 我们需要配置基于公钥认证的ssh
[root@ansible ~]# ssh-keygen -P '' -f ~/.ssh/id_rsa -t rsa #生成公钥 [root@ansible ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub 172.16.1.3 [root@ansible ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub 172.16.1.4
安装ansible
由于ansible的rpm包只有在epel源主提供, 但是一些所依赖组件却在官方的base2中, 所以我们使用阿里云的镜像站
[root@ansible ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo [root@ansible ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo [root@ansible ~]# yum install ansible --nogpgcheck -y &> /dev/null && echo success #安装ansible success
配置host iventory
将我们所要管理的主机添加到配置文件中
[root@ansible ~]# vim /etc/ansible/hosts #按需添加以下字段到指定配置文件中 [webservers] #组名 172.16.1.3 #IP [dataserver] 172.16.1.4
创建YAML文件
我们通过playbook来指挥主机运行特定操作
注意: 笔者的配置只针对笔者的环境, 如需使用请自行修改
[root@ansible ~]# vim lamp.yml #创建YAML格式的文件 - hosts: webservers remote_user: root tasks: - name: Install Apache Httpd yum: name={{ item }} state=present disable_gpg_check=yes with_items: - httpd - php - php-mysql - name: Install Configuration File template: src=/root/httpd.conf dest=/etc/httpd/conf/httpd.conf notify: - restart httpd - name: Start Httpd Service service: enabled=true name=httpd state=started handlers: - name: restart httpd service: name=httpd state=restart - hosts: dataserver remote_user: root tasks: - name: Install MySQL Server yum: name=mysql-server state=present disable_gpg_check=yes - name: Install Configuration File template: src=/etc/my.cnf dest=/etc/my.cnf notify: - restart MySQL - name: Start MySQL Server service: name=mysqld state=started handlers: - name: restart MySQL service: name=mysqld state=restarted
运行Ansible-Playbook并测试
总结
其实还可以使用role实现, 但是我们这里不做介绍, Ansible上手真的简单, ansible-doc命令查看的帮助也浅显易懂。本文出自 “王强的博客” 博客,请务必保留此出处http://wqiang.blog.51cto.com/6074114/1826183
相关文章推荐
- css基础学习
- Git(一)
- opencv,关于物体检测
- Qt在QTableView中使用自定义委托
- js动画(运动框架)
- 顺序存储结构和链式存储结构的优缺点
- 8086寄存器详解
- Mysql数据类型
- struts2.5.1使用jQuery的ajax请求,返回json数据
- 算法—递归案例—一段神奇的代码
- int to String
- 【CityHunter】服务器端设计思路
- Hdu 5351 MZL's Border (找规律+Java高精度)
- 10. 【对于所有对象都通用的方法】尽量覆盖toString方法
- ITK: 连通区域检测和分析
- Laravel 5框架学习之数据库迁移(Migrations)
- 参加云计算开源产业联盟成果发布会的一些照片
- 前端学习小记(1)
- HDFS安全模式详解
- netty学习(二)——Hello world!