一.安装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: 99common:name: zhangsanage: 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;@GetMappingpublic 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:8848config:server-addr: 192.168.130.39:8848file-extension: yamlnamespace: 8920c585-274d-477f-b55f-9324be8da9bdshared-configs:- data-id: dierge.yamlgroup: DEFAULT_GROUP- data-id: woshidierge.yamlgroup: DEFAULT_GROUPinetutils:preferred-networks: 192.168.116
下面几个地方我简单说下,
server-addr是你在注册操作时候的ip和端口
file-extension是你在配置中心添加配置文件时候的类型.
namespace能在你的配置管理的配置列表上面找到:
shared-configs是你两个配置的id和group,也能在上面的图片找到
preferred-networks能在服务管理的服务列表找到,记得你的把上面的换为public才行,然后点进服务的详情里面,下面就是preferred-networks
8.启动项目
在浏览器中输入如下地址。
到这就结束了,下面是我的idea项目的结构,大家也可以做参考,大家加油。