文档章节

nginx+tomcat+resin+jdk一键自动化安装脚本(3--tomcat安装脚本)

王九龙
 王九龙
发布于 2016/01/29 14:32
字数 520
阅读 48
收藏 0
点赞 1
评论 0
#!/bin/sh
#this shell will be installed tomcat*.tar.gz
#by wangjiulong

#global variables
tomcat_pkg=`cat $tmp_tomcat`
tomcat_tar=`cat $tmp_tomcat | awk -F.tar.gz '{print $1}'`
tomcat_path=/usr/local/tomcat

datef(){ date "+%Y/%m/%d %H:%M" ; }

#custom log
print_log(){
        if [[ -d $log_dir  ]];then
                echo "[$(datef)]  $1" >> $log
        else
                echo "[$(datef)] log path does not exist,created first" >>$log
                mkdir -p $log_dir
                echo "[$(datef)]  $1" >> $log
        fi
}

#检查本机是否安装了jdk,如果已经安装了,则继续安装tomcat,不然先安装jdk,再去安装tomcat
check_jdk_install(){
        jdk_local_path=/data/java
        jdk_local_version=`java -version > /dev/null 2>&1;echo $?`

        if [ $jdk_local_version -eq 0  ];then
                print_log "本机jdk已经安装,可以安装继续安装tomcat"
                install_tomcat
        else
                #不管是否之前安装了jdk,默认安装jdk1.7的
                echo "jdk-1.7.0_17.tar.gz" > $tmp_jdk
                source ./install_jdk.sh
        fi
}

#定义tomcat安装函数
install_tomcat(){

        cd $tar_dir
        tar -zxf $tomcat_pkg -C /usr/local
        cd /usr/local
        unlink tomcat
        ln -s $tomcat_tar  tomcat
               
        #这里我们对tomcat做了优化,以下是替换一些配置文件。       
        cp -fv $file_dir/server.xml $tomcat_path/conf/server.xml
        cp -fv $file_dir/logging.properties $tomcat_path/conf/logging.properties
        cp -fv $file_dir/tomcat /etc/init.d/tomcat
        cp -fv $file_dir/catalina.sh $tomcat_path/bin/catalina.sh
        cp -fv $file_dir/cronolog /usr/local/sbin/cronolog
        
        chkconfig --add tomcat             
        chmod 755 /etc/init.d/tomcat

        [ ! -d  /data/log/tomcat ] && mkdir -m755 -p /data/log/tomcat
        echo '                               ' >> /etc/profile
        echo 'export JAVA_HOME=/data/java/jdk' >> /etc/profile
        echo 'export CALSSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' >> /etc/profile
        echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
        add_user
}   
    
#定义tomcat用户组函数   
add_user(){
        print_log "**************** Begin change www user mode *********************"
        if ! grep "^www" /etc/passwd
        then
                groupadd www
                useradd -g www -s /bin/bash -d /data/www www
        fi
                [[ -d /usr/local/tomcat ]] && chown -R www:www /usr/local/tomcat 
        print_log "*************** End change www user mode ************************"
        finished
}

#定义安装成功后的函数
finished(){
        # install complete
        print_log ""
        print_log "###########################################################"
        print_log "# [$(datef)] congratulagions!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
        print_log "# [$(datef)] don't forget to modify configuration files!!!"
        print_log "# [$(datef)] based on your system resources like mem size "
        print_log "###########################################################"
        print_log ""
}

check_jdk_install

tomcat的安装相对比较容易,要注意的就是,根据自己业务的实际情况相应的修改下tomcat配置文件的参数即可。 

© 著作权归作者所有

共有 人打赏支持
王九龙
粉丝 7
博文 15
码字总数 16418
作品 0
广州
nginx+tomcat+resin+jdk一键自动化安装脚本(1--父shell安装脚本)

思路:用户执行父shell,父shell匹配用户输入的信息,相应地去执行子shell。 话不多说,直接看shell。 ├── auto_install.sh ----父shell├── install_jdk.sh ----子shell--jdk安装 ├─...

王九龙 ⋅ 2016/01/29 ⋅ 0

LNMT一键安装包 beta 0.2 版本正式发布

LNMT一键安装包是一个用Linux Shell编写的可以为CentOS/RedHat VPS(VDS)或独立主机安装LNMT(Nginx、MySQL、JRE、Tomcat)生产环境的Shell程序。同时提供一些实用的辅助脚本如:可以帮助完成N...

蓝翔妓工 ⋅ 2015/02/27 ⋅ 8

每个项目最重要的十件事 转帖

1,版本控制,推荐git 2,db,推荐hsqldb 3,web server 推荐 jetty 4,ssh推荐nutz 5,项目管理推荐jira 6,持续build 推荐ant 7,其他的 如:持续集成服务器,代码测试和覆盖率,schema 自...

tiantian_orz ⋅ 2011/04/13 ⋅ 3

shell-菜单自动化软件部署

打印选择菜单,按照选择一键安装不同的Web服务。 示例菜单: [root@oldboy scripts]# shmenu.sh 1.[install lamp] 2.[install lnmp] 3.[exit] pls input the num you want: 要求: 1、当用户...

wangweihang ⋅ 2017/05/11 ⋅ 0

Fastlane自动提交合并代码

效果: 平常在公司用git提交代码好几行命令,敲都敲吐了,用sourceTree工具切换提交也点吐了.就随手用fastlane写了一个自动化脚本,在自己分支一键提交后将代码合并到远程仓库再切回自己分支. 执...

