Nacos基于Java开发,在部署Nacos前,需要先配置Java运行环境。本例采用Java 11和Nacos 2.1.1。
1.1 下载Java 11
Java下载链接:https://www.oracle.com/java/technologies/downloads/#java11。
1.2 下载Nacos
当前Nacos的版本为2.1.1,建议使用最新版本,下载地址:https://github.com/alibaba/nacos/releases/
将Java和Nacos文件下载到当前用户目录。
创建Java安装文件夹,并进入该文件夹,命令如下所示:
mkdir /usr/local/java
cd /usr/local/java
将jdk解压到/usr/local/java文件夹中:
sudo tar -zxvf ~/jdk-11.0.16.1_linux-x64_bin.tar.gz -C /usr/local/java/
打开环境配置文件:
sudo nano /etc/profile
将Java配置信息写入profile文件,如下所示:
JAVA_HOME=/usr/local/java/jdk-11.0.16.1
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
CLASSPATH=.:$JAVA_HOME/lib/
export CLASSPATH
关闭文件后,需要执行以下命令让配置生效:
source /etc/profile
在终端中测试Java是否安装成功:
java --version
# 有以下输出表示Java安装配置成功
java version "11.0.16.1" 2022-08-18 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.16.1+1-LTS-1)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.16.1+1-LTS-1, mixed mode)
创建nacos文件夹,并进入该文件夹:
sudo mkdir /usr/local/nacos
cd /usr/local/nacos
解压Nacos安装文件到该目录:
sudo tar -zxvf ~/nacos-server-2.1.1.tar.gz -C /usr/local/nacos
# 解压后的nacos文件夹名称为nacos,为方便以后升级,将nacos重命名为nacos-server-2.1.1
mv nacos nacos-server-2.1.1
cd nacos-server-2.1.1
在启动Nacos时,会出现找不到JAVA_HOME的问题,需要手动帮Nacos配置JAVA_HOME信息,打开启动文件startup.sh:
cd bin
sudo nano startup.sh
在启动文件startup.sh中加入JAVA_HOME信息:
export JAVA_HOME=/usr/local/java/jdk-11.0.16.1
现在,就可以启动Nacos,测试一下安装效果了,启动脚本如下:
# 单机启动模式
sudo ./startup.sh -m standalone
Nacos启动后,在浏览器中打开http://ip:8848/nacos,可以看到Nacos的界面,输入初始用户名密码(nacos/nacos),即可登录Nacos。
在Nacos使用过程中,如果系统重启或系统出现不可知问题时,在终端手动启动的Nacos服务将关闭而不能提供服务。为保证Nacos持续有效,需要将Nacos配置为自启动服务。
首先,在/usr/local/nacos文件夹下创建nacos.service文件:
sudo nano /usr/local/nacos/nacos.service
然后将服务信息输入到该文件中:
[Unit]
Description=nacos
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nacos/nacos-server-2.1.1/bin/startup.sh -m standalone
ExecReload=/usr/local/nacos/nacos-server-2.1.1/bin/shutdown.sh
ExecStop=/usr/local/nacos/nacos-server-2.1.1/bin/shutdown.sh
# Let systemd restart this service always
Restart=always
PrivateTmp=true
[Install]
WantedBy=multi-user.target
Alias=nacos.service
输入完成后,保存退出。接下来让服务生效:
# 在/lib/systemd/system中创建nacos.service的软连接(主要是为了升级方便)
sudo ln -s /usr/local/nacos/nacos.service /lib/systemd/system/nacos.service
# 让服务生效
systemctl daemon-reload
systemctl enable nacos.service
# 启动nacos服务
systemctl start nacos
为测试效果,可以直接重启Ubuntu;当系统重启后,Nacos服务将自动启动。
在Nacos集群中,必须采用MySQL数据库存储配置Nacos信息,且只能使用MySQL(其他数据库会忽略)。
首先在MySQL中创建一个名称为nacos的schema:
CREATE DATABASE `nacos` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
然后创建用于访问nacos数据库schema的用户并授权:
# 创建用户
create user 'nacos'@'%' identified by 'your-passwd';
# nacos.* 表示nacos的所有表
grant all privileges on nacos.* to 'nacos'@'%' identified by 'your-passwd' with grant option;
flush privileges;
将nacos安装目录中conf文件夹下的nacos-mysql.sql导入数据库nacos中。
打开Nacos配置文件:
修改一下内容
### If use MySQL as datasource: 取消spring.datasource.platform的注释
spring.datasource.platform=mysql
### Count of DB: 取消db.num注释
db.num=1
### Connect URL of DB:
# 取消db所有属性的注释,并配置数据库schema、用户名和密码
db.url.0=jdbc:mysql://IP:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=nacos
db.password.0=your-passwd
配置完成后,重启nacos服务即可。