CentOS 7部署nacos2.3.2

  • CentOS7.9部署 nacos2.3.2 单机版,使用默认配置存储数据

  • 由于nacos是java语言编写,所以脚本中有检测jdk,如果没有jdk会按脚本中JDK_VER,
    JDK_VER_DETAIL指定的版本下载配置jdk

  • 脚本中已开启nacos的授权访问,初始账户 nacos,密码nacos,登录后请修改密码

  • 下载的安装包,存储在/opt/source目录,可以按需修改变量值 jdk和nacos 安装在/opt目录,可以按需修改变量值

  • 目录结构如下
    /opt
    ├── jdk-20.0.2
    │ ├── bin
    │ ├── conf
    │ ├── include
    │ ├── jmods
    │ ├── legal
    │ ├── lib
    │ ├── LICENSE -> legal/java.base/LICENSE
    │ ├── man
    │ ├── README
    │ └── release
    ├── nacos
    │ ├── bin
    │ ├── conf
    │ ├── data
    │ ├── LICENSE
    │ ├── logs
    │ ├── NOTICE
    │ └── target
    └── source
    部署脚本如下

#! /bin/bash
PACKAGE_DIR=/opt/source
APP_DIR=/opt
NACOS_VER=2.3.2
JDK_VER=20
JDK_VER_DETAIL=20.0.2
NACOS_SERVICE=/usr/lib/systemd/system/nacos.service

function set_jdk {
   wget -V
   if [ $? -ne 0 ];then
     yum install wget -y
   fi

   yum install wget -y 
   if  [ ! -d  $PACKAGE_DIR ];then
     mkdir -p $PACKAGE_DIR
   fi
   wget -P $PACKAGE_DIR  https://download.oracle.com/java/${JDK_VER}/archive/jdk-${JDK_VER_DETAIL}_linux-x64_bin.tar.gz
   if [ $? -ne 0 ];then
     echo " jdk 安装包下载失败,请手动下载,即将退出"
     return 1
   else
     tar -xzvf ${PACKAGE_DIR}/jdk-${JDK_VER_DETAIL}_linux-x64_bin.tar.gz -C $APP_DIR
     echo "export JAVA_HOME=${APP_DIR}/jdk-${JDK_VER_DETAIL}" >> /etc/profile
     echo "export PATH=\$PATH:\$JAVA_HOME/bin" >> /etc/profile
     source /etc/profile
     java -version
     if [ $? -ne 0 ];then
       return 1
     else
       echo "JDK 已配置完成"
     fi 
   fi
}

function deploy_nacos {

   if [ ! -d $PACKAGE_DIR ];then
     mkdir $PACKAGE_DIR
   fi
   
   if [ ! -f $PACKAGE_DIR/nacos-server-${NACOS_VER}.zip ];then
     wget -w4 -P $PACKAGE_DIR https://github.com/alibaba/nacos/releases/download/${NACOS_VER}/nacos-server-${NACOS_VER}.zip
     if [ $? -ne 0 ];then
       echo " nacos 安装包下载失败,请手动下载, 即将退出"
       return 1
     fi
   fi  
   unzip -d $APP_DIR $PACKAGE_DIR/nacos-server-${NACOS_VER}.zip
   sed -i 's/nacos.core.auth.enabled=false/nacos.core.auth.enabled=true/g'   ${APP_DIR}/nacos/conf/application.properties
   sed -i 's/nacos.core.auth.server.identity.key=/nacos.core.auth.server.identity.key=${NACOS_AUTH_IDENTITY_KEY:example}/g' ${APP_DIR}/nacos/conf/application.properties
   sed -i 's/nacos.core.auth.server.identity.value=/nacos.core.auth.server.identity.value=${NACOS_AUTH_IDENTITY_KEY:example}/g' ${APP_DIR}/nacos/conf/application.properties
   sed -i 's/nacos.core.auth.plugin.nacos.token.secret.key=/nacos.core.auth.plugin.nacos.token.secret.key=${NACOS_AUTH_TOKEN:SecretKey01234567890123456789012345345678999987654901234567890123456789}/g' ${APP_DIR}/nacos/conf/application.properties

   cd ${APP_DIR}/nacos/bin && ./startup.sh -m standalone
   if [ $? -eq 0 ];then
     echo "nacos 已部署启动成功"
     return 0
   else
     echo "nacos 安装出现异常,请查看报错信息"
     return 1
   fi
}

function set_nacos_to_service {
  echo "将nacos 配置成服务,设置成开机启动"
  if [ ! -f $NACOS_SERVICE ];then
    touch $NACOS_SERVICE
  else
    echo "Nacos 服务配置文件已存在"
  fi
  cat > $NACOS_SERVICE << EOF
  [Unit]
  Description=https://nacos.io/
  After=network.target

  [Service]
  Type=forking
  Environment=JAVA_HOME=${APP_DIR}/jdk-${JDK_VER_DETAIL}
  ExecStart=$APP_DIR/nacos/bin/startup.sh -m standalone
  ExecStop=$APP_DIR/nacos/bin/shutdown.sh
  PrivateTmp=true

  [Install]
  WantedBy=multi-user.target 
EOF
  cat $NACOS_SERVICE
  systemctl daemon-reload
  ss -ntaulp |grep 8848
  if [ $? -eq 0 ];then
    sh $APP_DIR/nacos/bin/shutdown.sh
    sleep 5
  fi
  systemctl enable nacos
  systemctl start nacos
  if [ $? -eq 0 ];then
     echo "nacos 服务配置成功, nacos 服务已启动"
  else
     echo "nacos 服务配置异常,请检查服务配置信息"
  fi

}

java -version
if [ $? -eq 0 ];then
  echo "JDK 已配置"   
else
  echo "没有jdk环境,开始安装jdk"
  set_jdk
fi
deploy_nacos
if [ $? -eq 0 ];then
  set_nacos_to_service
fi
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值