ansible实战-nginx安装

简介:

背景:尽管yum和service模块安装和管理相应服务很方便,但实际生产中,一般需要使用源码安装


思路:先在一台机器上编译安装好nginx,打包,再用ansible分发下去


1. 创建相关目录和配置文件,整体树状图

    mkdir /etc/ansible/nginx_install


 wKiom1jU2MOB3hPTAAAqduXxvD4295.pngspacer.gif



1.1 vim /etc/ansible/nginx_install/install.yml #总安装文件

1
2
3
4
5
6
7
---
- hosts: agent.huangzp.com
   remote_user: root
   gather_facts: True
   roles:
    - common
    install


wKioL1jU2OTTHH8qAAATqOny6UE936.png


spacer.gif

1.2 mkdir -p roles/commom/tasks  # 安装前准备工作目录以及配置文件

commom:下面建一个tasks目录就行了

vim /etc/ansible/nginx_install/roles/common/tasks/main.yml  # 入口文件main.yml,安装nginx依赖包

1
2
3
4
5
6
- name:  install  initaliztion require software
   yum: name={{ item }} state=installed
   with_items:
     - zlib-devel
     - pcre-devel
     - openssl-devel


wKiom1jU2POSpdDcAAAfGBu5N0I630.png



1.3 mkdir -p roles/install/{handlers,files,meta,tasks,template,vars} # 安装主配置目录

tasks:核心配置文件,分发资源和安装nginx


1)vim /etc/ansible/nginx_install/roles/install/tasks/main.yml  #入口文件,包含了 copy.yml和install.yml两个配置文件

1
2
- include: copy.yml
- include:  install .yml


wKioL1jU2SiDoGF0AAAQTECvPN8428.png

spacer.gif


2) vim /etc/ansible/nginx_install/roles/install/tasks/copy.yml  #拷贝压缩包、解压缩、拷贝启动脚本、拷贝配置文件

1
2
3
4
5
6
7
8
- name: copy nginx software
   copy: src=nginx. tar .gz dest= /tmp/nginx . tar .gz owner=root group=root   #copy模块相对目录files
- 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   #template模块相对目录templates
- name: copy nginx config
   template: src=nginx.conf dest={{ nginx_basedir }} /conf/  owner=root goup=root mode=0644


wKiom1jU2TnClAIRAAA5lkJWNO8362.pngspacer.gif



3)vim /etc/ansible/nginx_install/roles/install/tasks/install.yml # 创建运行用户、启动nginx服务、添加至系统服务、删除压缩文件

1
2
3
4
5
6
7
8
- 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


wKioL1jU2UnzePDCAAAvG-MSXLI600.png


spacer.gif

vars:定义变量

vim /etc/ansible/nginx_install/roles/install/vars/main.yml #定义变量运行用户、端口、安装目录

1
2
3
nginx_user: www
nginx_port: 80
nginx_basedir:  /usr/local/nginx


wKiom1jU2VeicNhaAAAVMaVLf38181.png

spacer.gif

files:存放nginx.tar.gz等文件

tar -zcf nginx.tar.gz  /usr/local/nginx

cp /usr/local/nginx.tar.gz /etc/ansible/nginx_install/roles/install/files/


templates:模板配置文件,如启动脚本模板

cp /usr/local/nginx/conf/nginx.conf /etc/ansible/nginx_install/roles/install/template/

cp /etc/init.d/nginx /etc/ansible/nginx_install/roles/install/template/


handlers:发生改变要执行的操作,如配置文件改变,则重启服务


meta:说明信息,角色依赖等,一般用不着



2. 执行总配置文件ansible-playbook install.yml

spacer.gif

wKiom1jU_dLzifZYAAAxlGW0MQY681.png










本文转自 huangzp168 51CTO博客,原文链接:http://blog.51cto.com/huangzp/1910084,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
前端开发 应用服务中间件 nginx
docker安装nginx,前端项目运行
通过上述步骤,你可以轻松地在Docker中部署Nginx并运行前端项目。这种方法不仅简化了部署流程,还确保了环境的一致性,提高了开发和运维的效率。确保按步骤操作,并根据项目的具体需求进行相应的配置调整。
184 25
|
4月前
|
应用服务中间件 网络安全 nginx
轻松上手Nginx Proxy Manager:安装、配置与实战
Nginx Proxy Manager (NPM) 是一款基于 Nginx 的反向代理管理工具,提供直观的 Web 界面,方便用户配置和管理反向代理、SSL 证书等。本文档介绍了 NPM 的安装步骤,包括 Docker 和 Docker Compose 的安装、Docker Compose 文件的创建与配置、启动服务、访问 Web 管理界面、基本使用方法以及如何申请和配置 SSL 证书,帮助用户快速上手 NPM。
1516 1
|
4月前
|
运维 监控 应用服务中间件
自动化运维的利器:Ansible实战应用
【10月更文挑战第41天】在现代IT运维领域,自动化已成为提高效率、减少错误的关键。Ansible作为一种简单而强大的自动化工具,正被越来越多的企业采纳。本文将通过实际案例,展示如何使用Ansible简化日常运维任务,包括配置管理和批量部署等,旨在为读者提供一种清晰、易懂的自动化解决方案。
66 1
|
4月前
|
运维 Ubuntu 应用服务中间件
自动化运维工具Ansible的实战应用
【10月更文挑战第36天】在现代IT基础设施管理中,自动化运维已成为提升效率、减少人为错误的关键手段。本文通过介绍Ansible这一流行的自动化工具,旨在揭示其在简化日常运维任务中的实际应用价值。文章将围绕Ansible的核心概念、安装配置以及具体使用案例展开,帮助读者构建起自动化运维的初步认识,并激发对更深入内容的学习兴趣。
118 4
|
5月前
|
缓存 负载均衡 安全
Nginx常用基本配置总结:从入门到实战的全方位指南
Nginx常用基本配置总结:从入门到实战的全方位指南
570 0
|
5月前
|
运维 关系型数据库 MySQL
自动化运维工具Ansible的实战应用
【10月更文挑战第9天】在现代IT运维领域,效率和可靠性是衡量一个系统是否健康的重要指标。自动化运维工具Ansible因其简洁、易用的特性,成为了众多企业和开发者的首选。本文将通过实际案例,展示如何利用Ansible进行日常的运维任务,包括配置管理、软件部署以及批量操作等,帮助读者深入理解Ansible的应用场景及其带来的效益。
|
5月前
|
应用服务中间件 Linux nginx
Mac os 安装 nginx 教程(success)
这篇文章是关于如何在Mac OS系统上使用Homebrew安装nginx及其依赖,并解决安装过程中可能出现的权限问题。
404 0
Mac os 安装 nginx 教程(success)
|
5月前
|
负载均衡 应用服务中间件 Linux
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
这篇博客文章详细介绍了Nginx的下载、安装、配置以及使用,包括正向代理、反向代理、负载均衡、动静分离等高级功能,并通过具体实例讲解了如何进行配置。
246 4
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
|
5月前
|
负载均衡 算法 应用服务中间件
Nginx安装及配置详解
Nginx安装及配置详解
|
5月前
|
应用服务中间件 程序员 开发工具
mac下安装nginx
mac下安装nginx