ansible部署tocmat

author author     2022-08-05     251

关键词:

说明:ansible-palybook批量部署tomcat以及tomcat所需要的jdk环境,以及分发站点文件

1.安装python

yum -y install zlib zlib-devel   openssl openssl-devel #后期安装ansible会依赖所以
wgethttp://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz
gunzip Python-2.7.11.tgz   #查看解压的结果
tar  xf  Python-2.7.11.tar
cd Python-2.7.11
mkdir  -p  /application/python2.7.11
./configure --prefix=/application/python2.7.11
make
make install
mv /usr/bin/python /usr/bin/python_old
ln  -s  /application/python2.7.11/bin/python2   /usr/bin/python

2.python安装需要解决的问题

错误1

[[email protected] Python-2.7.11]# yum -y  install lrzsz
/usr/bin/python: error while loading sharedlibraries: libpython2.7.so.1.0: cannot open shared object file: No such file ordirectory
解决办法:
vim /usr/bin/yum
#!/usr/bin/python 改成     /usr/bin/python_old
错误2
[[email protected] bin]# python  -V
python: error while loading shared libraries:libpython2.7.so.1.0: cannot open shared object file: No such file or directory
解决办法:
echo "/application/python2.7.6/lib">>/etc/ld.so.conf
 ldconfig
 python -V

3.安装pip命令为了安装特定版本的ansible

wget https://bootstrap.pypa.io/get-pip.py
pip命令在python安装的路径下的bin下
/opt/service/python2.7.11/bin
所以:
把python的这个环境变量导进入
export PATH=/opt/service/python2.7.11/bin:$PATH
python  get-pip.py

4.安装ansible

 pip   install     ansible==2.0.2

5.ansible基础的命令就不讲解了,直接在另外一台服务器上安装tomcat

ansible分发机:10.0.0.9 内网Ip:172.16.1.9
ansible被分发机:10.0.0.10 内网IP:172.16.1.10  #在此台机器上安装tomcat

6.10.0.0.9

1.

[[email protected] ~]# cd /opt/lansgg/ansible_playbook/
[[email protected] ansible_playbook]# pwd
/opt/lansgg/ansible_playbook

2.

[[email protected] ansible_playbook]# tree

.
├── hosts
├── roles
│   └── http
│       ├── default
│       ├── files
│       │  ├── apache-tomcat-8.0.27.tar.gz
│       │  └── jdk-8u101-linux-x64.rpm
│       ├── handlers
│       │  └── main.yml
│       ├── meta
│       │  └── test
│       │       └── index.html
│       ├── tasks
│       │  └── main.yml
│       ├── template
│       │  └── test.html
│       └── vars
└── site.yml
 
10 directories, 8 files

[[email protected] ansible_playbook]#

3.

[[email protected] ansible_playbook]# cat site.yml
---
- name: Install tomcat application prod enviroment
  hosts:tomcat
  become:True
  roles:
    - http
[[email protected] ansible_playbook]# cat hosts
[tomcat]
172.16.1.10
[[email protected] ansible_playbook]#

 

4.

[[email protected] tasks]# pwd
/opt/lansgg/ansible_playbook/roles/http/tasks
[[email protected] tasks]# cat main.yml
- name: 将jdk压缩包copy到远程主机jdk-7u72-linux-x64.tar.gz
  copy:src=jdk-8u101-linux-x64.rpm dest=/opt/lansgg/
- name: 解压jdk压缩包jdk-7u72-linux-x64.tar.gz
  yum:name=/opt/lansgg/jdk-8u101-linux-x64.rpm  state=present
- name: 将tomcat压缩包copy到远程主机apache-tomcat-7.0.68.tar.gz
  copy:src=apache-tomcat-8.0.27.tar.gz dest=/opt/lansgg
- name: 解压tomcat压缩包
  shell:chdir=/opt/lansgg tar zxvf apache-tomcat-8.0.27.tar.gz
