Ansible配置redis
1.配置Ansible与管理机器密钥认证
#在管理ansible的服务器上与其他两个服务器进行密钥认证
ssh-keygen -t rsa #生成密钥
ssh-copy-id -i ~/.ssh/id_rsa.pub IP
2.做hosts解析
vim /etc/hosts
3.在管理服务器上安装配置ansible
yum -y install ansible
[root@cloud1 app]# whereis ansible
ansible: /usr/bin/ansible /etc/ansible /usr/share/ansible /usr/share/man/man1/ansible.1.gz
#在/etc/ansible下找到hosts文件里[webservers]创建一个组类似如下格式
[redis]
IP
IP
#测试格式ansible hosts下的组名 -m ping出现绿色或黄色表示成功
ansible redis -m ping
ansible redis -m command -a 'hostname'
更多详情以及模块这里就不多说了可以查看官网ansible
4.下载部署redis
ansible redis -m shell -a 'wget http://download.redis.io/releases/redis-3.2.12.tar.gz'
#出现黄色表示有更改也代表成功只有红色是失败
ansible redis -m shell -a 'tar -zxvf redis-3.2.12.tar.gz'
ansible redis -m shell -a 'ls'
ansible redis -m shell -a 'pwd'
发现下载到了/root下
ansible redis -m shell -a 'rm -rf redis-3.2.12.tar.gz'
ansible redis -m shell -a 'mv redis-3.2.12 redis'
ansible redis -m shell -a 'mv /root/redis /app/'
ansible redis -m shell -a 'ls /app/'
ansible redis -m shell -a 'ls'
也可以使用copy模块或者file模块对于复杂的文件更简单
#安装依赖
ansible redis -m shell -a 'mkdir -p /app/playbook'
ansible redis -m shell -a 'cd /app/playbook'
#在管理服务器上创建install.yml的playkook文件
vim install.yml
---
- name: install
hosts: redis # 替换为你的目标主机或主机组
become: true # 提升为root权限
tasks:
- name: 安装gcc
yum:
name: gcc
state: present
- name: 安装automake
yum:
name: automake
state: present
- name: 安装autoconf
yum:
name: autoconf
state: present
- name: 安装libtool
yum:
name: libtool
state: present
- name: 安装make
yum:
name: make
state: present
#执行
ansible-playbook install.yml
ansible redis -m shell -a 'cd /app/redis && make'
配置环境变量
先备份一份
ansible redis -m shell -a 'cp /etc/profile /etc/profile.bak'
再把环境变量追加到配置文件里
ansible redis -m shell -a 'echo "export PATH=/app/redis/src:$PATH" >> /etc/profile && source /etc/profile'
ansible redis -m shell -a 'tail -1 /etc/profile'
5.启动服务
ansible redis -m shell -a 'cd /app/redis && redis-server &'
#检查是否成功
ansible redis -m shell -a 'netstat -lntup|grep 6379'