目录

一、概述

二、Nacos 安装

A)Debian11

1)软件环境

2)下载源码或者安装包

3)mysql配置

4)启动服务器

B) Debian11

1) 安装JDK

2) 安装Maven

3) 安装Nacos2

4) 修改访问参数(/conf/application.properties) 

 5) 修改数据源为MYSQL

6) 启动

7)关闭 

8)启动日志查看 

三、naocs管理中心

四、nacos开机启动

windows

1)下载WinSW

2)拷贝exe文件

3)新建xml文件

4)服务安装

5)如果要停止服务

6)如果要卸载服务 

 Debain11

1) 开机自启

2)编辑nacos.service文件

3)保存后执行以下命令

4)异常处理

五 集群模式


一、概述

        Nacos是阿里巴巴开源的一款支持服务注册与发现,配置管理以及微服务管理的组件。用来取代以前常用的注册中心(zookeeper , eureka等等),以及配置中心(spring cloud config等等)。Nacos是集成了注册中心和配置中心的功能,做到了二合一。

        Nacos的全称是Dynamic Naming and Configuration Service,Nacos分别取自为Naming和Configuration的前两个字母,最后的s为Service。

Nacos 的官网地址为: https://nacos.io

官方下载地址: https://github.com/alibaba/nacos/releases

官方文档地址: https://nacos.io/zh-cn/docs/quick-start.html

二、Nacos 安装

A)Debian11

1)软件环境

Nacos 版本:2.1.0

操作系统:64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac。

JDK:64 bit JDK 1.8+;下载 & 配置

Maven:Maven 3.2.x+;下载 & 配置

Mysql:5.7

2)下载源码或者安装包

最新稳定版本下载 nacos-server-$version.zip,建议采用迅雷下载,免费加速,速度嘎嘎猛

解压nacos-server-$version.zip,到自己安装文件夹目录下

3)mysql配置

        1)安装数据库版本要求:5.6.5+

        2)新建数据库nacos,初始化mysql数据库,数据库初始化文件:(nacos安装目录 -> conf ->mysql-schema.sql)

说明:在执行此文件时,要求mysql的版本大于5.7版本(MariaDB最好10.5.11),否则会出现如下错误:

 第二步:打开/n

        3)修改conf/application.properties文件:增加支持mysql数据源配置(目前只支持mysql),添加mysql数据源的url、用户名和密码。


#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
spring.datasource.platform=mysql

### Count of DB:
# 数据库实例数量
db.num=1

# 数据库连接信息,如果是 MySQL 8.0+ 版本需要添加 serverTimezone=Asia/Shanghai
### Connect URL of DB:
db.url.0=jdbc:mysql://192.168.6.13:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
db.user=root
db.password=123456

4)启动服务器

Windows

运行以下命令以独立模式启动服务器。 或者,也可以双击startup.cmd来运行NacosServer

cd bin/

startup.cmd -m standalone

或双击运行 bin/startup.cmd

出现以下内容代表启动成功 

注:如果双击运行startup.cmd无法启动,是由于启动默认集群模式,需要在startup.cmd里面添加上配置 SET MODE="standalone"。

Linux/Unix/Mac

启动命令(standalone代表着单机模式运行,非集群模式):

sh startup.sh -m standalone

B) Debian11

1) 安装JDK

安装JDK
Nacos依赖于JDK运行,索引Linux上也需要安装JDK才行。

上传jdk安装包:

上传到某个目录,例如:/usr/local/

然后解压缩:

tar -xvf jdk-8u144-linux-x64.tar.gz

然后重命名为java

配置环境变量:

export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin

设置环境变量:

source /etc/profile

2) 安装Maven

参考地址

3) 安装Nacos2

下载该软件包 最新稳定版本  nacos-server-$version.tar.gz 上传至服务器

# 复制下载好的文件到该文件下
cd /usr/local && mkdir nacos && cd nacos 
# 解压缩
tar -zxvf nacos-server-2.2.0.tar.gz 

4) 修改访问参数(/conf/application.properties) 

#*************** Spring Boot Related Configurations ***************#
### Default web context path:
server.servlet.contextPath=/nacos
### Default web server port:
server.port=8848

 5) 修改数据源为MYSQL