- name: 做软连接
  shell:chdir=/opt/lansgg ln  -sapache-tomcat-8.0.27 tomcat
- name: 将tomcat压缩包 重新命名为 tomcat
  shell:chdir=/opt/lansgg mv apache-tomcat-8.0.27.tar.gz /tmp/
- name: 首次启动tomcat
  shell:chdir=/opt/lansgg/tomcat/bin nohup ./startup.sh &
- name: 将 test 工程 copy 到远程主机
  copy:src=/opt/lansgg/ansible_playbook/roles/http/
meta/testdest=/opt/lansgg/tomcat/webapps/
  tags:
   -updateconf
  notify:
   - stop tomcat service
   - starttomcat service
- name: 将某些模板文件 copy 到远程主机
  template:src=/opt/lansgg/ansible_playbook/roles/http/template/test.htmldest=/opt/lansgg/tomcat/webapps/test/test.html

5

[[email protected] handlers]# pwd
/opt/lansgg/ansible_playbook/roles/http/handlers
[[email protected] handlers]#
[[email protected] handlers]# cat main.yml
#- name: stop tomcat service
#  command:"ps -ef |grep /opt/lansgg/tomcat |grep -v grep |awk ‘{print $2}‘ |xargskill -9"
- name: start tomcat service
  shell:chdir=/opt/lansgg/tomcat/bin nohup ./startup.sh &
[[email protected] handlers]#

[[email protected] ansible_playbook]# pwd
/opt/lansgg/ansible_playbook
[[email protected] ansible_playbook]#ansible-playbook  -i  hosts site.yml

7

[[email protected] handlers]# curlhttp://172.16.1.10:8080/test/test.html
1234
[[email protected] handlers]#


本文出自 “砖家博客” 博客,请务必保留此出处http://wsxxsl.blog.51cto.com/9085838/1853168

centos6.5安装tocmat7配置以及优化

...一个高性能web容器,需要jdk支持 我们接下来在linux下部署配置tomcat。1,安装与配置Tomcat,首先配置jdk环境。配置jdk 查看系统是否安装java环境:[[email protected]~]#java-versionjavaversion"1.7.0_45"OpenJDKRuntimeEnvironment(rhel-2.4.3 查看详情

centos6.5安装tocmat7配置以及优化

...一个高性能web容器,需要jdk支持 我们接下来在linux下部署配置tomcat。1,安装与配置Tomcat,首先配置jdk环境。配置jdk 查看系统是否安装java环境:[[email protected]~]#java-versionjavaversion"1.7.0_45"OpenJDKRuntimeEnvironment(rhel-2.4.3 查看详情

ansible自动化运维之ansible入门及简单部署(代码片段)

AnsibleAnsible简介Ansible特点概念解释Ansible使用过程中的角色Ansible通信机制Ansible应用场景Ansible工作机制Ansible的目录结构部署环境Ansible部署添加远程主机Ansible简介常见的部署管理工具有Chef、Puppet、Ansible、SaltStack、Fabric。Ansible发... 查看详情

ansible部署zabbix客户端

Ansible部署zabbix客户端1、简介ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作... 查看详情

第1天:ansible安装部署

Ansible介绍Ansible是一个简单的自动化引擎,可完成配置管理、应用部署、服务编排以及各种IT需求。它是一款使用Python语言开发实现的开源软件,其依赖Jinjia2、paramiko和PyYAML这几个python库。Ansible安装部署简单,只需要再主控端部... 查看详情

ansible批量部署服务

一.ansible1.概念ansible是一个基于Python开发的自动化运维工具!其功能实现基于SSH远程连接服务!ansible可以实现批量系统配置、批量软件部署、批量文件拷贝、批量运行命令等功能2.网址:http://docs.ansible.com/官网3.特点不需要单独... 查看详情

ansible批量部署(代码片段)

