最近笔者想搞一个读取binlog日志读取数据库状态的项目,由于平时项目搭建都是公司的大佬负责,自己手艺生疏了,搭建nacos出现了几次问题,于是就有了这篇笔记,希望能帮到你。
1:下载ry-cloud项目
打开下载地址,下载zip即可。
2.配置服务器
笔者用了虚拟机搭建服务器,使用的操作系统为deepinV23版本,其内核为linux 6.14.10。基于Debian构建的发行版本,所以搭建数据库、rabbitmq这些中间件就可以下载Debian版本了。配置数据库和jdk没什么可说的,我是跟着通义千问一步一步来的。我选择的jdk版本是17.
创建好若依需要的三个库,并导入RuoYi-Cloud-master\sql路径下的sql文件到数据库
得到
其中ry-config和ry-cloud是必须的。
3.坑点配置Nacos
我出问题最多的在配置nacos上。nacos3.1.0这个版本访问页面的端口改成了8080,而其他的没变还是8848,这一点需要记住。首先在打开nacos官网:nacos.io/download/na…
由于笔者对LST版本的偏爱,选择了3.1.0版本,
下载下来得到一个zip压缩包,将这个压缩包上传到服务的:/opt/nacos路径下,注意opt可能没nacos,直接解压压缩包即可得到nacos文件夹,不需要新建。
首先输入命令:su。这个命令用来获取root权限。接着输入你root账号的密码,回车,搞定。要注意su针对的是deepin。
解压可以用unzip来解压,如果没有安装unzip。可以安装下边的两个命令安装
apt upda
te apt install -y unzip
要注意这个需要软件源,如果你没软件源,可以直接打开虚拟机,用图形化界面的方式解压。举个例子
效果和使用命令是一样的。得到以下目录结构。其中我win11中的zip只是举例,实际上下载的文件名称是nacos-server- 3.1.0.zip。
然后第一件事情并不是启动nacos而是更改配置文件,其路径是/opt/nacos/conf/application.properties
打开这个文件,直接在文件最底下输入:
db mysql
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://localhost:3306/ry-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
db.user=root
db.password=你的密码
其中的db.user=你的数据库账号
db.password=你的密码。
就像下图展示的那样。
然后保存配置文件,接下来就可以启动nacos了
输入命令进入nacos的bin目录
cd /opt/nacos/bin
启动 Nacos(单机模式)
sudo bash startup.sh -m standalone
这个时候nacos会提示:用于密码生成JWT Token的初始密钥(原串长度32位以上做Base64格式化)
按ctrl+c退出,输入命令
echo $(openssl rand -base64 64)生成一个token,复制这个token,但是千万千万千万要注意不要复制空格,如果这一步出问题一般就是有空格,如果一直卡这里可以直接在百度上搜索token生成器生成一个,或者让ai生成一个。
再出输入:sudo bash startup.sh -m standalone
然后粘贴token,回车。
接下来 Nacos 继续提示缺少另两个安全配置项
可以直接用一串字符串,但是两个字符串要一致。笔者用的是serverIdentity
输入一次后,在输入一次即可
然后就可以启动啦,直接输入
cd /opt/nacos/bin
sudo bash startup.sh -m standalone
即可启动nacos,
打开你服务器(虚拟机)的浏览器,输入http://localhost:8080 。访问一下看看启动成功没。
工作到这一步还没结束,需要设置systemd自动启动,首先要创建一个自启动服务。输入sudo nano /etc/systemd/system/nacos.service。
这个时候你服务器的/etc/systemd/system/目录下就多了一个nacos.service的文件,编辑这个文件输入以下内容。要注意的是你的java环境变量要是你服务器本机的。笔者安装jdk的时候全是默认,如果你也是默认安装可以参考我的这个配置。
[Unit]
Description=Nacos Service
After=network.target
[Service]
Type=forking
User=root
Group=root
WorkingDirectory=/opt/nacos
# Java 环境
Environment="JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64"
Environment="JAVA_OPT_EXT=-Dnacos.core.auth.enabled=true -Dnacos.core.auth.system.type=nacos -Dnacos.core.auth.plugin.nacos.token.secret.key=DXArQIYsWmfXcuiOf0v+ME9nZ/sc4OsknTloK0OagOY= -Dnacos.core.auth.server.identity.key=serverIdentity -Dnacos.core.auth.server.identity.value=@Zhungeer2025!"
ExecStart=/bin/bash /opt/nacos/bin/startup.sh -m standalone
ExecStop=/bin/bash /opt/nacos/bin/shutdown.sh
Restart=on-failure
RestartSec=10
TimeoutStartSec=300
LimitNOFILE=65535
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
然后保存这个配置文件,
重载 systemd 配置:
输入sudo systemctl daemon-reexec
sudo systemctl daemon-reload
启用开机自启 + 立即启动服务:
设置开机自启 sudo systemctl enable nacos
启动服务(如果当前没运行) sudo systemctl start nacos
要注意如果 Nacos 已在运行,先关闭它,再用 systemd 启动,避免冲突
/opt/nacos/bin/shutdown.sh sudo systemctl start nacos
然后看看nacos启动没
sudo systemctl status nacos
正常应该如下图
大功告成,安装完毕
到现在完成了一般,打开nacos配置页面,你就能看到以下配置
挨个检查这些配置,将其中的localhost全部换成你服务器的ip,如果是虚拟机需要将ip固定,这又是另外一套长篇大论了,这里不赘述。可以输入ip a查看你的服务器的ip,比如
192.168.200.165就是我的ip了。
我就需要将localhost换成192.168.200.165,将数据库密码换成你的密码
每个配置文件都看看。有就换(注意笔者的中间件都在服务器上,如果你的redis什么的在本机,那用127.0.0.1)也行。
接着打开项目,搜索localhost(也可能是127.0.0.1)
然后换成你的ip
要注意,有多个配置文件要改,我是全部都改了。
大功告成,启动项目吧