ansible--roles使用

Posted huang-niu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ansible--roles使用相关的知识,希望对你有一定的参考价值。

一、ansible--roles使用

ansible在之前说明了playbook的使用,接下来介绍roles的使用(因剧本太多且杂乱,不在一一写出,请见谅)

1.nginx安装信息:

nginx_user: www                         #nginx用户
nginx_port: 80                          #nginx监听端口
nginx_web_dir: /data/webroot/nginx      #nginx的目录
nginx_version: 1.17.2                   #nginx的版本
pcre_version: 8.33                      #pcre的版本
pretended_name: Tengine                 #为了安全起见,把nginx名字改为tengine
pretended_version: 1.17.0               #隐藏版本,换个tengine的版本

2.php安装信息:

php_user: www                            #php fpm模式的启动用户
php_port: 9000                           #php fpm使用tcp的端口
php_dir: /usr/local                      #php的安装目录
php_version: 7.2.21                      #php的版本
mysql_basedir: /data/mysql/basedir       #mysql的目录

3.MySQL安装信息:

mysql_basedir: /data/mysql/basedir                    #源码目录
mysql_datadir: /data/mysql/datadir                    #数据目录
mysql_user: mysql                                     #mysql用户
mysql_database_user: root                             #数据库用户
mysql_passwd: 123456                            #数据库密码
mysql_port: 3306                                      #mysql监听端口
mysql_sock: /data/mysql/datadir/mysql.sock            #mysql的sock
mysql_charset: utf8                                   #mysql字符集
mysql_collation: utf8_general_ci                      #mysql排序方式
mysql_version: mysql-5.6.45.tar.gz                #mysql版本

4.playbook安装结构:

tree nginx* mysql* php*
nginx_delete
├── files
├── handlers
├── meta
│   └── main.yml
├── tasks
│   ├── delete.yml
│   └── main.yml
├── templates
└── vars
    └── main.yml
nginx_install
├── files
│   └── nginx-1.17.2.tar.gz
├── handlers
├── meta
│   └── main.yml
├── tasks
│   ├── copy.yml
│   ├── delete.yml
│   ├── install.yml
│   └── main.yml
├── templates
│   ├── index.html
│   ├── index.php
│   ├── install_nginx.sh
│   ├── nginx
│   ├── nginx.conf
│   └── vhost.conf
└── vars
    └── main.yml
mysql_delete
├── files
├── handlers
├── meta
│   └── main.yml
├── tasks
│   ├── delete.yml
│   └── main.yml
├── templates
└── vars
    └── main.yml
mysql_install
├── files
│   └── mysql.tar.gz
├── handlers
├── meta
│   └── main.yml
├── tasks
│   ├── copy.yml
│   ├── delete.yml
│   ├── install.yml
│   └── main.yml
├── templates
│   ├── install_mysql.sh
│   ├── my.cnf
│   ├── mysqld
│   └── mysql_security.sh
└── vars
    └── main.yml
php_delete
├── files
├── handlers
├── meta
│   └── main.yml
├── tasks
│   ├── delete.yml
│   └── main.yml
├── templates
│   └── delete_php.sh
└── vars
    └── main.yml
php_install
├── files
│   └── php.tar.gz
├── handlers
├── meta
│   └── main.yml
├── tasks
│   ├── copy.yml
│   ├── delete.yml
│   ├── install.yml
│   └── main.yml
├── templates
│   ├── install_php.sh
│   ├── php-fpm
│   └── php-fpm.conf
└── vars
    └── main.yml

5.playbook安装如下:

- hosts: "`host`"
  remote_user: "`user`"
  gather_facts: True
  roles:
    - common
    - pcre_install
    - nginx_install
    - mysql_install
    - php_install

6.安装完成后,访问nginx测试即可

以上是关于ansible--roles使用的主要内容,如果未能解决你的问题,请参考以下文章

Ansible Roles

Ansible Roles和最佳实践

Ansible 使用roles安装服务

ansible roles在 Centos 和 Ubuntu编译安装Nginx

运维自动化-Ansible roles

详解Ansible(Roles)自动化部署配置LAMP架构