Use um sistema de gerenciamento de configuração para implantar essas alterações e inclua um acionador para reiniciar automaticamente os serviços cujos arquivos de configuração foram alterados.
Vale muito a pena adquirir o hábito de usar o CM enquanto você está aprendendo, pois será muito mais difícil aprender hábitos ruins mais tarde em sua carreira.
Para começar, aqui está um playbook ansible simples que irá implantar um arquivo de configuração nginx para o seu servidor e, em seguida, reiniciar o nginx se algo mudou:
---
- hosts: web
sudo: yes
tasks:
- name: Install packages
apt: state=installed install_recommends=no name={{ item }}
with_items:
- nginx
- name: Deploy nginx config file
copy: src=nginx.conf dest=/etc/nginx/nginx.conf
notify: restart nginx
handlers:
- name: restart nginx
service: name=nginx state=restarted
Salve esse texto em um arquivo como foo.yml
. Você também precisará de um arquivo de inventário para informar qual host (es) executar esses comandos. Crie um arquivo hosts
com conteúdo como:
[web]
servername.example.com
Salve seu playbook, o arquivo de inventário e seu nginx.conf no mesmo diretório.
Então você pode aplicar o manual:
$ ansible-playbook foo.yml -i hosts -K
Após a emissão desse comando, você será perguntado pela sua senha sudo. Forneça-o e, em seguida, o manual será executado.