1、脚本及安装包,前端文件存放位置/opt/install/nginx/install-nginx.sh
#!/bin/bash
script_dir=$(cd $(dirname $0);pwd)
log_info(){
content="[ INFO ] $(date "+%F %H:%M:%S") $1"
echo -e "\033[32m" ${content} "\033[0m" >>$script_dir/install.log
echo -e "\033[32m" ${content} "\033[0m"
}
log_error(){
if [ "$?" != 0 ];then
content="[ ERROR ] $(date "+%F %H:%M:%S") $1"
echo -e "\033[31m" ${content} Error"\033[0m"\" >>$script_dir/install.log
echo -e "\033[31m" ${content} Error"\033[0m"\"
exit -1
fi
}
if [ -z $1 ];then
echo "Usage: sh $(basename $0) IP"
echo "Ex: sh $(basename $0) 192.168.1.1"
exit -1
fi
if [ -d /usr/local/nginx/ ];then
log_info "/usr/local/nginx dir already exists!"
exit 1
else
package_name="nginx.tar"
script_dir=$(cd $(dirname $0);pwd)
tar -zxvf $script_dir/$package_name -C /usr/local &>/dev/null
unzip dist.zip -d /usr/local/nginx/html/ &>/dev/null
echo "get service ip addr."
if [ ! -n $1 ];then
ip_addr=$(ifconfig ens32 | grep 'inet' | awk '{print $2}' | head -1)
else
ip_addr=$1
sed -i "s/192.168.1.133/$ip_addr/g" /usr/local/nginx/conf/nginx.conf
fi
log_info "start nginx"
ps axu|grep nginx|grep -v grep|grep -v sh|awk '{print $2}'|xargs kill -9 &>/dev/null
/usr/local/nginx/sbin/nginx
pid_count=$(ps axu|grep nginx|grep -v grep|awk '{print $2}'|wc -l)
if [ $pid_count -gt 0 ];then
log_info "nginx is running."
else
log_error "start nginx failed"
fi
log_info "install nginx done"
fi
2、执行安装脚本sh /opt/install/nginx/install-nginx.sh 192.168.1.133