钟环 ⋅ 04/25 ⋅ 0

公有云镜像模版的创建

系统层级模版约束 序号 分类 约束和规定 1 操作系统分区 分区比例保持现有生产分区比例不变 总分区默认初始大小 100G 【/: 5G】 【/data:60G】 【/home:8G】 【/var:8G】 【/usr: 16G】...

运维技术 ⋅ 2014/04/08 ⋅ 0

体验一键php/java环境安装工具oneinstack

概述 这个东西其实我很早之前就听说了,但是一直没有去尝试使用,我一直使用的是lnmp一键安装包,但是lnmp一键安装包是安装java环境的,oneinstack更强大一点 官网 环境准备 首先使用vagrant...

bboysoulcn ⋅ 04/25 ⋅ 0

使用ruby的fpm模块实现对二进制MySQL的RPM包制作,实现一键安装

随着互联网的发展,一些互联网企业,甚至于传统企业的服务器也是越来越多。将面临的挑战其中之一就是自动化运维管理。假设我们需要自动化部署很多的应用,而这些应用又很复杂,过程多,需要源...

蓝色_风暴 ⋅ 2017/08/09 ⋅ 0

Debian 8.2 64位 Nginx PHP MySQL Java Tomcat安装脚本

脚本一键安装好之后的目录结构: /data /nginx /html /phpmyadmin html/php文件位置 /tomcat /tomcat1 /tomcat2 /soft /nginx nginx程序/配置文件位置 /php php程序/配置文件位置 /src 下载的...

jiangmitiao ⋅ 2016/04/24 ⋅ 0

Linux系统的pxe自动化运维部署

一、配置虚拟机自动安装 1、根据yum源配置博客:http://13132323.blog.51cto.com/13122323/1951991 首先安装自动应答脚本制作工具yum install system-config-kickstart –y,然后关闭主机的防...

飞天喜欢yu ⋅ 2017/07/29 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

RabbitMQ学习以及与Spring的集成(三)

本文介绍RabbitMQ与Spring的简单集成以及消息的发送和接收。 在RabbitMQ的Spring配置文件中,首先需要增加命名空间。 xmlns:rabbit="http://www.springframework.org/schema/rabbit" 其次是模...

onedotdot ⋅ 24分钟前 ⋅ 0

JAVA实现仿微信红包分配规则

最近过年发红包拜年成为一种新的潮流,作为程序猿对算法的好奇远远要大于对红包的好奇,这里介绍一种自己想到的一种随机红包分配策略,还请大家多多指教。 算法介绍 一、红包金额限制 对于微...

小致dad ⋅ 36分钟前 ⋅ 0

Python 数电表格格式化 xlutils xlwt xlrd的使用

需要安装 xlutils xlwt xlrd 格式化前 格式化后 代码 先copy读取的表格,然后按照一定的规则修改,将昵称中的学号提取出来替换昵称即可 from xlrd import open_workbookfrom xlutils.copy ...

阿豪boy ⋅ 今天 ⋅ 0

面试题:使用rand5()生成rand7()

前言 读研究生这3 年,思维与本科相比变化挺大的,这几年除了看论文、设计方案,更重要的是学会注重先思考、再实现,感觉更加成熟吧,不再像个小P孩,人年轻时总会心高气傲。有1 道面试题:给...

初雪之音 ⋅ 今天 ⋅ 0

Docker Toolbox Looks like something went wrong

Docker Toolbox 重新安装后提示错误:Looks like something went wrong in step ´Checking if machine default exists´ 控制面板-->程序与应用-->启用或关闭windows功能:找到Hyper-V,如果处......

随你疯 ⋅ 今天 ⋅ 0

Guacamole 远程桌面

本文将Apache的guacamole服务的部署和应用,http://guacamole.apache.org/doc/gug/ 该链接下有全部相关知识的英文文档,如果水平ok,可以去这里仔细查看。 一、简介 Apache Guacamole 是无客...

千里明月 ⋅ 今天 ⋅ 0

nagios 安装

Nagios简介:监控网络并排除网络故障的工具:nagios,Ntop,OpenVAS,OCS,OSSIM等开源监控工具。 可以实现对网络上的服务器进行全面的监控,包括服务(apache、mysql、ntp、ftp、disk、qmail和h...

寰宇01 ⋅ 今天 ⋅ 0

AngularDart注意事项

默认情况下创建Dart项目应出现以下列表: 有时会因为不知明的原因导致列表项缺失: 此时可以通过以下步骤解决: 1.创建项目涉及到的包:stagehand 2.执行pub global activate stagehand或pub...

scooplol ⋅ 今天 ⋅ 0

Java Web如何操作Cookie的添加修改和删除

创建Cookie对象 Cookie cookie = new Cookie("id", "1"); 修改Cookie值 cookie.setValue("2"); 设置Cookie有效期和删除Cookie cookie.setMaxAge(24*60*60); // Cookie有效时间 co......

二营长意大利炮 ⋅ 今天 ⋅ 0

【每天一个JQuery特效】淡入淡出显示或隐藏窗口

我是JQuery新手爱好者,有时间就练练代码,防止手生,争取每天一个JQuery练习,在这个博客记录下学习的笔记。 本特效主要采用fadeIn()和fadeOut()方法显示淡入淡出的显示效果显示或隐藏元...

Rhymo-Wu ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部