文档章节

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

王九龙
 王九龙
发布于 2016/01/29 14:32
字数 520
阅读 48
收藏 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
博文 17
码字总数 16418
作品 0
广州
nginx+tomcat+resin+jdk一键自动化安装脚本(1--父shell安装脚本)

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

王九龙
2016/01/29
72
0
大型项目linux自动化版本发布脚本(shell)之tomcat、nginx服务脚本

最近,又临近博主所负责的一个大型项目的发版了。之前有提到过,该项目涉及到30-40台服务器的发版。且项目客户规定发版需在晚上10-11点左右开始进行,这里博主不得不说每次发布最后都是眼花缭...

em_aaron
08/01
0
0
LNMT一键安装包 beta 0.2 版本正式发布

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

蓝翔妓工
2015/02/27
2.9K
8
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
0
Git + Maven + Jenkins 实现自动化部署

一、安装 和 准备工作 我们选择了用 Tomcat 服务器下 war 包的安装方式。Jenkins 的下载地址:http://mirrors.jenkins-ci.org/,打开链接后,表格有war列。Releases行是短期更新包,LTS行是长...

jmcui
04/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

TypeScript基础入门之高级类型的索引类型(Index types)

转发 TypeScript基础入门之高级类型的索引类型(Index types) 高级类型 索引类型(Index types) 使用索引类型,编译器就能够检查使用了动态属性名的代码。 例如,一个常见的JavaScript模式是从...

durban
17分钟前
0
0
利用碎片化时间Get Linux系统

起初,我做着一份与IT毫无关系的工作,每月领着可怜的工资,一直想改变现状,但无从下手,也就是大家熟知的迷茫。我相信,每一个人都会或多或少的经历过迷茫,迷茫每一个选择,迷茫工作或者生...

Linux就该这么学
52分钟前
0
0
图像显示深入学习一:Activity启动过程

一个月左右写了图像显示深入学习之文章开篇文章表明了自己近期的计划,前半年重新学习了opengl es,c++以及Linux的一些知识,觉得是时候开始看图像这一块的源码了,边看边补缺补漏吧。 作为该...

JerryLin123
今天
2
0
给MySQL授权远程访问

putty登录服务器; 登录MySQL: mysql -u root -p 新建远程用户: CREATE USER 'myusername' IDENTIFIED BY 'mypassword'; 授权: grant all on *.* to john@'101.102.103.104' identified by......

sweethome
今天
2
0
在t-io老巢造谣,不过有造谣的就会有反造谣的!

只发当事人的截图,不发表评论,以免有引导嫌疑 PS: 截图是由不同的人发过来的 本人已经不在此微信群 图3:有造谣的,就有反造谣的 图4是2018-09-23的t-io官方群的一个发言小统计,有助于让...

talent-tan
今天
104
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部