天天看點

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加密

繼續閱讀