文档章节

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

王九龙
 王九龙
发布于 2016/01/29 14:36
字数 524
阅读 71
收藏 1
#!/bin/bash
# this shell will be installed resin*.tar.gz
#author: wangjiulong

#global variables
resin_pkg=`cat $tmp_resin`
resin_tar=`cat $tmp_resin | awk -F.tar.gz '{print $1}'`
resin_num=`cat $tmp_resin | awk -F.tar.gz '{print $1}' | awk -F- '{print $2}'`
resin_path=/usr/local/resin

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已经安装,可以安装继续安装resin"
                install_resin
        else
                #不管是否之前安装了jdk,默认安装jdk1.7的
                echo "jdk-1.7.0_17.tar.gz" > $tmp_jdk
                source ./install_jdk.sh
                source /etc/profile
                print_log "jdk-1.7已经安装,接下来安装resin"
                install_resin
        fi
}

install_resin(){

        #resin安装时的参数,请根据自己业务的需求,做相应的修改
        cd $tar_dir
        tar zxf $resin_pkg
        cd $resin_tar
        ./configure --prefix=/usr/local/resin --enable-jni --enable-64bit --enable-linux-smp --with-java-home=/data/java/jdk && make && make install

        if [[ $? != "0" ]];then
                echo "[$(datef)] ins_resin(): install error!"
                exit
        fi
        #判断用户安装的resin的版本,不同的版本,替换不同的配置文件。
        case $resin_num in
                4.0.23)
                print_log "复制替换4.0.23版的resin文件"
                cp -fv $file_dir/resin_pro_4.0.23.xml /usr/local/resin/conf/resin.xml
                cp -fv $file_dir/resin_pro_4.0.23 /etc/init.d/resin
                ;;
                3.0.21)
                print_log "复制替换3.0.21版的resin文件"
                cp -fv $file_dir/resin.conf /usr/local/resin/conf/resin.conf
                cp -fv $file_dir/resin /etc/init.d/resin
                ;;
                *)
                ;;
        esac
        cp -fv $file_dir/license.jar /usr/local/resin/lib
        chkconfig --add resin
        chmod 755 /etc/init.d/resin

        [ ! -d  /data/log/resin ] && mkdir -m777 -p /data/log/resin
        add_user
}

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/resin ]] && chown -R www:www /usr/local/resin
        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

    

© 著作权归作者所有

共有 人打赏支持
王九龙
粉丝 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
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
nginx+tomcat+resin+jdk一键自动化安装脚本(5--nginx安装脚本)

#!/bin/bash this shell will be installed jdk*.tar.gz author: wangjiulong ROOT=$(pwd) SCRIPTS=$ROOT/scripts PKGS=$ROOT/pkgs NGINX_ROOT=/usr/local/nginx 服务器如果已经安装了nginx......

王九龙
2016/01/29
110
0
Fastlane自动提交合并代码

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

钟环
04/25
0
0
linux下resin的安装和配置

1 从 http://www.caucho.com/download/ 下载resin,我下载的是 Resin 3.0.23 这个版本(tar.gz格式) 为什么下载这个版本,因为据说这个版本最稳定可靠。 2 检查你的linux环境 查看是否安装了 ...

qianghong000
2017/11/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

[LintCode] Binary Tree Level Order Traversal(二叉树的层次遍历)

描述 给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问) 样例 给一棵二叉树 {3,9,20,#,#,15,7} : 3 / \9 20 / \ 15 7 返回他的分层遍历结果: [ [3], [...

honeymose
10分钟前
0
0
Spring Cloud Config 规范

Spring Cloud Config 规范 首先Spring Cloud 是基于 Spring 来扩展的,Spring 本身就提供当创建一个Bean时可从Environment 中将一些属性值通过@Value的形式注入到业务代码中的能力。那Sprin...

阿里云官方博客
20分钟前
0
0
renderer

renderer Function 单元格绘制处理函数,同drawcell事件。

architect刘源源
30分钟前
4
0
jdk1.8 lambda表达式过滤重复的对象

//操作类public class BizAgentAudit {    private String supplierOrgId;    private int age;    private String name;        public BizAgentAudit() { ...

INSISTQIAO
31分钟前
3
0
DataUtil的日期处理

SimpleDateFormat 是线程不安全的类,一般不要定义为 static 变量,如果定义为static,必须加锁,或者使用 DateUtils 工具类。 解决方法 1、将SimpleDateFormat定义成局部变量。 缺点:每调用...

DoLo-lty
36分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部