阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

使用Ansible部署LAMP环境

168次阅读
没有评论

共计 2611 个字符,预计需要花费 7 分钟才能阅读完成。

使用 Ansible 部署 LAMP 环境

  •  

前言

这两天学习了 Ansible, 在部署实验环境真的很好用, 今天向大家分享如何使用 Ansible 部署 LAMP 环境, 本文不对 Ansible 的基本使用作解释。

实验环境

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

 

主机 IP 地址 功用
ansible.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 并测试

使用 Ansible 部署 LAMP 环境使用 Ansible 部署 LAMP 环境

使用 Ansible 部署 LAMP 环境

使用 Ansible 部署 LAMP 环境

使用 Ansible 部署 LAMP 环境

使用 Ansible 部署 LAMP 环境

使用 Ansible 部署 LAMP 环境

使用 Ansible 部署 LAMP 环境

使用 Ansible 部署 LAMP 环境

使用 Ansible 部署 LAMP 环境

使用 Ansible 部署 LAMP 环境

使用 Ansible 部署 LAMP 环境

总结

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

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

使用 Ansible 高效交付 Docker 容器  http://www.linuxidc.com/Linux/2015-10/124233.htm

使用 Ansible 批量管理远程服务器  http://www.linuxidc.com/Linux/2015-05/118080.htm

Ansible 安装配置与简单使用  http://www.linuxidc.com/Linux/2015-07/120399.htm

在 CentOS 7 中安装并使用自动化工具 Ansible  http://www.linuxidc.com/Linux/2015-10/123801.htm

Ansible 和 Docker 的作用和用法  http://www.linuxidc.com/Linux/2014-11/109783.htm

Ansible 批量搭建 LAMP 环境 http://www.linuxidc.com/Linux/2014-10/108264.htm

Ansible:一个配置管理和 IT 自动化工具  http://www.linuxidc.com/Linux/2014-11/109365.htm

Ansible 的详细介绍:请点这里
Ansible 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-04/130025.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-21发表,共计2611字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中