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,那么就不重新安装;没有,就安装. 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的脚本,我个人觉得写的不是很好。逻辑上不是很顺。只有待后面再重新改过了。