ansible 习题一
针对所有主机(创建用户)
- hosts: yz
tasks:
- name: create group
group:
name: www
gid: '666'
- name: create user
user:
name: www
uid: '666'
group: '666'
web集群
- hosts: web
tasks:
- name: Configure Nginx Repo
yum_repository:
name: nginx
description: This Nginx Repo
baseurl: http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck: no
enabled: yes
- name: configure php repo
yum_repository:
name: php
description: This Php Repo
baseurl: https://www.quwenrui.top/php/
gpgcheck: no
enabled: yes
- name: Installed Nginx PHP
yum:
name: "{{ packages }}"
state: present
vars:
packages:
- nginx
- php71w
- php71w-cli
- php71w-common
- php71w-devel
- php71w-embedded
- php71w-gd
- php71w-mbstring
- php71w-pdo
- php71w-xml
- php71w-fpm
- php71w-mysqlnd
- php71w-opcache
- php71w-mcrypt
- php71w-pecl-memcached
- php71w-pecl-mongodb
- php71w-pecl-redis
- php71w-pecl-zip
- php71w-bcmath
- name: Configure Nginx.conf
copy:
src: ./web.file/nginx.conf.j2
dest: /etc/nginx/nginx.conf
owner: root
group: root
mode: '0644'
notify: Restart Nginx Server
- name: Configure Nginx VirtHost
copy:
src: ./web.file/cloud.yz.com.j2
dest: /etc/nginx/conf.d/cloud.yz.com.conf
owner: root
group: root
mode: '0644'
notify: Restart Nginx Server
- name: Configure php.ini
copy:
src: ./web.file/php.ini.j2
dest: /etc/php.ini
owner: root
group: root
mode: '0644'
notify: Restart PHP Server
- name: Configure php-fpm.d/www.conf
copy:
src: ./web.file/www.conf.j2
dest: /etc/php-fpm.d/www.conf
owner: root
group: root
mode: '0644'
notify: Restart PHP Server
- name: Create WebSite Directory
file:
path: /code/cloud
state: directory
owner: www
group: www
recurse: yes
- name: Copy Cloud Code
unarchive:
src: ./kodexplorer4.40.zip
dest: /code/cloud
copy: yes
owner: www
group: www
creates: "/code/cloud/index.php"
- name: Systemd Nginx Server
systemd:
name: nginx
state: started
enabled: yes
- name: Systemd PHP Server
systemd:
name: php-fpm
state: started
enabled: yes
handlers:
- name: Restart PHP Server
systemd:
name: php-fpm
state: restarted
- name: Restart Nginx Server
systemd:
name: nginx
state: restarted
配置文件
lb+redis
- hosts: lb
tasks:
- name: Configure Nginx Repo
yum_repository:
name: nginx
description: This Nginx Repo
baseurl: http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck: no
enabled: yes
- name: install nginx server
yum:
name: "{{ haha }}"
state: present
vars:
haha:
- nginx
- redis
- name: configure nginx
copy:
src: ./lb.file/nginx.conf.j2
dest: /etc/nginx/nginx.conf
owner: root
group: root
mode: '0644'
notify: Restart Nginx Server
- name: configure redis
copy:
src: ./lb.file/redis.conf.j2
dest: /etc/redis.conf
owner: root
group: root
mode: '0644'
notify: Restart Redis Server
- name: configrue conf.d
copy:
src: /root/ansible_playbook/lb.file/cloud.conf.j2
dest: /etc/cluod.yz.com.conf
owner: root
group: root
mode: '0644'
notify: Restart Nginx Server
- name: configrue conf.d
copy:
src: /root/ansible_playbook/lb.file/proxy_params.j2
dest: /etc/nginx/proxy_params
owner: root
group: root
mode: '0644'
- name: started nginx
systemd:
name: nginx
state: started
enabled: yes
- name: started redis
systemd:
name: redis
state: started
enabled: yes
handlers:
- name: Restart Nginx Server
systemd:
name: nginx
state: restarted
- name: Restart Redis Server
systemd:
name: redis
state: restarted
配置文件