ubuntu部署 nacos单机版
·
操作系统版本: Ubuntu 24.04
nacos 版本: 2.5.0
目录结构:
/opt/nacos/
├── bin
│?? ├── logs
│?? └── work
├── conf
├── data
│?? ├── connection
│?? ├── derby-data
│?? ├── naming
│?? ├── protocol
│?? └── tps
├── logs
└── target
脚本内容如下:
#! /bin/bash
PACKAGE_DIR=/opt/source
APP_DIR=/opt
NACOS_VER=2.5.0
JDK_VER=20
JDK_VER_DETAIL=20.0.2
NACOS_SERVICE=/usr/lib/systemd/system/nacos.service
set_jdk() {
wget -V
if [ $? -ne 0 ];then
apt install wget -y
fi
apt install wget -y
if [ ! -d $PACKAGE_DIR ];then
mkdir -p $PACKAGE_DIR
fi
if [ ! -f $PACKAGE_DIR/jdk-${JDK_VER_DETAIL}_linux-x64_bin.tar.gz ];then
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
fi
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
. /etc/profile
java -version
if [ $? -ne 0 ];then
return 1
else
echo "JDK 已配置完成"
fi
fi
}
deploy_nacos() {
if [ ! -d $PACKAGE_DIR ];then
mkdir $PACKAGE_DIR
fi
if [ ! -f $PACKAGE_DIR/nacos-server-${NACOS_VER}.zip ];then
wget -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
}
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
sleep 60
ss -ntaulp |grep 8848
if [ $? -eq 0 ];then
sleep 60
$APP_DIR/nacos/bin/shutdown.sh
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
更多推荐
所有评论(0)