首页 > 系统相关 >Centos7下Nacos安装和部署

Centos7下Nacos安装和部署

时间:2022-12-08 20:02:06浏览次数:63  
标签:8848 部署 配置 Nacos server Centos7 nacos config yml


一、什么是 Nacos?

Nacos 是阿里巴巴的新开源项目,其核心定位是 “一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台”,它支持几乎所有主流类型的“服务”的发现、配置和管理。架构图如下:

Centos7下Nacos安装和部署_bootstrap


​官方文档:​

主流注册中心产品

Centos7下Nacos安装和部署_spring cloud alibaba_02

二、单体部署:

Nacos 确实是极易上手,几乎免安装,只需要简单的解压包, 启动 server 即可,它除了提供配置中心还提供注册中心的作用,可以替代Eureka。

从nacos官网 https://github.com/alibaba/nacos/releases 下载安装包,最新正式版:nacos-server-2.0.3.tar.gz,直接解压就可以了

Centos7下Nacos安装和部署_spring cloud alibaba_03

下载:

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

解压:

tar -zxvf nacos-server-2.0.3.tar.gz

启动:

cd /nacos/bin

sh startup.sh -m standalone

配置:

可以自定义账号密码,并将账号密码存储进我们自己的数据库,需要修改/nacos/conf/application.properties文件,nacos默认使用的数据库为内嵌的cmdb

创建mysql数据库nacos,并设置字符集utf8

执行/nacos/conf/nacos-mysql.sql中的语句,创建表,并插入数据:

Centos7下Nacos安装和部署_spring_04


修改/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

修改单机模式:

如果不是部署nacos集群,则将模式修改为单机模式

打开bin/startup.cmd 文件,将MODE从cluster改为 standalone,如下:

Centos7下Nacos安装和部署_命名空间_05

重启:

然后根据提示去查看是否启动成功在logs下的start.out

Centos7下Nacos安装和部署_bootstrap_06


如果启动成功但是访问失败:

防火墙的命令:

查看防火墙状态 systemctl status firewalld
开启防火墙 systemctl start firewalld
关闭防火墙 systemctl stop firewalld
开启防火墙 service firewalld start
禁止开机启动防火墙 systemctl disable firewalld.service
先用:systemctl unmask firewalld.service
然后:systemctl start firewalld.service

查看你的服务的端口号是否对外开放:

查询已经对外开放的端口

netstat -anp

查询指定端口是否已经开放

firewall-cmd --query-port=8848/tcp

Centos7下Nacos安装和部署_mysql_07


返回yes/no。此时也有可能返回firewalld is not running,此时需要打开防火墙再开放端口。

开放端口号命令:

添加指定需要开放的端口:

firewall-cmd --add-port=8848/tcp --permanent

Centos7下Nacos安装和部署_命名空间_08


重载入添加的端口:

firewall-cmd --reload

查询指定端口是否开启成功:

firewall-cmd --query-port=8848/tcp

Centos7下Nacos安装和部署_spring_09


如果需要停止Nacos服务端,可以执行如下命令:

sh shutdown.sh

三、群集部署

四、访问Nacos UI界面

访问:http://192.168.8.150:8848/nacos,输入默认账号密码:nacos,nacos

Centos7下Nacos安装和部署_bootstrap_10


1.输入默认账号密码,看是否可以正常登录

2.这个配置管理项便是nacos的注册中心服务端了,下面还有一个服务管理,是nacos注册中心 图形化界面的服务端。

3.修改账号密码,在数据库中,找到users表,即用户表,就可以修改其中的账号和密码

4.创建密码,nacos的密码是使用 org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder 加密的,所以需要我们手动创建一个加密工具类,来生成我们自己的密码,将密码写进users表中,重启nacos。

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
<version>2.1.4.RELEASE</version>
</dependency>
public class App {
public static void main(String[] args) {
String pwd = new BCryptPasswordEncoder().encode("123456");
System.out.println(pwd);
}
}

执行如下sql命令:

insert into users values('nacos','$2a$10$04MGTL.cJNZPpR3rFt/I2.43F.V75NH.5wdK.jngaO9Mc91mfonAO', 1);

insert into roles values('nacos', 'ROLE_ADMIN')

五、配置Nginx

六、搭建SpringBoot项目

加入依赖

<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

nacos-config这个依赖就相当于SpringCloud Config,nacos-discovery这个依赖就相当于Eureka。

配置中心

先将nacos-discovery依赖进行注释,先来实现config
在项目中创建bootstrap.yml文件,加入以下配置:
配置说明:

