想自己做个网站,数据百度做网站好用吗,wordpress时间代码,中国企业库Ansible-roles
一、roles作用
把playbook剧本里的各个play看作为角色#xff0c;将各个角色的tasks任务、vars变量、templates模板、files文件等内容放置到角色的目录中统一管理#xff0c;需要的时候可在playbook中直接使用roles调用#xff0c;所以roles可以实现playboo…Ansible-roles
一、roles作用
把playbook剧本里的各个play看作为角色将各个角色的tasks任务、vars变量、templates模板、files文件等内容放置到角色的目录中统一管理需要的时候可在playbook中直接使用roles调用所以roles可以实现playbook代码的复用。二、利用roles安装lnmp
ansible主机地址192.168.111.10vim /etc/ansible/hosts
[nginx]
192.168.111.20
[mysql]
192.168.111.30
[php]
192.168.111.401.在roles创建角色目录
mkdir /etc/ansible/roles/nginx/{files,templates,tasks,handlers,vars,defaults,meta} -pmkdir /etc/ansible/roles/mysql/{files,templates,tasks,handlers,vars,defaults,meta} -pmkdir /etc/ansible/roles/php/{files,templates,tasks,handlers,vars,defaults,meta} -p2.创建角色的的配置文件
touch /etc/ansible/roles/nginx/{defaults,vars,tasks,meta,handlers}/main.ymltouch /etc/ansible/roles/mysql/{defaults,vars,tasks,meta,handlers}/main.ymltouch /etc/ansible/roles/php/{defaults,vars,tasks,meta,handlers}/main.yml
3.配置nginx角色
在file目录中添加配置文件
default.conf nginx.repo index.php在tasks目录中创建main.yamlini.yaml文件
vim main.yaml
- include: init.yml- name: copy nginx.repocopy: srcnginx.repo dest/etc/yum.repos.d/- name: install nginxyum: namenginx
- name: copycopy: srcdefault.conf dest/etc/nginx/conf.d/default.conf
- name: index.phpcopy: srcindex.php dest/usr/share/nginx/html
- name: start nginxservice: namenginx statestartedvim init.yaml
- name: stop firewalldservice: namefirewalld statestopped
- name: stop setenforcecommand: /usr/sbin/setenforce 0ignore_errors: True4.配置mysql角色
在file目录中添加配置文件
vim mysql.sh
passd$(grep password /var/log/mysqld.log | awk {print $NF}| head -1)
mysql -uroot -p$passd --connect-expired-password -e ALTER USER rootlocalhost IDENTIFIED BY Admin123;
mysql -uroot -pAdmin123 -e grant all privileges on *.* to root% identified by Admin123 with grant option;mysql-community.repo mysql-community-source.repo在tasks目录中配置main.yaml文件
vim main.yaml- include: init.yml- name: copy mysql.repocopy: srcmysql-community.repo dest/etc/yum.repos.d/
- name: copycopy: srcmysql-community-source.repo dest/etc/yum.repos.d/
- name: install mysql-serveryum: namemysql-server
- name: start mysqlservice: namemysqld.service statestarted
- name: chushihua script: mysql.shignore_errors: True5.配置php角色
在file目录中添加配置文件
vim index.php
?php
phpinfo();
?在tasks目录中配置main.yaml文件
vim init.yaml- name: stop firewalldservice: namefirewalld statestopped
- name: stop setenforcecommand: /usr/sbin/setenforce 0ignore_errors: True- include: init.yml- name: install php.reposhell: rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpmignore_errors: True
- name: install phpshell: yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-pdo php72w-xml php72w-fpm php72w-mysqlnd php72w-opcacheignore_errors: True- name: useruser: namephp
- name: web file: name/usr/share/nginx/html statedirectory#- name: index.php# copy: srcindex.php dest/usr/share/nginx/html/- name: modify php configuration filereplace: path/etc/php.ini regexp;date.timezone replacedate.timezone Asia/Shanghai
- name: modify username and groupname in www.confreplace: path/etc/php-fpm.d/www.conf regexpapache replacephp
- name: modify listen addr in www.confreplace: path/etc/php-fpm.d/www.conf regexp127.0.0.1:9000 replace192.168.111.40:9000
- name: modify allowed client in www.confreplace: path/etc/php-fpm.d/www.conf regexp127.0.0.1 replace192.168.111.20- name: start php-fpm service: namephp-fpm statestarted6.配置主文件lnmp.yaml
vim lnmp.yaml
- name: nginx playhosts: nginxremote_user: rootroles:- nginx- name: mysql playhosts: mysqlremote_user: rootroles:- mysql- name: php playhosts: phpremote_user: rootroles:- php