ansible 修改远程主机nginx配置文件

安装ansible 

brew install ansible    或者 pip3 install ansible 

yum install ansible

添加远程主机 MAC

设置秘钥

mac登录远程主机
ssh -p 5700 root@192.168.123.211
ssh localhost 
#设置双机信任
ssh-kyegen -t rsa
#设置主机两边的ssh配置文件
vi /etc/ssh/sshd_config/        
PermitRootLogin yes
#将秘钥文件复制到目标主机B 即A主机免密登录B主机
sudo ssh-copy-id -i id_rsa.pub -p 5700 root@rhxk7q6.ner.ipyingshe.com
#测试免密登录B主机
ssh -p 5700 root@rhxk7q6.ner.ipyingshe.com

  ansible添加主机 MAC 

ansible配置文件 
vim /etc/ansible/ansible.cfg
[defaults]
#主机配置文件
inventory=./hosts
#私钥路径
private_key_file = /Users/mrdylan/.ssh/id_rsa
#并发连接数
#forks =5

## 配置ansible管理的主机
vim /etc/ansible/hosts
192.168.123.213 ansible_ssh_user=root ansible_ssh_port=5700

ansible 添加主机 linux 

ansible测试一下 ping功能

sudo ansible 192.168.1.10 -m ping 

 测试传送文件到B机

# 在A机上面执行  在B机上面需要安装rsync # yum install rsync
sudo ansible 192.168.231.123 -m synchronize -a "src=update.yml dest=/root/"

整体目标: 在本机修改好nginx配置文件,并批量更新到目标主机。

分解目标是 1.拷贝文件   2. 重启服务   

给所有的目标主机的nginx的配置文件末尾都添加如下:

在ansible的主机上面的配置文件修改  非目标机nginx的配置文件  这个文件单独管理在ansible的files目录下

mkdir -p /etc/ansible/nginx_config/roles/new/files 

vim /etc/ansible/nginx_config/roles/new/files/nginx.conf   

#user  nobody;
worker_processes  1;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       8080;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    include servers/*.conf     # 这是新加的 
    
}

将上述修改后的nginx文件通过ansible下发到目标机

ansible 拷贝文件模块

ansible 主机配置文件

cat /etc/ansible/hosts      #主要管理您的远程主机

[defaults]    #主机分组标签
192.168.1.10 ansible_ssh_user=morey ansible_ssh_port=22

vim /etc/ansible/deploy.nginx/roles/new/tasks/nginx_update.yml

- name: copy nginx.conf file
  hosts: defaults
  user: morey
  tasks:
    - name: cpoy file
      ansible.builtin.copy: 
        src: /etc/ansible/deploy.nginx/roles/new/files/nginx.conf   #ansible主机文件位置
        dest: /usr/local/etc/nginx/nginx.conf                       #远程目标主机位置
        owner: morey 
        group: admin 
        mode: 0644
        remote_src: yes  #远程文件存在 允许覆盖远程文件
    - name: restart nginx
      shell: systemctl restart nginx


###  Linux主机        #####

配置免秘钥登录 linux

管理主机master上面生成秘钥

ssh-keygen -t rsa

将管理机master上面的秘钥发送到被管理的主机 linux

ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.217.158

 添加被管理的主机 

vim /etc/ansible/hosts

[webservers]
192.168.217.158 ansible_ssh_user=root

验证是否成功

ansible  all -m ping

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

村长在路上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值