一.安装nacos
、依赖记得别放<dependencyManagement></dependencyManagement>这个标签去了
1.在linux拉取镜像安装
docker pull nacos/nacos-server:1.3.1
2.创建挂载目录
mkdir -p /usr/local/docker/nacos/init.d /usr/local/docker/nacos/logs
3.安装nacos
docker run -d \
-p 8848:8848 \
-e MODE=standalone \
-e PREFER_HOST_NAME=hostname \
-v /usr/local/docker/nacos/init.d:/home/nacos/init.d \
-v /usr/local/docker/nacos/logs:/home/nacos/logs \
--name nacos nacos/nacos-server:1.3.1
看看有没有启动nacos
docker ps
二.注册中心
1.idea创建maven项目
2.加依赖
在pom.xml文件里加入依赖,等待的时间有点长,耐心等待。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.7.RELEASE</version>
</parent>
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<spring-boot.version>2.6.13</spring-boot.version>
<jwt.version>0.7.0</jwt.version>
<fastjson.version>1.2.60</fastjson.version>
<spring-cloud-alibaba.version>2.0.3.RELEASE</spring-cloud-alibaba.version>
<spring-cloud.version>Finchley.SR2</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!--json-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring-cloud-alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<classifier>exec</classifier>
</configuration>
</plugin>
</plugins>
</build>
3.编写bootstrap.yml配置文件
在resources下创建bootstrap.yml配置文件
spring:
cloud:
nacos:
discovery:
server-addr: 192.168.130.39:8848
4.编写application.properties配置文件
在resources下创建application.properties配置文件
5.创建启动类并启动
注意我这里的启动类放com.jr下面了,而不是com下面,因为nacos云默认有一个com包,如果我们只是写com,它无法识别我们的项目,只要我们把启动类放在com.jr或者是com.其它的地方就能识别了。还有启动前一定要保证自己的nacos在运行状态。
package com.jr;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringBootMain {
public static void main(String[] args) {
SpringApplication.run(SpringBootMain.class,args);
}
}
6.登录nacos网页
随便找个浏览器然后在上面输入下面的地址
用户和密码都是nacos
登录成功后的页面:
然后我们点击左边的服务管理里的服务列表,就可以看到我们刚刚在配置文件创建的名字服务了,表示注册成功,然后我们点击它右边的详情。
三.配置中心
1.创建并修改application.yml
server:
port: 99
common:
name: zhangsan
age: 20
2.创建控制器类
package com.jr.controller;
import lombok.Setter;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/user")
@Setter
public class UserController {
@Value("${common.name}")
private String name;
@Value("${common.age}")
private Integer age;
@GetMapping
public String test(){
return name+"----"+age;
}
}
3.启动项目
在自己浏览器上输入以下地址
4.在pom.xml再次添加依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
5.创建命名空间
我们再回到nacos网页,去创建命名空间。
6.配置中心添加配置文件
再创建一个
点返回,回到首页。
7.修改bootstrap.yml配置文件
spring:
cloud:
nacos:
discovery:
server-addr: 192.168.130.39:8848
config:
server-addr: 192.168.130.39:8848
file-extension: yaml
namespace: 8920c585-274d-477f-b55f-9324be8da9bd
shared-configs:
- data-id: dierge.yaml
group: DEFAULT_GROUP
- data-id: woshidierge.yaml
group: DEFAULT_GROUP
inetutils:
preferred-networks: 192.168.116
下面几个地方我简单说下,
server-addr是你在注册操作时候的ip和端口
file-extension是你在配置中心添加配置文件时候的类型.
namespace能在你的配置管理的配置列表上面找到:
shared-configs是你两个配置的id和group,也能在上面的图片找到
preferred-networks能在服务管理的服务列表找到,记得你的把上面的换为public才行,然后点进服务的详情里面,下面就是preferred-networks
8.启动项目
在浏览器中输入如下地址。
到这就结束了,下面是我的idea项目的结构,大家也可以做参考,大家加油。