nginx+tomcat+nfs--web集群脚本分享,亲测可用

服务器架构如下:

nginx+tomcat+nfs--web集群脚本分享,亲测可用_第1张图片

 架构解析:nginx代理外部的web访问请求,由两台到多台tomcat服务器提供真实的web服务,为了保证所有用户访问网站的统一性,所有tomcat服务器的网站根目录指向NFS(图中Database服务器)共享目录。

架构作用:提升网站吞吐性能,保持web架构一定的冗余性(仅tomcat)

部署需要至少4台服务器,服务器操作系统版本centos7.9,外网通。

服务器部署顺序为:NFS→tomcat→nginx

您只需将对应脚本上传到对应服务器执行即可,tomcat安装包csdn搜索下载对应版本再上传到服务器对应目录即可(具体安装包版本运行脚本时有提示)。

闲话少说,三个脚本如下:

NFS:

#!/bin/bash
#function:nfs
#author:tommypeng 20220714 final version
##########################################
 if
  [  "$USER"  != "root"   ]
then
   echo "错误:非root用户,权限不足!"
  exit  0
fi
###############防火墙及SElinux############
systemctl stop firewalld && systemctl disable firewalld  && echo "防火墙已经关闭"
sed -i 's/SELINUX=.*/SELINUX=disabled/g'  /etc/selinux/config  && echo "关闭selinux"
echo  "脚本所需安装包请访问作者个人网站:https://www.huoshichong.cn/index.php/download.html"
sleep 10
###############网络############
ping -c 3   www.baidu.com
if
   [ $? -eq 0 ]
   then
   echo -e "\n\033[32m-----------------------------------------------\033[0m"
                	echo -e "\033[32m网络畅通,即将安装依赖包\033[0m"
   else 
     echo -e "\n\033[32m-----------------------------------------------\033[0m"
                	echo -e "\033[32m即将退出,请检查外网通讯 !\033[0m"
        exit  0
fi
##################NFS#####################
yum install -y rpc* nfs-utils  &&   echo  "NFS安装成功"
#################创建文件夹#################
mkdir /pengxiaogang  &&  chmod -R 777 /pengxiaogang  &&  echo  "共享文件夹创建成功"
cat >>  /etc/exports  <<  EOF
/pengxiaogang *(rw,sync)
EOF

############按顺序启动rpcbind和nfs服务################
systemctl start rpcbind  &&  systemctl start nfs  &&  echo "按顺序启动rpcbind和nfs服务成功"
##############配置生效##############
exportfs -r
##################测试####################
showmount -e localhost  &&  echo "I love you,I love BDQN!!" > /pengxiaogang/index.jsp

请查询好NFS服务器的IP地址备用,再另一台服务器运行tomcat脚本:

tomcat:

#!/bin/bash
#function:tomcat
#author:tommypeng 20220714 final version
##########################################
 if
  [  "$USER"  != "root"   ]
then
   echo "错误:非root用户,权限不足!"
  exit  0
fi
###############防火墙及SElinux############
systemctl stop firewalld && systemctl disable firewalld  && echo "防火墙已经关闭"
sed -i 's/SELINUX=.*/SELINUX=disabled/g'  /etc/selinux/config  && echo "关闭selinux"
echo  "脚本所需安装包请访问作者个人网站:https://www.huoshichong.cn/index.php/download.html"
sleep 10
############清理老旧包###########
rpm -qa | grep java  >  /root/888.txt
PLIST=$(cat  /root/888.txt)
for  PKGNAME   in    $PLIST
do
      rpm -e --nodeps   $PKGNAME   &&  echo  "老旧包已经清理完毕" 
done
rm -rf  /root/888.txt  &&  echo "临时文件已删除"
sleep 5
tarbagp=/usr/local
#判断文件是否存在,如果存在就不用下载了
function is_exist()
{
	if [ ! -f $tarbagp/$1 ];then
		echo  "请上传$1到/usr/local/"	
		###return 2###
		exit 0
	fi
}
###############安装JDK############
cd $tarbagp
   #判断文件是否存在
   is_exist jdk-8u311-linux-x64.tar.gz 
   is_exist apache-tomcat-8.5.72.tar.gz
   if [ $? -eq 0 ];then
   echo  "安装包已经就位,准备安装"
   fi
   sleep  5
cd $tarbagp &&  tar -zxvf jdk-8u311-linux-x64.tar.gz   &&   mv jdk1.8.0_311  jdk1.8
##############配置环境变量##############
cat >> /etc/profile  <

在第三台服务器再次运行以上脚本,安装两台tomcat服务器完毕,您需要准备好这两台tomcat服务器的IP备用,运行nginx脚本时需要提供。

第四台服务器,安装nginx,用如下脚本安装:

#!/bin/bash
#function:nginx代理
#author:tommypeng 20220714 final version
##########################################
 if
  [  "$USER"  != "root"   ]
then
   echo "错误:非root用户,权限不足!"
  exit  0
fi
###############防火墙及SElinux############
systemctl stop firewalld && systemctl disable firewalld  && echo "防火墙已经关闭"
sed -i 's/SELINUX=.*/SELINUX=disabled/g'  /etc/selinux/config  && echo "关闭selinux"
###############网络############
ping -c 3   www.baidu.com
if
   [ $? -eq 0 ]
   then
   echo -e "\n\033[32m-----------------------------------------------\033[0m"
                	echo -e "\033[32m网络畅通,即将安装依赖包\033[0m"
   else 
     echo -e "\n\033[32m-----------------------------------------------\033[0m"
                	echo -e "\033[32m即将退出,请检查外网通讯 !\033[0m"
        exit  0
fi
#######################依赖包###################
yum -y install  gcc gcc-c++ autoconf automake libtool make openssl openssl-devel pcre pcre-devel  wget
#############下载安装包##############
cd  /usr/local/src/    &&   wget  http://nginx.org/download/nginx-1.8.1.tar.gz 
if
   [ $? -eq 0 ]
   then
   echo -e "\n\033[32m-----------------------------------------------\033[0m"
                	echo -e "\033[32m安装包已经下载成功\033[0m"
   else 
     echo -e "\n\033[32m-----------------------------------------------\033[0m"
                	echo -e "\033[32m哟吼,滚犊子的下载失败了,即将退出 !\033[0m"
        exit  0
fi
###############编译及安装#############
    cd  /usr/local/src/  &&  	tar -zxvf nginx-1.8.1.tar.gz
if [ $? -eq 0 ];then
cd  /usr/local/src/nginx-1.8.1
./configure \
--prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_flv_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre
make  && make install
             if  [ $? -eq 0 ];then
                	echo -e "\n\033[32m-----------------------------------------------\033[0m"
                	echo -e "\033[32m nginx编译安装成功 !\033[0m"
        	 else
                	echo -e "\033[32m nginx编译安装失败,请检查! \033[0m"
                	exit 1
        	 fi
	fi
mv  /usr/local/nginx/conf/nginx.conf   /usr/local/nginx/conf/nginx.conf.bak    &&  echo "已备份默认配置文件,即将重建配置文件含反向代理"
sleep 5
read -p  "请输入第一台tomcat服务器的IP  "   tomcata
read -p  "请输入第二台tomcat服务器的IP  "   tomcatb
cat >>  /usr/local/nginx/conf/nginx.conf  <

以上四台您部署完毕后,访问nginx服务器的ip

如果出现如下界面则表示集群部署成功!!!

nginx+tomcat+nfs--web集群脚本分享,亲测可用_第2张图片

你可能感兴趣的:(centos,运维,服务器,nginx,tomcat)