SpringBoot整合Nacos

_running發表於2020-09-13

一、環境說明

1.CentOS7
2.Jdk1.8
3.Mysql5.7
4.Nacos1.3
5.SpringBoot2.3.1.RELEASE
6.Maven3.6

二、下載Nacos

1.Nacos官網:https://nacos.io/zh-cn/index.html
2.Nacos下載地址:https://github.com/alibaba/nacos/releases/download/1.3.0/nacos-server-1.3.0.tar.gz

三、解壓啟動Nacos

1.解壓:tar -zxvf nacos-server-1.3.0.tar.gz
2.進入目錄:cd nacos/bin
3.單機啟動Nacos:sh startup.sh -m standalone
4.如果覺得自己記不得這個命令
    1.先在Nacos startup.sh 所在的目錄中輸入命令:pwd 等會兒會用上!
    2.然後隨便在哪個目錄輸入命令:vim startNacos.sh
    3.複製剛剛pwd命令得到的的目錄地址,再複製單機啟動命令:sh /var/tool/nacos/bin/startup.sh -m standalone
    4.按esc,輸入法切換到英文,輸入 :wq 退出並儲存!
    5.在startNacos.sh存在的目錄輸入授權命令:chmod +x startNacos.sh 變綠了就是可執行的檔案了!
    6.在startNacos.sh存在的目錄輸入執行命令:./startNacos.sh
    7.輸入命令:ps -ef | grep nacos 看看是否正常啟動!
 5.啟動遇到錯誤要做到三不:不要慌!不要急!不要罵! 
    1.先檢查是否安裝了---> jdk <--- 輸入命令:java -version
    2.https://www.baidu.com    把錯誤資訊貼上上去
    3.https://www.google.com   把錯誤資訊貼上上去
 6.瀏覽器訪問Nacos:http://ip:8848
    1.訪問失敗(先確保Nacos是否正常啟動!!!)
         本地虛擬機器可以直接將防火牆關閉:systemctl stop firewalld
         雲伺服器開放埠:sudo firewall-cmd --zone=public --add-port=8848/tcp --permanent ,重新整理:sudo firewall-cmd --reload
    2.訪問成功
         輸入預設賬號密碼:nacos ,感受下我們中國人開源的配置中心、註冊中心...

四、配置Nacos

1.關閉Nacos(隨意選擇一種)
    1.輸入命令:ps -ef | grep nacos ,然後輸入:kill -9 程式號 ,強制殺死Nacos程式!
    2.在nacos/bin目錄中執行:./shutdown.sh ,關閉Nacos!
2.配置Nacos->Mysql
    1.編輯配置檔案:vim nacos/conf/application.properties
    2.放開、更改配置
        spring.datasource.platform=mysql
        db.num=1
        db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
        db.user=root
        db.password=自己mysql的密碼
    3.按esc,輸入法切換到英文,輸入 :wq 退出並儲存!
    4.操作Nacos的資料庫(也可以用資料庫連線工具連線mysql執行這個sql語句)
        1.輸入命令:mysql -uroot -p ,輸入密碼,沒有直接回車就行
        2.建立資料庫:create database nacos_config;
        3.選擇資料庫:use nacos_config;
        4.執行sql檔案:source /Nacos所在目錄/nacos/conf/nacos_mysql.sql
 3.操作完成後按照上面的方式再啟動Nacos
    1.想要修改登入密碼,右上角點選賬號選擇修改密碼即可!
    2.想要修改登入賬號,在資料庫中修改users、roles表中username欄位即可!

五、與SpringBoot整合,使用Nacos配置中心

  1.首先進入Nacos管理頁面,點選名稱空間新建名稱空間(不是強制要求可以用保留空間)
        官網解釋:用於進行租戶粒度的配置隔離。不同的名稱空間下,可以存在相同的 Group 或 Data ID 的配置。Namespace 的常用場景之一是不同環境的配置的區分隔離,例如開發測試環境和生產環境的資源(如配置、服務)隔離等。
  2.點選配置列表再點選右上的加號圖示新建配置(注意選擇剛剛配置的名稱空間名稱,沒配置就預設的pubilc)
        Data ID:我一般用專案名加上.yml!保證唯一性就行!列:study_nacos.yaml
        Group:沒有特殊要求直接使用預設的就行
        配置格式:沒有特殊要求直接選擇YAML。好用!看起來爽!
        配置內容:可以先找一些之前的配置貼上上去,不行就隨便寫兩個註釋!
    詳細配置講解:https://nacos.io/zh-cn/docs/concepts.html
  3.建立SpringBoot專案
  4.除了引入常用的dependencys,還需要引入:nacos-config-spring-boot-starter
    <!-- nacos-config -->
    <dependency>
        <groupId>com.alibaba.boot</groupId>
        <artifactId>nacos-config-spring-boot-starter</artifactId>
        <version>0.2.7</version>
    </dependency>
  5.直接刪除application.properties,新建bootstrap.yml
  6.說實話真想吐槽,找yaml配置找到吐!!!!這是個還不錯的配置文件:https://github.com/nacos-group/nacos-spring-boot-project/wiki
  7.分享下我的配置
     nacos:
       config:
         bootstrap:
         # 開啟預載入配置
         enable: true
         # 服務地址
         server-addr: 127.0.0.1:8848
         # 服務賬號
         username: nacos_account
         # 服務密碼
         password: nacos_password
         # data-id
         data-id: study_nacos.yml
         # group
         group: DEFAULT_GROUP
         # 名稱空間
         namespace: '剛剛自己新建的名稱空間ID,沒有新建不需要配置namaspace'
         # 配置檔案型別
         type: YAML
         # 最大重試次數
         max-retry: 10
         # 自動重新整理
         auto-refresh: true
         # 重試時間
         config-retry-time: 2000
         # 監聽長輪詢超時時間
         config-long-poll-timeout: 46000
  8.記得在啟動之前編輯下配置內容,可以修改下啟動埠或其他能直接感受到配置中心起作用的配置!
  9.接下來就是啟動專案了!啟動遇到錯誤要做到三不:不要慌!不要急!不要罵!

相關文章