ansible 安装 nginx
2016-05-06 16:29
453 查看
1、首先安装一个 nginx ,打包
2、cd /etc/ansible
3、mkdir nginx_install
4、cd nginx_install
5、mkdir -p roles/{common,install}/{handlers,files,meta,tasks,templates,vars}
roles 目录下有两个角色,common为一些准备操作,install 为安装nginx 的操作。
每个角色下有几个目录:
handlers :当发生改变时要执行的操作,通常用在配置文件发生改变,重启服务
files :为安装时用到的一些文件
meta :为说明信息,说明角色依赖等信息
tasks :核心的配置文件
templates :通常存一些配置文件,启动脚本等模板文件
vars : 定义的变量
6、文件处理
common:
cd common;mkdir tasks;cd tasks
# vim main.yml
- name: Install initialization require software
yum: name={{ item }} state=installed
with_items:
- zlib-devel
- pcre-devel
- openssl-devel
install:
# cd ../../install; mkdir tasks vars files templates
# cp /usr/local/nginx.tar.gz files/
# cp /usr/local/nginx/conf/nginx.conf templates/
# cp /etc/init.d/nginx templates/
# vi vars/main.yml
nginx_user: www
nginx_port: 80
nginx_basedir: /usr/local/nginx
# cd tasks
# vim 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 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=started
- 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 配置包含 copy 跟 install
# vim main.yml
- include: copy.yml
- include: install.yml
7. 编辑总入口文件
# cd ../../nginx_install
# vim install.yml
---
- hosts:192.168.32.105
remote_user: root
gather_facts: True
roles:
- common
- install
8.安装
ansible-playbook install.yml
2、cd /etc/ansible
3、mkdir nginx_install
4、cd nginx_install
5、mkdir -p roles/{common,install}/{handlers,files,meta,tasks,templates,vars}
roles 目录下有两个角色,common为一些准备操作,install 为安装nginx 的操作。
每个角色下有几个目录:
handlers :当发生改变时要执行的操作,通常用在配置文件发生改变,重启服务
files :为安装时用到的一些文件
meta :为说明信息,说明角色依赖等信息
tasks :核心的配置文件
templates :通常存一些配置文件,启动脚本等模板文件
vars : 定义的变量
6、文件处理
common:
cd common;mkdir tasks;cd tasks
# vim main.yml
- name: Install initialization require software
yum: name={{ item }} state=installed
with_items:
- zlib-devel
- pcre-devel
- openssl-devel
install:
# cd ../../install; mkdir tasks vars files templates
# cp /usr/local/nginx.tar.gz files/
# cp /usr/local/nginx/conf/nginx.conf templates/
# cp /etc/init.d/nginx templates/
# vi vars/main.yml
nginx_user: www
nginx_port: 80
nginx_basedir: /usr/local/nginx
# cd tasks
# vim 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 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=started
- 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 配置包含 copy 跟 install
# vim main.yml
- include: copy.yml
- include: install.yml
7. 编辑总入口文件
# cd ../../nginx_install
# vim install.yml
---
- hosts:192.168.32.105
remote_user: root
gather_facts: True
roles:
- common
- install
8.安装
ansible-playbook install.yml
相关文章推荐
- nginx入门
- nginx
- Nginx启动流程
- nginx学习之一
- 企业级nginx服务优化(四 )伪静态+php.ini
- nginx源码学习资源
- 第2章 Nginx的配置
- LNMP(linux+nginx+mysql+php)服务器环境配置
- Nginx负载均衡配置实例详解
- nginx php fastcgi Connection reset by peer的原因及解决办法
- Nginx(负载均衡)+keepalived(双机热备)
- [nginx] 网上最全面nginx教程(近100篇文章整理)
- Nginx的工作模式和一些理解
- 企业级nginx服务优化(三 )Apache+防盗链
- Nginx安装
- nginx日志过滤相同IP方法
- 企业级nginx服务优化(二 )
- 安装成功的nginx如何添加未编译安装模块
- nginx location if 中使用proxy_pass
- 在linux系统下怎么安装两个nginx