1,先安装jdk,nacos需要依赖于jdk
2,官网前往GitHub下载安装包

官网:https://nacos.io/zh-cn/
官方文档:https://nacos.io/docs/v2/what-is-nacos/
GitHub:https://github.com/alibaba/nacos
cd /usr/local
wget https://github.com/alibaba/nacos/releases/download/2.2.3/nacos-server-2.2.3.tar.gz

3,解压压缩包,并查看

tar -zxvf nacos-server-2.2.3.tar.gz

4,编辑配置文件

#进入nacos配置文件目录
cd /usr/local/nacos/conf
#编辑nacos配置文件
vim application.properties

4.1 修改端口

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

4.2 修改数据库

修改数据库前先创建数据库,执行脚本(创建集群才执行schema.sql):

/usr/local/nacos/conf/nacos-mysql.sql

修改数据源:

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

5,进入bin目录启动nacos

cd /usr/local/nacos/bin
sh startup.sh -m standalone
# 查看运行状态
/usr/local/nacos/logs/start.out

6,开放端口(可选)

查询端口是否开放:
firewall-cmd --query-port=8848/tcp

添加要开放的端口号
firewall-cmd --add-port=8848/tcp --permanent

重载入添加的端口
firewall-cmd --reload

7,访问nacos

网址:http://ip:8848/nacos
账号:nacos 密码:nacos

8,设置开机自启

8.1,默认是没有这个文件的,当vim命令的时候会创建这个文件,并且添加以下内容

vim /lib/systemd/system/nacos.service
[Unit]
Description=nacos
After=network.target

[Service]
Type=forking
TimeoutSec=0 #防止启动超时
User=root
Group=root

# ExecStart、ExecReload、ExecStop为nacos脚本的实际路径
ExecStart=/bin/bash /opt/nacos/nacos/bin/startup.sh -m standalone
ExecReload=/opt/nacos/nacos/bin/shutdown.sh
ExecStop=/opt/nacos/nacos/bin/shutdown.sh
Restart=on-failure
PrivateTmp=true

[Install]
WantedBy=multi-user.target

8.2,分步执行以下命令

systemctl daemon-reload
systemctl enable nacos.service
systemctl start nacos.service
systemctl status nacos.service

9,查看开机自启项目

ll /etc/systemd/system/multi-user.target.wants

 

三、报错原因

  • 当nacos客户端升级为2.x版本后,新增了gRPC的通信方式,新增了两个端口。这两个端口在nacos原先的端口上(默认8848),进行一定偏移量自动生成。

    端口与主端口的偏移量描述
    9848 1000 客户端gRPC请求服务端端口,用于客户端向服务端发起连接和请求
    9849 1001 服务端gRPC请求服务端端口,用于服务间同步等

四、解决方式

  • 当客户端升级为2.x版本,服务端需要进行相应的升级。

  • 在centos7环境中服务端需要开放9848端口

     #开启防火墙
     systemctl start firewalld
     #开放9848端口
     firewall-cmd --zone=public --add-port=9848/tcp --permanent
     #使配置生效
     firewall-cmd --reload
     #查看所有端口
     firewall-cmd --zone=public --list-ports
    

    在这里插入图片描述

  • 再次启动微服务项目,报错消失。

 

posted on 2024-04-12 10:09  java先生  阅读(97)  评论(0编辑  收藏  举报