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,如需转载请自行联系原作者
目录
相关文章
|
14天前
|
缓存 负载均衡 安全
Nginx常用基本配置总结:从入门到实战的全方位指南
Nginx常用基本配置总结:从入门到实战的全方位指南
181 0
|
20天前
|
负载均衡 应用服务中间件 Linux
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
这篇博客文章详细介绍了Nginx的下载、安装、配置以及使用,包括正向代理、反向代理、负载均衡、动静分离等高级功能,并通过具体实例讲解了如何进行配置。
87 4
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
|
17天前
|
运维 关系型数据库 MySQL
自动化运维工具Ansible的实战应用
【10月更文挑战第9天】在现代IT运维领域,效率和可靠性是衡量一个系统是否健康的重要指标。自动化运维工具Ansible因其简洁、易用的特性,成为了众多企业和开发者的首选。本文将通过实际案例,展示如何利用Ansible进行日常的运维任务,包括配置管理、软件部署以及批量操作等,帮助读者深入理解Ansible的应用场景及其带来的效益。
|
17天前
|
应用服务中间件 Linux nginx
Mac os 安装 nginx 教程(success)
这篇文章是关于如何在Mac OS系统上使用Homebrew安装nginx及其依赖,并解决安装过程中可能出现的权限问题。
33 0
Mac os 安装 nginx 教程(success)
|
24天前
|
Ubuntu 搜索推荐 应用服务中间件
Nginx安装与使用
Nginx安装与使用
|
24天前
|
负载均衡 算法 应用服务中间件
Nginx安装及配置详解
Nginx安装及配置详解
|
24天前
|
应用服务中间件 程序员 开发工具
mac下安装nginx
mac下安装nginx
|
24天前
|
应用服务中间件 Linux nginx
CentOS7安装Nginx
CentOS7安装Nginx
|
24天前
|
Ubuntu Unix 应用服务中间件
Ubuntu16.04.1 安装Nginx
Ubuntu16.04.1 安装Nginx
|
26天前
|
前端开发 JavaScript 应用服务中间件
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
本文是一篇详细的教程,介绍了如何在Linux系统上安装和配置nginx,以及如何将打包好的前端项目(如Vue或React)上传和部署到服务器上,包括了常见的错误处理方法。
69 0
linux安装nginx和前端部署vue项目(实际测试react项目也可以)