linux入门实验手册14 ansible使用
-
启动Nginx出错:nginx: [emerg] open() "/run/nginx.pid" failed (2: No such file or directory)
在/run/下建立一个文件夹命名为nginx(如果/run/不存在,则mkdir /run/nginx/ -pv)
然后执行启动服务文件(可用rpm -ql nginx查找):我的是/usr/sbin/nginx,再执行/usr/sbin/nginx -s reload
然后启动Nginx即可 -
ansible-playbook --limit centos7 role-nginx.yml
--limit 主机列表 只针对主机列表中的主机执行
--check -C 只检测可能会发生的改变,但不真正执行操作
--list-hosts 列出运行任务的主机 -
ansible --list-hosts 显示主机列表,可简写 --list
具体用法:ansible-playbook all --list
-m module 指定模块,默认为command,可修改配置文件/etc/ansible/ansible.cfg中的#module_name = command #默认模块 -
ansible二进制安装Nginx、mariadb过程及注意要点
Nginx:mkdir /data/ansible/roles/nginx/{tasks,files,templates,vars,handlers} -pv cd /data/ansible/roles/nginx/ vim tasks/user.yml vim tasks/group.yml vim tasks/install.yml vim tasks/config.yml vim tasks/service.yml vim tasks/data.yml vim tasks/main.yml cd .. vim role-nginx.yml ansible-playbook -C role-nginx.yml ansible-playbook role-nginx.yml 如果centos7不成功,则可能是yum源问题,可以使用下列方法: ansible centos7 -a 'mkdir /etc/yum.repos.d/repo' ansible centos7 -a 'mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repo' ansible centos7 -m copy -a 'src=/etc/yum.repos.d/base.repo dest=/etc/yum.repos.d/ backup=yes' ansible centos7 -m copy -a 'src=/etc/yum.repos.d/epel.repo dest=/etc/yum.repos.d/ backup=yes'
mariadb
cd ansible/roles/ mkdir mysql/{files,tasks,templates,vars,handlers} -pv cd mysql/tasks/ vim user.yml vim unarchive.yml vim mysqllink.yml vim mysqldata.yml vim mysqldatabase.yml vim pathvar.yml vim config.yml vim servicefile.yml vim startservice.yml vim mysqldatadirowner.yml vim main.yml cd /usr/local/ tar xvf mariadb-10.2.25-linux-x86_64.tar.gz cd mariadb-10.2.25-linux-x86_64/ cd support-files/ cp my-huge.cnf /data/playbook/etc/my.cnf vim my.cnf 添加datadir = /data/mysql (重点!!) cd /data/ansible/ ansible-playbook -C role-mariadb.yml ansible-playbook role-mariadb.yml