运维自动化之ansible playbook安装apache
上次介绍了如何使用ansible安装lnmp(地址是http://dl528888.blog.51cto.com/2382721/1440775),现在介绍如何使用ansible安装apache。
下面是安装apache的信息:
apr_version: 1.5.0 apr_util_version: 1.5.3 libiconv_version: 1.14 apache_version: 2.4.7 apache_web_dir: /data/webroot/apache apache_log: /data/webroot/apache/logs apache_vhost: /data/webroot/apache/vhost apache_port: 80 apache_user: www serveradmin: denglei@chukong-inc.com
可以看到apache的版本是2.4.7
备注:此playbook仅能对centos或者redhat的6.x版本进行安装。
下面是安装apache的playbook结构
apache_delete ├── files ├── handlers ├── meta │ └── main.yml ├── tasks │ ├── delete.yml │ └── main.yml ├── templates └── vars└── main.yml apache_install ├── files │ ├── httpd-2.4.7.tar.gz │ └── libiconv.tar.gz ├── handlers ├── meta │ └── main.yml ├── tasks │ ├── copy.yml │ ├── delete.yml │ ├── install.yml │ └── main.yml ├── templates │ ├── httpd │ ├── httpd.conf │ ├── index.html │ ├── index.php │ └── vhost.conf └── vars└── main.yml12 directories, 17 files
playbook安装apache的是:
09:09:35 # cat apache_install.yml --- - hosts: "`host`"remote_user: "`user`"gather_facts: Trueroles:- common- pcre_install- apache_install
playbook删除apache的是:
09:09:56 # cat apache_delete.yml --- - hosts: "`host`"remote_user: "`user`"gather_facts: Trueroles:- apache_delete
1、安装apache
09:05:59 # time ansible-playbook apache_install.yml --extra-vars "host=192.168.240.13 user=root" --private-key=/root/test.pemPLAY [192.168.240.13] ********************************************************* GATHERING FACTS *************************************************************** ok: [192.168.240.13]TASK: [common | Install initializtion require software] *********************** changed: [192.168.240.13]TASK: [pcre_install | Copy Pcre Software To Redhat Client] ******************** changed: [192.168.240.13]TASK: [pcre_install | Uncompression Pcre Software In Redhat Client] *********** changed: [192.168.240.13]TASK: [pcre_install | Delete Pcre Software In Redhat Client] ****************** changed: [192.168.240.13]TASK: [apache_install | Copy Apache Software To Redhat Client] **************** changed: [192.168.240.13] => (item=httpd-2.4.7.tar.gz) changed: [192.168.240.13] => (item=libiconv.tar.gz)TASK: [apache_install | Create Apache User In Redhat Client] ****************** changed: [192.168.240.13]TASK: [apache_install | Uncompression Apache Software To Redhat Client] ******* changed: [192.168.240.13]TASK: [apache_install | Copy Apache Config To Redhat Client] ****************** changed: [192.168.240.13]TASK: [apache_install | Copy Apache Vhost Config To Redhat Client] ************ changed: [192.168.240.13]TASK: [apache_install | Copy Apache Start Service Script To Redhat Client] *** changed: [192.168.240.13]TASK: [apache_install | Create Lib Install Dir] ******************************* ok: [192.168.240.13]TASK: [apache_install | Check Apache Iconv In Redhat Client] ****************** changed: [192.168.240.13]TASK: [apache_install | Install Apache Iconv In Redhat Client] **************** changed: [192.168.240.13]TASK: [apache_install | Check Lib In Config In Redhat Client] ***************** failed: [192.168.240.13] => {"changed": true, "cmd": "grep -c /usr/local/lib/ /etc/ld.so.conf ", "delta": "0:00:00.005372", "end": "2014-07-27 21:07:58.416717", "item": "", "rc": 1, "start": "2014-07-27 21:07:58.411345"} stdout: 0 ...ignoringTASK: [apache_install | Install Apache Iconv In Redhat Client] **************** changed: [192.168.240.13]TASK: [apache_install | Create Apache Dir] ************************************ changed: [192.168.240.13] => (item=/data/webroot/apache) changed: [192.168.240.13] => (item=/data/webroot/apache/logs) changed: [192.168.240.13] => (item=/data/webroot/apache/vhost)TASK: [apache_install | Install Check Script In Redhat Client] **************** changed: [192.168.240.13]TASK: [apache_install | Create Index Html To Redhat Client] ******************* changed: [192.168.240.13]TASK: [apache_install | Start Apache Service In Redhat Client] **************** changed: [192.168.240.13]TASK: [apache_install | Add Boot Start Apache Service In Redhat Client] ******* changed: [192.168.240.13]TASK: [apache_install | Delete Apache compression Software In Redhat Client] *** changed: [192.168.240.13]PLAY RECAP ******************************************************************** 192.168.240.13 : ok=22 changed=20 unreachable=0 failed=0 real 0m47.364s user 0m3.823s sys 0m0.402s
可以看到47秒就安装完成(默认的common模块是安装基础的yum依赖库,这个我一般初始化安装完成,所以这个地方没有浪费时间,建议大家也都在系统默认安装完成后,初始化依赖库)
2、安装后测试
[root@ip-10-10-240-20 tmp]# ps -ef|grep httpd root 8375 1 0 21:08 ? 00:00:00 /usr/local/httpd-2.4.7/bin/httpd -k start www 8377 8375 0 21:08 ? 00:00:00 /usr/local/httpd-2.4.7/bin/httpd -k start www 8378 8375 0 21:08 ? 00:00:00 /usr/local/httpd-2.4.7/bin/httpd -k start www 8379 8375 0 21:08 ? 00:00:00 /usr/local/httpd-2.4.7/bin/httpd -k start www 8380 8375 0 21:08 ? 00:00:00 /usr/local/httpd-2.4.7/bin/httpd -k start root 8569 6666 0 21:11 pts/1 00:00:00 grep httpd [root@ip-10-10-240-20 tmp]# ll /usr/local/ total 56 drwxr-xr-x. 2 root root 4096 Sep 23 2011 bin drwxr-xr-x. 2 root root 4096 Sep 23 2011 etc drwxr-xr-x. 2 root root 4096 Sep 23 2011 games drwxr-xr-x 15 root root 4096 Jul 1 05:18 httpd-2.4.7 drwxr-xr-x. 2 root root 4096 Sep 23 2011 include drwxr-xr-x. 2 root root 4096 Jul 27 21:07 lib drwxr-xr-x. 2 root root 4096 Sep 23 2011 lib64 drwxr-xr-x. 2 root root 4096 Sep 23 2011 libexec drwxr-xr-x 6 root root 4096 Jun 23 05:38 pcre-8.33 drwxr-xr-x 10 root root 4096 Jul 22 23:33 proftpd-1.3.4d drwxr-xr-x. 2 root root 4096 Sep 23 2011 sbin drwxr-xr-x. 5 root root 4096 May 12 2013 share drwxr-xr-x. 3 root root 4096 May 12 2013 src drwxr-xr-x 6 root root 4096 Jul 24 05:41 vpsmate [root@ip-10-10-240-20 tmp]# curl 10.10.240.20 Apache 2.4.7 in 10.10.240.20 is success! [root@ip-10-10-240-20 tmp]# curl 10.10.240.20/index.php <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>503 Service Unavailable</title> </head><body> <h1>Service Unavailable</h1> <p>The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.</p> </body></html> [root@ip-10-10-240-20 tmp]# curl -I 10.10.240.20 HTTP/1.1 200 OK Date: Mon, 28 Jul 2014 01:13:13 GMT Server: Tengine/1.5.2 Last-Modified: Mon, 28 Jul 2014 01:08:01 GMT ETag: "2a-4ff368df22a0b" Accept-Ranges: bytes Content-Length: 42 Content-Type: text/html
如果打开php界面的原因是没有安装php,安装的话都成功了并运行正常。
3、删除apache
09:16:38 # time ansible-playbook apache_delete.yml --extra-vars "host=192.168.240.13 user=root" --private-key=/root/test.pemPLAY [192.168.240.13] ********************************************************* GATHERING FACTS *************************************************************** ok: [192.168.240.13]TASK: [apache_delete | Stop Httpd Service In RedHat Client] ******************* changed: [192.168.240.13]TASK: [apache_delete | Delete Boot Start In RedHat Client] ******************** changed: [192.168.240.13]TASK: [apache_delete | Delete Apache Dir In RedHat Client] ******************** changed: [192.168.240.13]TASK: [apache_delete | Delete Apache Service Script In RedHat Client] ********* changed: [192.168.240.13]TASK: [apache_delete | Delete Apache User] ************************************ changed: [192.168.240.13]PLAY RECAP ******************************************************************** 192.168.240.13 : ok=6 changed=5 unreachable=0 failed=0 real 0m19.803s user 0m0.665s sys 0m0.104s
4、删除后测试
[root@ip-10-10-240-20 tmp]# ps -ef|grep http root 11353 6666 0 21:17 pts/1 00:00:00 grep http [root@ip-10-10-240-20 tmp]# ll /usr/local/ total 52 drwxr-xr-x. 2 root root 4096 Sep 23 2011 bin drwxr-xr-x. 2 root root 4096 Sep 23 2011 etc drwxr-xr-x. 2 root root 4096 Sep 23 2011 games drwxr-xr-x. 2 root root 4096 Sep 23 2011 include drwxr-xr-x. 2 root root 4096 Jul 27 21:16 lib drwxr-xr-x. 2 root root 4096 Sep 23 2011 lib64 drwxr-xr-x. 2 root root 4096 Sep 23 2011 libexec drwxr-xr-x 6 root root 4096 Jun 23 05:38 pcre-8.33 drwxr-xr-x 10 root root 4096 Jul 22 23:33 proftpd-1.3.4d drwxr-xr-x. 2 root root 4096 Sep 23 2011 sbin drwxr-xr-x. 5 root root 4096 May 12 2013 share drwxr-xr-x. 3 root root 4096 May 12 2013 src drwxr-xr-x 6 root root 4096 Jul 24 05:41 vpsmate [root@ip-10-10-240-20 tmp]# id www id: www: No such user [root@ip-10-10-240-20 tmp]# curl 10.10.240.20 -I curl: (7) couldn't connect to host
如果大家想使用我的例子,可以从github里下载(地址是https://github.com/dl528888/ansible-examples/tree/master/apache_install),然后放到/etc/ansible目录里,下面是内容
如果觉得好,给个赞并多评论,谢谢。
转载于:https://blog.51cto.com/dl528888/1531104
运维自动化之ansible playbook安装apache相关推荐
- 运维自动化工具-ansible的安装与ad-hoc模式场景应用
使用 yum 安装 yum install epel-release -y yum install ansible –y 无论是yum安装还是pip安装,都会遇到各种意外的错误,主要是安装的时候依赖比 ...
- 运维自动化之ANSIBLE
成功不易,加倍努力! 运维自动化之ANSIBLE 本章内容 1 自动化运维应用场景 1.1 云计算运维工程师核心职能 1.2 运维职业发展路线 1.3 企业实际应用场景分析 1.3.1 Dev开发环境 ...
- 第20章,运维自动化之ansible
更多内容请点击: Linux学习从入门到打死也不放弃,完全笔记整理(持续更新,求收藏,求点赞~~~~) https://blog.51cto.com/13683480/2095439 第20章,运维自 ...
- 品运维自动化之cobbler的安装序
品运维自动化之cobbler的安装序 品茶提示: 1.安装如遇错误,请查看错误报告收集. 2.如遇文章出现错误之处请指出并回复以便帮助更多的朋友,或者发邮件至zwhset@163.com,我将定期回复 ...
- 运维自动化之---ansilbe运维自动化和ansible架构介绍(1)
运维自动化的发展历程 1.自动化运维应用场景 1.1云计算运维工程师核心职能 运维相关的工具 Podman是用来替代docker的工具 1.2 运维职业的发展路线 目标::一切皆自动化 1.3 企业实 ...
- 运维自动化之ansible,轻松实现企业级自动化运维
Ansible是近年来越来越火的一款开源运维自动化工具,通过Ansible可以实现运维自动化,提高运维工程师的工作效率,减少人为失误. Ansible通过本身集成的非常丰富的模块可以实现各种管理任务, ...
- 运维自动化工具Cobbler之——安装实践
运维自动化工具--Cobbler实践 第1章 About Cobbler 1.1 Cobbler Introduction Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的 ...
- 运维自动化之Ansible 和 HTTP协议和APACHE
云计算运维工程师核心职能 Linux运维工程师职能划分 企业实际应用场景分析 Dev开发环境 使用者:程序员 功能:程序员开发软件,测试BUG的环境 管理者:程序员 测试环境 使用者:QA测试工程师 ...
- 运维自动化之----ansible中play的高级用法模板(7)
4.9 template模板 模板是一个文本文件,可以做为生成文件的模板,并且模板文件中还可嵌套jinja用法 4.9.1 jiaja2语言 jinja2语言使用字面,有下面形成 字符串:使用单引号或 ...
最新文章
- Android 解决: Failed to resolve: com.android.support:appcompat-v7:28.+ 错误
- 实现类似Android联系人搜索功能
- window.addeventlistener 不能调用方法_Java入门第十四课:如何定义”方法“
- 任务栏恢复添加快捷方式(即桌快出现箭头)
- java提示需要标识符,java错误需要标识符
- 2020中国云厂商预测:华为云、UCloud、青云、百度云、金山云等,谁是第三很重要?...
- [HNOI2010]PLANAR
- 炫酷动态特效HTML实现源码【完整源码分享】
- 帝国cms 自定义页面 php,帝国CMS增加自定义页面模板修改教程
- 一年时间,从一个浑浑噩噩的测试小人物到测试主管的成长之路
- 微信小程序:“去中心化”的社交电商,电商正转向以商品为核心
- JavaScript中的强制多态 | Lynda教程 中文字幕
- Python——Flask基础学习
- 电脑服务器独立显卡显示配置,电脑显卡装完驱动,英伟达显示设置不可用解决方发...
- TS7016: Could not find a declaration file for module ‘@/api/checkitem.js‘.解决办法
- 【蓝牙开发 - BLE】BLE广播包
- 重庆2020计算机考研科目,2020年计算机考研大纲原文
- 基于Android系统的手机游戏(2048)的设计与实现
- 伍德里奇计量经济学第四章课后计算机作业,伍德里奇---计量经济学第8章部分计算机习题详解(STATA)...
- Vim修改vimrc一键编译运行后出现请按 ENTER 或其它命令继续