CentOS 7下Nacos安裝詳解

一、安裝前準備

1、在命令行終端中輸入以下命令,以升級yum及其提示缺失的依賴包:

yum update -y
yum install net-tools -y

2、安裝JDK,Nacos的運行環境是Java 8或更高版本,因此需要安裝openjdk-8-jdk:

yum install java-1.8.0-openjdk -y
java -version

安裝完成後在命令行中輸入java -version,可以看到jdk的版本信息:openjdk version “1.8.0_302”

二、下載及安裝Nacos

1、在瀏覽器輸入網址http://github.com/alibaba/nacos/releases,到nacos的發行版repo下載最新版本的nacos-server-$version.tar.gz:

wget https://github.com/alibaba/nacos/releases/download/2.0.3/nacos-server-2.0.3.tar.gz

2、解壓nacos-server-$version.tar.gz:

tar -xvf nacos-server-2.0.3.tar.gz

3、進入解壓後的nacos文件夾:

cd nacos/bin

4、執行startup.sh腳本以啟動nacos:

./startup.sh -m standalone

Nacos啟動後,在瀏覽器輸入地址http://localhost:8848/nacos/,進行訪問,如果能看到網頁,說明nacos已經正常啟動。

三、使用Nacos

1、註冊服務

在Nacos中,註冊中心的重要作用是向外界註冊服務和從外界獲取服務列表。註冊服務可以通過Nacos中的服務管理頁面來完成。

首先創建配置文件${nacos_home}/conf/application.properties:

server.port=8080
spring.application.name=example
spring.cloud.nacos.config.server-addr=127.0.0.1:8848

然後在Spring Boot應用程序的pom.xml中添加如下配置:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

接下來在啟動類上添加@EnableDiscoveryClient註解:

@SpringBootApplication
@EnableDiscoveryClient
public class ExampleApplication {
    public static void main(String[] args) {
        SpringApplication.run(ExampleApplication.class, args);
    }
}

最後在需要註冊服務的Controller中添加@NacosInjected註解:

@RestController
@RequestMapping("/example")
public class ExampleController {

    @NacosInjected
    private NamingService namingService;

    @GetMapping("/service")
    public List<Instance> getService() throws NacosException {
        return namingService.getAllInstances("example");
    }
}

訪問http://localhost:8080/example/service,即可看到註冊的服務列表。

2、配置管理

Nacos還可以用於配置管理。Nacos的配置可以分為命名空間、分組、配置等級、配置監聽器等。

首先創建配置文件${nacos_home}/conf/application.properties:

server.port=8080
spring.application.name=example
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.namespace=example-config

然後在配置管理頁面添加配置信息,並選擇分組及配置等級:

data:
  example.yaml: |
    name: example
    port: 8080

修改配置內容並保存,可以在應用程序中獲取配置信息,如下:

@RestController
@RequestMapping("/example")
@RefreshScope
public class ExampleController {

    @Value("${name}")
    private String name;

    @GetMapping("/config")
    public String getConfig() {
        return "name: " + name;
    }
}

訪問http://127.0.0.1:8080/example/config,即可看到獲取的配置信息。

四、Nacos集群部署

1、配置集群信息

首先在${nacos_home}/conf/cluster.conf文件中添加集群信息:

172.16.100.110:8848
172.16.100.111:8848
172.16.100.112:8848

其中,IP地址為各個nacos服務器的IP地址。

2、啟動所有Nacos實例

使用啟動命令啟動所有Nacos實例,並在每個Nacos實例所在的主機上運行一個實例,例如:

./startup.sh -p 8848 -m standalone
./startup.sh -p 8849 -m standalone
./startup.sh -p 8850 -m standalone

3、在nacos中創建集群

在Nacos後台管理系統中,單擊“命名空間管理”,然後單擊“新建命名空間”

輸入集群信息,完成創建。

4、查看集群狀態

進入頁面http://127.0.0.1:8848/nacos/v1/ns/raft/health,即可看到Nacos集群的健康狀態,如下:

{"message":"CLUSTER_HEALTHY","code":200}

五、總結

Nacos是一個功能強大的服務發現和配置管理平台,可以滿足大部分企業的服務管理需求。在CentOS 7上安裝Nacos並進行簡單的示例演示後,可以看到Nacos易於使用並集成Spring Boot非常方便。同時,在Nacos後台管理系統中可以很方便地進行配置管理和集群管理。

原創文章,作者:ITGBS,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/370849.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
ITGBS的頭像ITGBS
上一篇 2025-04-22 01:14
下一篇 2025-04-23 00:48

相關推薦

  • CentOS 6如何刪除resolv.conf的DNS

    本文將介紹在CentOS 6操作系統下如何刪除resolv.conf文件中的DNS配置信息。 一、備份resolv.conf文件 在修改resolv.conf文件之前,建議首先備份…

    編程 2025-04-29
  • 使用CentOS配置監控

    本文將介紹如何使用CentOS配置監控,包括如何安裝監控工具、配置監控參數、監控其他服務器等方面。 一、安裝監控工具 要想進行監控,首先需要安裝監控工具。在CentOS系統中,常見…

    編程 2025-04-29
  • 在CentOS上安裝Redis

    Redis是一款非關係型數據庫,它支持多種數據結構,包括字符串、哈希、列表、集合、有序集合等。Redis運行內存內並且支持數據持久化,它還可以應用於緩存、消息隊列等場景。本文將介紹…

    編程 2025-04-28
  • CentOS 7在線安裝MySQL 8

    在本文中,我們將介紹如何在CentOS 7操作系統中在線安裝MySQL 8。我們會從安裝環境的準備開始,到安裝MySQL 8的過程進行詳細的闡述。 一、環境準備 在進行MySQL …

    編程 2025-04-27
  • Linux sync詳解

    一、sync概述 sync是Linux中一個非常重要的命令,它可以將文件系統緩存中的內容,強制寫入磁盤中。在執行sync之前,所有的文件系統更新將不會立即寫入磁盤,而是先緩存在內存…

    編程 2025-04-25
  • 神經網絡代碼詳解

    神經網絡作為一種人工智能技術,被廣泛應用於語音識別、圖像識別、自然語言處理等領域。而神經網絡的模型編寫,離不開代碼。本文將從多個方面詳細闡述神經網絡模型編寫的代碼技術。 一、神經網…

    編程 2025-04-25
  • Linux修改文件名命令詳解

    在Linux系統中,修改文件名是一個很常見的操作。Linux提供了多種方式來修改文件名,這篇文章將介紹Linux修改文件名的詳細操作。 一、mv命令 mv命令是Linux下的常用命…

    編程 2025-04-25
  • nginx與apache應用開發詳解

    一、概述 nginx和apache都是常見的web服務器。nginx是一個高性能的反向代理web服務器,將負載均衡和緩存集成在了一起,可以動靜分離。apache是一個可擴展的web…

    編程 2025-04-25
  • git config user.name的詳解

    一、為什麼要使用git config user.name? git是一個非常流行的分布式版本控制系統,很多程序員都會用到它。在使用git commit提交代碼時,需要記錄commi…

    編程 2025-04-25
  • Python輸入輸出詳解

    一、文件讀寫 Python中文件的讀寫操作是必不可少的基本技能之一。讀寫文件分別使用open()函數中的’r’和’w’參數,讀取文件…

    編程 2025-04-25

發表回復

登錄後才能評論