自动化运维工具shell脚本/Ansible(无客户端)/Saltstack(master-minion)回顾服务器部署的流程:买云主机->环境部署->软件部署->配置部署->启动服务->测试->加入集群 1.Ansible基本概述ansible是一个配置管理系统configurationmanage... 查看详情

[自动化]部署ansible服务及其常用的命令模块(代码片段)

Ansible简介:Ansible基于Python开发,默认通过SSH协议进行远程命令执行或下发配置,无需部署任何客户端代理软件,可同时支持多台主机进行管理。ansible是基于模块工作的,本身没有批量部署的能力,真正具有批量部署的是ansible... 查看详情

jenkins+ansible+gitlab自动化部署三剑客--ansible

Ansible简介Ansible是一个开源部署工具开发语言:python特点:SSH协议通讯,全平台,无需编译,模块化部署管理作用:推送Playbook进行远程节点快速部署Ansible与Chef,Saltstack的区别Chef  Ruby语言编写,C/S架构,配置需要Git依赖,Recipe... 查看详情

运维神器ansible安装部署

抽空研究下自动运维神器,ansible,基于SSH的管理,不需要agent核心:ansible核心模块(CoreModules):这些都是ansible自带的模块?扩展模块(CustomModules):如果核心模块不足以完成某种功能,可以添加扩展模块插件(Plugins):完成模... 查看详情

自动化工具-ansible服务部署与使用

1.前言1.1ansible软件介绍python语言是运维人员必须会的语言ansible是一个基于python开发的自动化运维工具其功能实现基于ssh远程连接服务ansible可以实现批量系统配置,批量软件部署,批量文件拷贝,批量运行命令等功能除了ansible之... 查看详情

自动化运维工具ansible的详细部署(代码片段)

Ansible的来历Ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。 Ansible是基于paramiko开发的,并且基于模块化工... 查看详情

ci/cd之jenkins结合ansible部署apache(代码片段)

jenkins结合ansible部署apache演示环境部署步骤安装ansible创建新git项目ansible主控端配置jenkins测试配置用户设置jenkins部署部署测试在测试环境测试在生产环境部署建议演示环境server1 192.168.122.11 gitlab端 4G内存server2 192.168.122.12 j... 查看详情

ansible自动化运维详解ansible的安装部署参数使用清单管理配置文件参数及用户级ansible操作环境构建(代码片段)

文章目录ansible自动化运维详解(一)ansible的安装部署、参数使用、清单管理、配置文件参数及用户级ansible操作环境构建一、ansible的安装部署1.1、ansible简介1.2、实验环境1.3、安装部署ansible二、ansible的基本信息和参数使... 查看详情

ansible架构介绍及部署(代码片段)

Ansible架构模式Ansible是由控制机和被管理机组成:控制机是用来安装Ansible工具软件和执行指令的服务器,被管理机是指运行业务的服务器,由控制机通过SSH进行管理。Ansible管理方式Ansible是一个模型驱动管理器,支持多节点发布... 查看详情

ci/cd之jenkins结合ansible部署apache(代码片段)

jenkins结合ansible部署apache演示环境部署步骤安装ansible创建新git项目ansible主控端配置ansible主配置文件编写配置清单编写下载apache的playbook修改apache配置文件最终目录结构如下jenkins测试配置用户设置jenkins部署部署测试在测试环境测... 查看详情

linux批量管理神器ansible部署

Linux批量管理神器ansible部署第一个历程安装软件安装依赖关系包yuminstallpython-devpython-yamlpython-paramikopython-jinja2git确保无误,使用yum安装absibleyuminstallansible第二个历程配置文件ansbible配置文件安装后的配置文件位于/etc/ansible第三个... 查看详情

ansible的部署和命令模板

一、ansible的概述1、ansible简介Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具。它用Python写成,类似于saltstack和Puppet,但是有一个不同和优点是我们不需要在节点中安装任何客户端。它使用SSH来和节点进行通信。Ansi... 查看详情