推荐-使用Ansible部署LAMP环境

使用Ansible部署LAMP环境

前言

这两天学习了Ansible, 在部署实验环境真的很好用, 今天向大家分享如何使用Ansible部署LAMP环境, 本文不对Ansible的基本使用作解释, 有兴趣的可以查看 马哥教育翻译: Ansible中文权威指南

实验环境

今天实验环境比较简单, 所以就不画图了

主机 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并测试

Alt textblob.png

blob.png

blob.png

blob.png

blob.png

blob.png

Alt text

Alt text

Alt text

Alt text

Alt text

总结

其实还可以使用role实现, 但是我们这里不做介绍, Ansible上手真的简单, ansible-doc命令查看的帮助也浅显易懂, 写这篇博客前mysql_user模块我是不会使用的, 写到最后的时候随便试一下就成功了, 看来ansible的入门真的很容易。

作者水平很低, 如果有错误及时指出, 如果你觉得本文写的好请点一波赞~(≧▽≦)/~
作者: AnyISaIln QQ: 1449472454
感谢: MageEdu

原创文章,作者:Net18-AnyISalIn,如若转载,请注明出处:http://www.178linux.com/14529

(1)
Net18-AnyISalInNet18-AnyISalIn
上一篇 2016-04-09 12:00
下一篇 2016-04-10 13:25

相关推荐

  • 从增删改查角度学习linux基础命令

    从增删改查角度学习linux基础命令   本文从文件的增加、删除、修改、查询四个角度介绍linux的基本命令,介绍如下:   一.增 touch命令是最常用的创建文件的命令,它的常见参数如下: -a 或–time=atime或–time=access或–time=use  只更改存取时间。 -c 或&#…

    2017-07-15
  • Vim编辑器解析

    vim编辑器 概述:   VIM即ViIMproved:vi的增强版 ,vim是模式化的编辑。   vi:Visual lnterface,是一种文本编辑器,所谓文本编辑数据是基于字符编码的文件,常见的编码 有ASCII编码,UNICODE编码。 种类:   行编辑器:所谓行编辑器是指一行行来编辑处理的工具   全屏编…

    Linux干货 2016-08-10
  • Linux的哲学思想

    初学Linux,了解一下Linux的哲学思想,对学习Linux还是非常有帮助的。 在了解Linux的哲学思想之前,可以先考虑一下,现在我们所学的Linux系统到底是面向什么应用场景而研发和使用的?个人认为:面向企业,是一个服务器操作系统。其所关注的地方是:高性能、可靠性、易维护性。 基于上述方面的考虑,Linux系统在构建和设计的时候,遵循了如下的哲学思想进…

    Linux干货 2017-08-30
  • N22-第六周作业

    请详细总结vim编辑器的使用并完成以下练习题 单词间跳转 w:下一个单词的词首 e:当前或后一个单词的词尾 b:当前或前一个单词的词首 行首行尾跳转: ^:跳转至行首的第一个非空白字符 0:跳转至行首 $: 跳转至行尾 句间跳转: ) ( 段落跳转: } { 字符编辑 x:删除光标所在处的字符 #x:删除光标所在处起始的#个字符 xp:交换光标所在处的字符与…

    Linux干货 2016-09-26
  • CentOS6.7下关于vsftpd的应用之一(匿名用户/普通用户/虚拟用户)

    1)使用yum安装vsftpd [root@C67-X64-A1 ~]# /etc/init.d/vsftpd start为 vsftpd 启动 vsftpd:           &nbs…

    Linux干货 2016-09-19
  • 文件管理类的命令总结

    Linux系统内针对目录的管理命令有很多,现在我们进行逐一介绍: 1.  mkdir – make directories,创建目录 语法:mkdir [OPTION]… DIRECTORY…常用选项: 选项 | 含义—— | ——-p, –parents | 递…

    2017-09-07

评论列表(2条)

  • n18-jude
    n18-jude 2016-04-15 08:56

    文章很不错,排版太漂亮了