Ansible。复制 nginx 配置的正确方法

Ansible。复制 nginx 配置的正确方法

我们有如下任务:

- template: 
    src=templates/nginx/default 
    dest=/etc/nginx/sites-available/default 
    owner=root 
    group=root

当我像这样运行它时:

ansible-playbook -i inventory/amazon site.yml -u ubuntu --become --limit=web

它可以工作。但是become会让用户以 root 身份运行,并且如果 nginx 更新只是部署过程的一部分 - 则become标志很危险。

如果我们删除它-ansible会出现如下错误:

TASK [nginx : template] ********************************************************
fatal: [*****.eu-west-1.compute.amazonaws.com]: FAILED! => {"changed": true, "failed": true, "gid": 1000, "group": "ubuntu", "mode": "0777", "msg": "chown failed", "owner": "ubuntu", "path": "/etc/nginx/sites-available/default", "size": 275, "state": "file", "uid": 1000} 

那么.. 使用 ansible 更新 nginx 配置的正确方法是什么? 不用 可以做到吗--become

答案1

become: yes在需要 root 权限的任务上使用。请参阅http://docs.ansible.com/ansible/become.html供官方参考。

相关内容