プログラマーの調べ物

プログラマーが調べ物をするときに役に立つサイトを作ります。

Ansibleで別のサーバにNginxをインストールしてみる

正直、感動した。 こんなに簡単にサーバが作れるなんて…。

site.ymlを以下のように書く。

$ cat site.yml
---
- name: Ansible Example
  hosts: all
  become: true
  tasks:
    - name: Install libselinux-python
      yum:
        name: libselinux-python
        state: present

    - name: Install EPEL Repository
      yum:
         name: epel-release
         state: present

    - name: Install ngnix
      yum:
        name: nginx
        state: present

    - name: set run automation
      service:
        name: nginx
        state: started
        enabled: true

hostsは以下。

$ cat hosts
vm-machine ansible_host=192.168.62.130 ansible_port=22 ansible_user=root ansible_ssh_pass=root_password

で、ansible-playbook -i hosts site.ymlを実行すると、勝手にサーバ上にNginxをインストールしてくれる。

$ ansible-playbook -i hosts site.yml

PLAY [Ansible Example] ***********************************************************************

TASK [Gathering Facts] ***********************************************************************
ok: [vm-machine]

TASK [Install libselinux-python] *************************************************************
ok: [vm-machine]

TASK [Install EPEL Repository] ***************************************************************
        changed: [vm-machine]

TASK [Install ngnix] *************************************************************************
changed: [vm-machine]

TASK [set run automation] ********************************************************************
changed: [vm-machine]

PLAY RECAP ***********************************************************************************
vm-machine                 : ok=5    changed=3    unreachable=0    failed=0

別サーバにログインして

# nginx -v
nginx version: nginx/1.10.2
[root@localhost ~]#

本当に入ってた!