文档章节

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

王九龙
 王九龙
发布于 2016/01/29 14:52
字数 566
阅读 123
收藏 12
#!/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,那么就不重新安装;没有,就安装.

nginx_path=/usr/local/nginx

#检查要安装的nginx版本,记录保存
nginx_pkg=`cat $tmp_nginx_pkgtar`
cat $tmp_nginx_pkgtar | awk -F.tar.gz '{print $1}' | awk -F- '{print $2}' > $tmp_nginx_pkgtar_version 2>&1
nginx_tar=`cat $tmp_nginx_pkgtar | awk -F.tar.gz '{print $1}'`
nginx_tar_version=`cat $tmp_nginx_pkgtar_version`

#检查本机中的nginx版本,记录保存
nginx_local=$nginx_path/sbin/nginx -v > $tmp_nginx_local  2>&1
cat $tmp_nginx_local | awk -F[\/] '{print $2}' > $tmp_nginx_local_version 2>&1
nginx_local_version=`cat $tmp_nginx_local_version`

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
}


#检查nginx是否安装  
#Check whether the installation nginx
check_nginx(){

        diff_value=`diff $tmp_nginx_local_version $tmp_nginx_pkgtar_version ;echo $?`
        nginx_value=`ls $nginx_path > /dev/null 2>&1 ;echo $?`

        case $nginx_value in
                0)
                case $diff_value in
                        0)
                                print_log "本机已经安装了nginx,nginx的版本是$nginx_local_version,程序即将退出。"
                                exit
                        ;;
                        1)
                                print_log "本机已经安装了nginx,但与要安装的nginx的版本不一致。"
                                exit
                        ;;
                        *)
                                print_log "程序存在异常,即将退出。异常可能是因为不存在文件/目录导致的,请检查!!!"
                        ;;

                esac
                        print_log "本机已经安装了nginx,nginx的版本是$nginx_local_version,程序即将退出。"
                        exit
                ;;
                *)
                        print_log "本机不存在nginx目录,程序即将安装nginx,nginx版本是$nginx_tar_version"
                        install_nginx
                ;;
        esac
}


#install nginx
install_nginx(){

        cd $tar_dir
        tar -zxf $nginx_pkg
        cd $nginx_tar
        ./configure --prefix=/usr/local/nginx --with-http_ssl_module  --with-http_sub_module --with-http_gzip_static_module --with-http_stub_status_module --with-pcre --without-select_module --without-poll_module && make && make install


        if [[ $? != "0" ]];then
                print_log "[$(datef)] install_nginx(): install error!"
                exit
        fi

        cp -fv $file_dir/nginx /etc/init.d/nginx
        cp -fv $file_dir/nginx.conf $nginx_path/conf/
        chkconfig --add nginx

        add_user
        #Test config file exits
}

add_user(){
        print_log "**************************begin change www user mode* ****************** "
        if ! grep "^www" /etc/passwd
        then
                groupadd www
                useradd -g www -d /data/www www
        fi
        print_log "*************************end changed *********************************** "
        finished
}

finished(){
        #install complete
        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_nginx函数,开始准备安装nginx"
check_nginx

哎、、、nginx的脚本,我个人觉得写的不是很好。逻辑上不是很顺。只有待后面再重新改过了。

© 著作权归作者所有

共有 人打赏支持
王九龙
粉丝 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
PHP 7.0.0 一键安装脚本

OSCM (Operation System Configure Management) 是我创建的一个自动化运维脚本的项目,旨在提供敏捷运维。传统自动化运维工具例如 ansible, saltstack,puppet 不够灵活,配置繁琐,很多限...

neo-chen
2015/12/03
515
4
LNMT一键安装包 beta 0.2 版本正式发布

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

蓝翔妓工
2015/02/27
3.1K
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

没有更多内容

加载失败,请刷新页面

加载更多

携手开发者共建云生态 首届腾讯云+社区开发者大会在京举办

本文由云+社区发表 北京时间12月15日,由腾讯云主办,极客邦科技、微信、腾讯TEG协办的首届腾讯云+社区开发者大会在北京朝阳悠唐皇冠假日酒店举办。在会上,腾讯云发布了重磅产品开发者平台以...

腾讯云加社区
18分钟前
1
0
人工智能时代员工如何证明其IT工作价值

机器人可以取代你的工作吗?你能帮助机器人完成它的工作吗?如果你正在考虑自己的职业生涯以及今后将如何发展,那么应该询问自己这些问题了。 机器人可以取代你的工作吗?你能帮助机器人完成它的...

Linux就该这么学
19分钟前
1
0
CPU性能过剩提升乏力影响未来行业发展吗?

虽然CPU仍然在不断发展,但是它的性能已经不再仅仅受限于单个处理器类型或制造工艺上了。和过去相比,CPU性能提升的步伐明显放缓了,接下来怎么办,成为横亘在整个行业面前的大问题。 自201...

linuxCool
30分钟前
2
0
使用Autowired和Qualifier解决多个相同类型的bean如何共存的问题

注意: 实现类UserServiceImpl,MyUserServiceImpl 需要区分:@Service("userServicel") @Service("myUserService") https://blog.csdn.net/russle/article/details/80287763......

qimh
今天
4
0
SQL 语句使用to_char函数时,检索结果有空格

小疯在使用Oracle过程中,使用to_char函数检索表数据时发现检索结果前面会有一个空格,对后续开发有影响。问题很好解决,比较直接对可以做一下trim处理。但是小疯很疑惑为什么会有空格呢,于...

野小疯
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部