IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> jenkins自动化搭建-tengine -> 正文阅读

[系统运维]jenkins自动化搭建-tengine

jenkins自动化搭建-tengine

jenkins的部署请参考以前的文章
Linux下用tomcat部署jenkins
部署jenkins的机器当做推送机对远程部署的机器进行免密,请参考以前的文章
Linux下实现免密登录
编写shell自动化搭建-tengine脚本,脚本内容如下
tengine_create_remote_sync.sh

#!/bin/bash

#init param(sync tar.gz)
sourcePath=$1
tengineIp=$2
tenginePort=$3
remoteToolsPath=$4
remoteInstallPath=$5
remoteLocationConf=$6
remoteUpstreamConf=$7

shellFileName=tengine_cluster_auto_config.sh
shellPath=/root/tools/shell/tengine/remote/remote_create_and_cluster_config/$shellFileName

function remote_sync(){

	#remote create targetPath
	ssh root@$tengineIp "rm -rf $remoteToolsPath && mkdir -p $remoteToolsPath"

	#sync tar.gz to remote linux
	scp $sourcePath root@$tengineIp:$remoteToolsPath
	ssh root@$tengineIp "cd $remoteToolsPath && tar -zxvf *.tar.gz && rm -rf *.tar.gz && mv * tengine"  

	#sync shell to remote linux for exec
	scp $shellPath root@$tengineIp:$remoteToolsPath

	#exec remote shell
	ssh root@$tengineIp "chmod 755 $remoteToolsPath/$shellFileName"
	ssh root@$tengineIp "sh $remoteToolsPath/$shellFileName $remoteToolsPath/tengine $tengineIp $tenginePort $remoteInstallPath $remoteLocationConf $remoteUpstreamConf"
}

remote_sync

tengine_cluster_auto_config.sh

#!/bin/bash
source /etc/profile

#init param
tengineToolsPath=$1
tengineMasterIp=$2
tenginePort=$3
tengineInstallPath=$4
tengineLocationConf=$5
tengineUpstreamConf=$6

function tengine_server_install()
{
	rm -rf $tengineInstallPath && cd $tengineToolsPath
 	./configure --prefix=$tengineInstallPath && make && make install
}

function tengine_server_config()
{
	#config worker_processes
	threadNum=$(awk '($1 == "processor"){print $3}' /proc/cpuinfo | wc -l)
        sed -i 's/worker_processes  1/worker_processes  '$threadNum'/'  $tengineInstallPath/conf/nginx.conf

	#config events
        sed -i '/^events/a use epoll;' $tengineInstallPath/conf/nginx.conf
	
	#config log
  	sed -i '/#log_format/s/#//g' $tengineInstallPath/conf/nginx.conf
	sed -i '/$body_bytes_sent/s/#//g' $tengineInstallPath/conf/nginx.conf
	sed -i '/$http_user_agent/s/#//g' $tengineInstallPath/conf/nginx.conf
	sed -i '/logs\/access.log/s/#//g' $tengineInstallPath/conf/nginx.conf

        #config server
        sed -i 's/listen       80/listen '$tenginePort'/'  $tengineInstallPath/conf/nginx.conf
        sed -i '/#charset koi8-r/a '$tengineLocationConf''  $tengineInstallPath/conf/nginx.conf
	sed -i '/#gzip  on/a '$tengineUpstreamConf'' $tengineInstallPath/conf/nginx.conf

	#config monitor
	sed -i '/#charset koi8-r/a location \/status{\nstub_status on;\naccess_log off;\n}\n' $tengineInstallPath/conf/nginx.conf

        sed -i '/#charset koi8-r/a location \/upstream{\ncheck_status;\naccess_log off;\n}\n'  $tengineInstallPath/conf/nginx.conf
}

function tengine_server_start(){
	pidCount=$(lsof -i:$tenginePort | grep -v COMMAND | wc -l)
        if [  $pidCount -gt 1 ];then
		lsof -i:$tenginePort | grep -v COMMAND | awk '{print $2}'| xargs kill -9 > /dev/null 2>&1
        fi
	$tengineInstallPath/sbin/nginx
}

function tengine_server_monitor(){
	localIp=$(ifconfig -a | grep inet | grep -v 127.0.0.1 | grep -v inet6 | awk '{print $2}')
	keyNum=$(curl  $localIp:$tenginePort | grep 'Thank you for using tengine' | wc -l)
	if [  $keyNum -eq 1 ];then
		echo "tengine启动成功,访问地址http://$localIp:$tenginePort"
	else
		echo "tengine启动失败"
	fi
}

tengine_server_install
tengine_server_config
tengine_server_start
tengine_server_monitor

将脚本放在指定目录/root/tools/shell/tengine/remote/jenkins下
将tengine-2.1.2.tar.gz安装包放在指定目录/root/tools/tengine下
tengine-2.1.2.tar.gz安装包下载
链接:https://pan.baidu.com/s/1z7zSvrUukzrQSDygtb3BaQ
提取码:tip4
jenkins新建任务步骤如下
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

time sh /root/tools/shell/tengine/remote/jenkins/tengine_create_remote_sync.sh $sourcePath $tengineIp $tenginePort $remoteToolsPath $remoteInstallPath $remoteLocationConf $remoteUpstreamConf

保存后就算完成jenkins的配置了
执行构建任务
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
如有控制台中文乱码的话,请参考以前的文章
解决jenkins控制台中文乱码问题

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-03-03 16:53:58  更:2022-03-03 16:55:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 3:46:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码