使用Ansible安装Memcache的Playbook备忘录

因为我是Ansible的初学者,如果有改进的地方,请告诉我。

- hosts: [web-server]
  vars:
    src_dir: '/usr/local/src'

    libevent_src_dir: "$src_dir/libevent"
    libevent_version: "2.0.21"
    libevent_src_url: "https://github.com/downloads/libevent/libevent/libevent-$libevent_version-stable.tar.gz"
    libevent_dir: "libevent-$libevent_version-stable"

    memcached_src_dir: "$src_dir/memcached"
    memcached_version: "1.4.15"
    memcached_src_url: "http://memcached.googlecode.com/files/memcached-$memcached_version.tar.gz"
    memcached_dir: "memcached-$memcached_version"

    memcached_inifile_path: "/root/ansible/memcached"

  tasks:
    - name: "create libevent src dir"
      file: dest=$libevent_src_dir state=directory

    - name: "download libevent src"
      get_url: url=$libevent_src_url dest=$libevent_src_dir

    - name: "extract src file"
      command: tar zxvf libevent-$libevent_version-stable.tar.gz chdir=$libevent_src_dir

    - name: "mkdir libevent dir"
      file: dest=/usr/local/libevent-$libevent_version-stable state=directory

    - name: "create synbolic link"
      file: src=/usr/local/libevent-$libevent_version-stable dest="/usr/local/libevent" state=link

    - name: "configure"
      command: chdir=$libevent_src_dir/$libevent_dir ./configure --prefix=/usr/local/libevent

    - name: "make"
      command: chdir=$libevent_src_dir/$libevent_dir make

    - name: "make install"
      command: chdir=$libevent_src_dir/$libevent_dir make install

    - name: "create memcached src dir"
      file: dest=$memcached_src_dir state=directory

    - name: "download memcached src"
      get_url: url=$memcached_src_url dest=$memcached_src_dir

    - name: "extract src file"
      command: tar zxvf memcached-$memcached_version.tar.gz chdir=$memcached_src_dir

    - name: "mkdir memcached dir"
      file: dest=/usr/local/memcached-$memcached_version state=directory

    - name: "create synbolic link"
      file: src=/usr/local/memcached-$memcached_version dest="/usr/local/memcached" state=link

    - name: "configure"
      command: chdir=$memcached_src_dir/$memcached_dir ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent

    - name: "make"
      command: chdir=$memcached_src_dir/$memcached_dir make

    - name: "make install"
      command: chdir=$memcached_src_dir/$memcached_dir make install

    - name: "copy script"
      copy: mode=755 src=$memcached_src_dir/$memcached_dir/scripts/memcached.sysv dest=/etc/init.d/memcached

    - name: "copy start-memcached"
      copy: mode=755 src=$memcached_src_dir/$memcached_dir/scripts/start-memcached dest=/usr/local/memcached/bin/start-memcached 

    - name: "copy memcached-tool"
      copy: mode=755 src=$memcached_src_dir/$memcached_dir/scripts/memcached-tool dest=/usr/local/memcached/bin/memcached-tool

    - name: "copy ini file"
      copy: src=$memcached_inifile_path dest=/etc/sysconfig/memcached

    - name: "create /var/run/memcached"
      file: dest=/var/run/memcached state=directory

    - name: "start memcached"
      command: /etc/init.d/memcached start

    - name: "chkconfig on"
      action: service name=memcached state=started enabled=yes
广告
将在 10 秒后关闭
bannerAds