首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >nginx安装脚本

nginx安装脚本

原创
作者头像
用户7108768
修改2021-11-01 09:16:13
4910
修改2021-11-01 09:16:13
举报
#!/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</pre>
 哎、、、nginx的脚本,我个人觉得写的不是很好。逻辑上不是很顺。只有待后面再重新改过了。                     

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档