码迷,mamicode.com
首页 > 其他好文 > 详细

ansible安装nginx

时间:2016-07-06 18:48:22      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:配置文件   common   files   文件夹   角色   

一、创建主文件夹及各子文件夹

cd  /etc/ansible
mkdir nginx_install
mkdir  -p nginx_install/roles/{common,install}

mkdir -p /etc/ansible/nginx_install/roles/common/tasks

cd /etc/ansible/nginx_install/roles/install

mkdir handlers files meta tasks templates vars


说明:roles目录下有三个角色,common为一些准备操作,install为安装nginx的操作

每个角色下面又有几个目录,handlers下面是当发生改变时要执行的操作,通常用在配置文件发生改变,重启服务。files为安装时用到的一些文件,meta为说明信息,说明角色依赖等信息,tasks里面是核心的配置文件,templates通常存一些配置文件,启动脚本等模板文件,vars下为定义的变量

二、安装前的准备

需要事先准备好安装用到的文件,具体如下:

在一台机器上事先编译安装好nginx,配置好启动脚本,配置好配置文件

安装好后,我们需要把nginx目录打包,并放到/etc/ansible/nginx_install/roles/install/files/下面,名字为nginx.tar.gz

启动脚本、配置文件都要放到/etc/ansible/nginx_install/roles/install/templates下面

然后cd  nginx_install/roles/

mkdir tasks
vim  ./common/tasks/main.yml //内容如下
- name: Install initializtion require software
  yum: name={{ item }} state=installed
  with_items:
    - gcc
    - zlib-devel
    - pcre-devel

三、定义变量

vim  ./install/vars/main.yml
nginx_user: www
nginx_port: 80
nginx_web_dir: /data/www
nginx_version: 1.6.3

四、拷贝相关 配置文件

vim   /etc/ansible/nginx_install/roles /install/tasks/copy.yml 

- name: Copy Nginx Software    

  copy: src=nginx.tar.gz dest=/tmp/nginx.tar.gz owner=root group=root

- name: Uncompression Nginx Software

  shell: tar zxf /tmp/nginx.tar.gz -C /usr/local/

- name: Copy Nginx Start Script

  template: src=nginx dest=/etc/init.d/nginx owner=root group=root mode=0755

- name: Copy Nginx Config

  template: src=nginx.conf dest={{ nginx_basedir }}/conf/ owner=root group=root mode=0644

五、建立用户,启动服务,删除压缩包

vim   /etc/ansible/nginx_install/roles /install/tasks/install.yml //内容如下

- name: Create Nginx User

  user: name={{ nginx_user }} state=present createhome=no shell=/sbin/nologin

- name: Start Nginx Service

  service: name=nginx state=restarted

- name: Add Boot Start Nginx Service

  shell: chkconfig --level 345 nginx on

- name: Delete Nginx compression files

  shell: rm -rf /tmp/nginx.tar.gz

六、创建main.yml并且把copy和install调用

vim   /etc/ansible/nginx_install/roles /install/tasks/main.yml //内容如下

- include: copy.yml

- include: install.yml

七、

定义总入口配置文件

vim  /etc/ansible/nginx_install/install.yml  //内容如下

---

- hosts: testhost

  remote_user: root

  gather_facts: True

  roles:

    - common

    - install

八、执行安装

ansible-playbook /etc/ansible/nginx_install/install.yml 

本文出自 “愺艮搥豩” 博客,谢绝转载!

ansible安装nginx

标签:配置文件   common   files   文件夹   角色   

原文地址:http://riverxyz.blog.51cto.com/533303/1796539

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!