#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
spring.datasource.platform=mysql

### Count of DB:
db.num=1

### Connect URL of DB:
db.url.0=jdbc:mysql://192.168.6.13:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=123456

6) 启动

进入 /nacos/bin,执行启动命令

./startup.sh -m standalone

7)关闭 

bash /usr/local/nacos/nacos/bin/shutdown.sh

8)启动日志查看 

cat /usr/local/nacos/nacos/logs/start.out

三、naocs管理中心

网址:http://192.168.91.128:8848/nacos

初始用户名/密码:nacos/nacos

四、nacos开机启动

windows

1)下载WinSW

插件下载地址:Releases · winsw/winsw · GitHub

2)拷贝exe文件

        在nacos的bin目录下,将下载的winsw.exe拷贝到此目录下,并重命名为NacosWinService.exe。

3)新建xml文件

在nacos的bin目录下新建配置文件NacosWinService.xml,写入服务的相关配置:

<?xml version="1.0" encoding="UTF-8"?>
<service>
  <!-- 唯一服务ID-->
  <id>NacosWinService</id>
  <!-- 显示服务的名称 -->
  <name>NacosWinService</name>
  <description>NacosWinService</description>
  <!-- 可执行文件的命令 注意这里的路径改为你的nacos路径-->
  <executable>D:\Soft\Tools\nacos-server-2.2.0\nacos\bin\startup.cmd</executable>
  <arguments>-m standalone</arguments>
  <!-- 日志路径 注意这里的路径改为你的nacos路径-->
  <logpath>D:\Soft\Tools\nacos-server-2.2.0\nacos\bin\serviceLogs</logpath>
</service>

4)服务安装

以管理员权限cmd到nacos的bin目录,执行以下命令:  

        安装服务:​​NacosWinService.exe install​​
        启动服务:​​net start NacosWinService​​

5)如果要停止服务

        执行​​:net stop NacosWinService​​

6)如果要卸载服务 

        cmd到nacos的bin目录,执行​​NacosWinService.exe uninstall​​

 Debain11

1) 开机自启

进入/lib/systemd/system目录,创建nacos.service文件

cd /lib/systemd/system && touch nacos.service

2)编辑nacos.service文件

 vi nacos.service增加如下信息 (nacos路径替换成自己的路径即可)

[Unit]
Description=nacos
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nacos/nacos/bin/startup.sh -m standalone
ExecReload=/usr/local/nacos/nacos/bin/shutdown.sh
ExecStop=/usr/local/nacos/nacos/bin/shutdown.sh
PrivateTmp=true

[Install]
WantedBy=multi-user.target

3)保存后执行以下命令

重新加载服务--设置开机启动--查看设置是否成功--启动服务

#重新加载所有service服务
systemctl daemon-reload
#开机启动nacos.service
systemctl enable nacos.service
#查看该service是否开机启用
systemctl is-enabled nacos.service
#启动该服务
systemctl start nacos.service
#重启服务
systemctl restart nacos.service

 由于项目已经启动,就不再执行启动命令了

4)异常处理

a)有可能遇到以下错误

Job for nacos.service failed because the control process exited with error code. See "systemctl status nacos.service" and "journalctl -xe" for details.

b)查看该服务状态

systemctl status nacos.service

c)由报错可知是jdk没找到,路径为你的nacos安装路径

cd /usr/local/nacos/nacos/bin

vim startup.sh

将JAVA_HOME修改为jdk的路径,注释另外三行

d)重启nacos

systemctl start nacos.service

可能报错: nacos的startup.sh没有执行权限

执行如下命令(路径为你的nacos安装路径)

chmod 755 /usr/local/nacos/bin/startup.sh

五 集群模式

官网文档: 集群部署说明

  • 将安装包复制多份
  • 配置数据源、伪集群需要配置端口
  • 将cluster.conf.example复制一份重命名cluster.conf(配置文件目录:nacos安装目录 -> conf)
  • 打开配置文件cluster.conf
  • 配置每个nacos服务的IP和端口
  • nginx 作为负载均衡

CentOs7之Nacos2.0.3安装及集群配置_大能嘚吧嘚的博客-CSDN博客

集群部署架构图

