天天看点

Nacos 安装部署

下载和基本配置sql信息

从nacos官网 https://nacos.io/zh-cn/index.html 下载安装包

1.创建数据库nacos,并设置字符集utf8

2.执行/nacos/conf/nacos-mysql.sql中的语句,创建表,并插入数据

3.修改/nacos/conf/application.properties文件,如下

spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://localhost:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456
           

启动-单机部署

centos

cd  /nacos/bin
sh startup.sh -m standalone
           

windows

cd  /nacos/bin
startup -m standalone
           

如果直接双击,非如上命令模式启动,会报如下异常

nacos Caused by: java.net.UnknownHostException: jmenv.tbsite.net

集群部署

cp conf/cluster.conf.example conf/cluster.conf
           

需要配置3个或3个以上节点,生产环境建议分布在多台服务器上,目前咱们仅在一台机器上测试。

vi conf/cluster.conf

127.0.0.1:8848
127.0.0.1:8849
127.0.0.1:8850
           

在一台机器上跑三个节点

因此启动脚本和关闭脚本需要做一点修改

cp bin/startup.sh bin/startup-port.sh

vi bin/startup-port.sh

## 修改sh脚本
export MODE="cluster"
export FUNCTION_MODE="all"
export SERVER_PORT="8848"
while getopts ":m:f:p:" opt
do
    case $opt in
        m)
            MODE=$OPTARG;;
        f)
            FUNCTION_MODE=$OPTARG;;
        p)
            SERVER_PORT=$OPTARG;;
        ?)
        echo "Unknown parameter"
        exit 1;;
    esac
done
JAVA_OPT="${JAVA_OPT} -Dserver.port=${SERVER_PORT}"
           

修改关闭服务脚本

cp bin/shutdown.sh bin/shutdown-port.sh
vi bin/shutdown-port.sh

PORT=$1
if [ ! $PORT ]; then
  echo "please select stop port!" >&2
  exit 1
fi
 
pid=`ps ax | grep -i 'nacos.nacos' |grep java |grep ${PORT} | grep -v grep | awk '{print $1}'`
           

启动和关闭

默认方式启动是集群模式

sh bin/startup-port.sh ##默认集群模式
sh bin/startup.sh -m standalone #单机模式
           

单机多节点下-启动方式如下:

单机多节点下-关闭方式如下:

浏览器控制台

启动后就可以在浏览器打开 http://127.0.0.1:8848/nacos/

即可看到控制台,默认用户名/密码为nacos/nacos。

负载均衡

附1: 可通过Nginx配置只访问一个地址负载均衡到三个节点上:

upstream nacos-cluster{
    server 127.0.0.1:8848;
    server 127.0.0.1:8849;
    server 127.0.0.1:8850;
}
           

密码修改

附:集群模式下控制台的用户名密码都存在了数据库的users表,用户名直接修改就行,密码需要用org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder加密

继续阅读