#!/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 删除。