1.下载

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

创建多个nacos server,重复三次

tar -zxvf nacos-server-1.4.1.tar.gz 
mv nacos nacos8849

1)单机搭建伪集群,复制nacos安装包,修改为nacos8849,nacos8850,nacos8851

2)以nacos8849为例,进入nacos8849目录

2.1)修改 conf\application.properties 的配置,使用外置数据源 要使用mysql5.7+(包括)

#使用外置mysql数据源 
spring.datasource.platform=mysql 
### Count of DB:
 db.num=1
### Connect URL of DB:
 db.user.0=root
db.password.0=root

2.2)将conf\cluster.conf.example改为cluster.conf,添加节点配置

# ip:port 
192.168.65.220:8849
192.168.65.220:8850
192.168.65.220:8851

nacos8850,nacos8851 按同样的方式配置。

3)创建mysql数据库,sql文件位置:conf\nacos-mysql.sql

4) 如果出现内存不足:修改启动脚本(bin\startup.sh)的jvm参数

JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256 -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m"

5) 分别启动nacos8849,nacos8850,nacos8851

以nacos8849为例,进入nacos8849目录,启动nacos

bin/startup.sh

6) 测试

登录 http://192.168.3.14:8849/nacos ,用户名和密码都是nacos

下载nginx

1.添加官方源仓库

yum install -y yum-utils
yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo

2.安装openresty

yum install -y openresty
cd /usr/local/openresty/

7)官方推荐,nginx反向代理

192.168.56.220:8847/nacos/
    upstream nacoscluster {
        server 127.0.0.1:8849;
        server 127.0.0.1:8850;
        server 127.0.0.1:8851;
    }
    server {
        listen        8847;
        server_name   localhost;

        location /nacos/{
            proxy_pass http://nacoscluster/nacos/;
        }
    }

访问: http://192.168.3.14:8847/nacos

如果是nginx2.x的版本

需要2个注意的:

  • 1. 8849 不要在用了。 因为2之后 采用RPC长连接来保持心跳, 所以多了端口 。
    • 1)nacos端口:8848-nacos默认端口;
    • 2)raft协议端口:7848-raft port,即raft协议端口;
    • 3)grpc协议两个端口:9848-grpc协议端口(nacos端口+1000) ,9849-grpc协议端口(nacos+1001) 此时8849偏移1000后会和这个端口冲突
  • 2.GRPC添加代理也要增加nginx代理

如果是nginx2.2+的版本 需要再为GRPC添加代理

项目连接Nacos2.2.0集群报错 Client not connected, current status:STARTING 解决方案_coisini.cn的博客-CSDN博客

底部新增nacos的grpc协议配置!!!

# nacos的grpc协议配置
stream {
    upstream nacoscluster-grpc{
        # nacos2版本,grpc端口与要比主端口多1000,主端口为8140、8550、8960
        server 192.168.20.128:9849 weight=1;
        server 192.168.20.128:9850 weight=1;
        server 192.168.20.128:9851 weight=1;
        }
    server{
         # nacos2版本,grpc端口与要比主端口多1000,主端口为 8847
           listen 9847;     
        proxy_pass nacoscluster-grpc;
        }
}

1.3 prometheus+grafana监控Nacos(扩展)

Nacos 监控手册

Nacos 0.8.0版本完善了监控系统,支持通过暴露metrics数据接入第三方监控系统监控Nacos运行状态。

  • 1. nacos暴露metrics数据
management.endpoints.web.exposure.include=*

测试: http://localhost:8848/nacos/actuator/prometheus

  • 2. prometheus采集Nacos metrics数据

启动prometheus服务

prometheus.exe --config.file=prometheus.yml

测试:http://localhost:9090/graph

  • 3. grafana展示metrics数据

测试: http://localhost:3000/

Nacos的依赖父工程

<dependency>
	<groupId>com.alibaba.cloud</groupId>
	<artifactId>spring-cloud-alibaba-dependencies</artifactId>
	<version>2.2.5.RELEASE</version>
	<type>pom</type>
	<scope>import</scope>
</dependency>

客户端:

<!-- nacos客户端依赖包 -->
<dependency>
	<groupId>com.alibaba.cloud</groupId>
	<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