spring:
application:
name: demo-service #项目名
profiles:
active: dev
cloud:
nacos:
# 配置中心
config:
# 命名空间id(此处不用public,因public初始化的空间, id为空)
namespace: ${spring.profiles.active}
# nacos的ip地址和端口
server-addr: ${NACOS-HOST:127.0.0.1}:${NACOS-PORT:8848}
#nacos登录用户名
username: nacos
#nacos登录密码
password: nacos
# 这个就表示 在我们nacos命名空间id为 dev中 有一个data-id 为 demo-service.yml 的配置文件 读取这个里面的配置
file-extension: yml
config-retry-time: 300000
# 共享配置, 可以把公共配置放在同个命名空间下,然后创建一个 common.yml 文件 ,里面可以放共用的配置
shared-configs: common.yml

# 发布到注册中心 (如果没有使用可以不配)
discovery:
# 命名空间id(此处不用public,因public初始化的空间, id为空)
namespace: ${spring.profiles.active}
# nacos的ip地址和端口
server-addr: ${NACOS-HOST:127.0.0.1}:${NACOS-PORT:8848}

如果要覆盖共享配置里面的内容 只需要在主配置文件(application.yml)中在写一遍配置即可 ,主配置优先级高。

bootstrap.yml(bootstrap.properties)用来在程序引导时执行,应用于更加早期配置信息读取,如可以使用来配置application.yml中使用到参数等

application.yml(application.properties) 应用程序特有配置信息,可以用来配置后续各个模块中需使用的公共参数等。

bootstrap.yml 先于 application.yml 加载

如果项目启动报错:

java.lang.IllegalStateException: failed to req API:/nacos/v1/ns/instance after all server

把 config中的server-addr由域名 换成IP加端口号就行了:

spring:
cloud:
nacos:
discovery:
server-addr: 192.168.8.150:8848
config:
server-addr: 192.168.8.150:8848
file-extension: yaml
shared-dataids: miracle-config.yaml


标签:8848,部署,配置,Nacos,server,Centos7,nacos,config,yml
From: https://blog.51cto.com/u_15906694/5923312

相关文章

  • 非入侵式Linux 性能监控面板 NetData安装部署流程。
    构建最佳的实时健康监控和性能故障排除解决方案:Netdata是一款Linux性能实时监测工具.。以web的可视化方式展示系统及应用程序的实时运行状态(包括cpu、内存、硬盘输入/输......
  • CentOS7安装RabbitMQ.
    安装erlang:由于rabbitmq是基于erlang语言开发的,所以必须先安装erlang。安装依赖:yum-yinstallgccglibc-develmakencurses-developenssl-develxmltoperlwgetgtk2-......
  • CentOS7查看哪个文件占磁盘空间过大
    CentOS7查看哪个文件占磁盘空间过大下面是一个思路,看明白再去操作查看自己机器情况即可。df-h查看整个磁盘情况可以看到根目录已经使用了79%,已用49%,只有35G可以使......
  • PaaS平台如何实现简化应用开发和部署
    对于一个应用的需求,一般分为两个方面∶一方面是与业务相关的功能性需求;另一方面就是诸如安全性、可靠性及服务质量等非功能性的需求。应用的开发阶段主要考虑功能性要求,而运......
  • PaaS平台如何实现简化应用开发和部署
    对于一个应用的需求,一般分为两个方面∶一方面是与业务相关的功能性需求;另一方面就是诸如安全性、可靠性及服务质量等非功能性的需求。应用的开发阶段主要考虑功能性要求,而......
  • MetaForce原力元宇宙佛萨奇2.0智能合约系统开发(源码部署)
    今天带你真正了解佛萨奇原力force,你用简单的话术让你真正明白佛丝!什么是佛萨奇原力FORGE?佛萨奇原力FORCE是在链上部署的一个智能合约BSC智能链是基于全球第一交易所网的数字......
  • Linux centos7升级内核
    1、查看当前内核版本 2、 CentOS允许使用ELRepo,这是一个第三方仓库,可以将内核升级到最新版本。1.导入该源的秘钥rpm--importhttps://www.elrepo.org/RPM-GPG-KE......
  • 克隆CentOS7,解决网络配置问题
    克隆CentOS7,解决网络配置问题1、配置主机名:vi/etc/hostnameNETWORKING=yesHOSTNAME=CentOS7-02查看ip:ipaddress或者ipaddr都可以,功能是一样的由于在CentOS7-1......
  • 通过docker compose部署项目jar包
    Docker-Compose是用来管理容器的,类似用户容器管家,我们有N多台容器或者应用需要启动的时候,如果手动去操作,是非常耗费时间的,如果有了Docker-Compose只需要一个配置文件就可......
  • Spring cloud集成 Nacos实现服务注册与发现
    Nacos服务注册与发现​​Centos7下Nacos安装和部署​​​​springcloud集成NACOS配置中心实现动态配置​​服务模块之间本来是互相独立的不能相互访问Nacos提供的注册服......