设为首页 加入收藏

TOP

Ansible--项目实战(一)
2019-09-02 23:21:25 】 浏览:33
Tags:Ansible-- 项目 实战

Ansible项目实战lnmp

项目规划

通过ansible roles配置lnmp环境,nginx通过源码编译安装,php通过源码编译安装,mysql通过yum安装(mysql源码编译超级慢)支持系统(centos6.xcentos7.x系列)

说明: nginxphp源码包放到对应的角色文件下的files目录下,通过vars/main.yml控制安装的版本和路径。如下:

[root@ansible roles]# cat nginx/vars/main.yml 
DOWNLOAD_DIR: "/usr/local/src/"  #软件包拷贝到目标主机的存放路径
INSTALL_DIR: "/usr/local/"       #安装路径
NGINX_VERSION: "1.12.2"          #软件包版本
USER: "nginx"                    #运行的用户
GROUP: "nginx"                   #运行的组

环境配置参考

角色编写

这里角色都统一放在了/etc/ansible/roles

安装编译时所需要用到的依赖包

[root@ansible ~]# cd /etc/ansible/roles/
[root@ansible roles]# cat init_pkg.yml 
#安装源码编译php、nginx时所需要用到的依赖包
---
- hosts: all 
  remote_user: root

  tasks:
    - name: Install Package
      yum: name={{ item }} state=installed
      with_items:
        - gcc-c++
        - glibc
        - glibc-devel
        - glib2
        - glib2-devel
        - pcre
        - pcre-devel
        - zlib
        - zlib-devel
        - openssl
        - openssl-devel
        - libpng
        - libpng-devel
        - freetype
        - freetype-devel
        - libxml2
        - libxml2-devel
        - bzip2
        - bzip2-devel
        - ncurses
        - curl
        - gdbm-devel
        - libXpm-devel
        - libX11-devel
        - gd-devel
        - gmp-devel
        - readline-devel
        - libxslt-devel
        - expat-devel
        - xmlrpc-c
        - libcurl-devel

nginx roles

1)创建相应文件夹

[root@ansible roles]# mkdir -p nginx/{files,handlers,tasks,templates,vars}

2)最终编写效果

[root@ansible roles]# tree nginx
nginx
├── files
│   ├── nginx-1.12.2.tar.gz
│   └── nginx-1.16.0.tar.gz
├── handlers
│   └── main.yml
├── tasks
│   ├── config.yml
│   ├── copypkg.yml
│   ├── group.yml
│   ├── install.yml
│   ├── main.yml
│   ├── service.yml
│   └── user.yml
├── templates
│   ├── nginx.conf.j2
│   ├── nginx_init.j2
│   └── nginx.service.j2
└── vars
    └── main.yml

5 directories, 14 files

php roles

1)创建相应文件夹

[root@ansible roles]# mkdir -p php/{files,handlers,tasks,templates,vars}

2)最终编写效果

[root@ansible roles]# tree php
php
├── files
│   └── php-5.6.40.tar.gz
├── handlers
│   └── main.yml
├── tasks
│   ├── config.yml
│   ├── copypkg.yml
│   ├── group.yml
│   ├── install.yml
│   ├── main.yml
│   ├── service.yml
│   └── user.yml
├── templates
│   ├── php-fpm.conf.j2
│   ├── php-fpm.init.j2
│   ├── php-fpm.service.j2
│   └── php.ini.j2
└── vars
    └── main.yml

5 directories, 14 files

mysql roles

1)创建相应文件夹

[root@ansible roles]# mkdir -p mysql/{files,handlers,tasks,templates,vars}

2)最终编写效果

[root@ansible roles]# tree mysql
mysql
├── files
├── handlers
│   └── main.yml
├── tasks
│   ├── config.yml
│   ├── install.yml
│   ├── main.yml
│   └── service.yml
├── templates
│   ├── my.cnf6.j2
│   └── my.cnf7.j2
└── vars

5 directories, 7 files

角色执行playbook文件编写

[root@ansible roles]# cat nginx_roles.yml 
#源码编译安装nginx
---
- hosts: all
  remote_user: root
  roles:
    - role: nginx


[root@ansible roles]# cat php_roles.yml 
#源码编译安装nginx
---
- hosts: all
  remote_user: root
  roles:
    - role: php


[root@ansi
首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇vim简明教程--半小时从入门到精通 下一篇关于RabbitMQ

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目