📖 前言

在微服务架构的实践中,Nacos 作为动态服务发现、配置管理和服务管理平台,是不可或缺的核心组件。

为了配合后续 Dubbo 服务的测试与开发,我需要搭建一套稳定的本地开发环境。本文将详细记录如何在 VMware CentOS7 中从零开始,配置静态网络、安装 JDK 环境,并最终完成 Nacos 2.2.3 的单机部署与 MySQL 持久化 配置。

这不仅是环境的搭建,更是微服务链路打通的第一步。

🏗️ 环境准备与规划

1. 软硬件版本

  • 虚拟化平台:VMware Workstation
  • 操作系统:CentOS 7 (x86_64)
  • JDK 版本:JDK 17.0.9
  • Nacos 版本:Nacos 2.2.3
  • 数据库版本:MySQL 5.7/8.0 (用于持久化)
  • 连接工具:XShell 7

2. 网络架构设计

我们采用 NAT 模式 进行网络配置,便于宿主机(Windows)与虚拟机(CentOS7)互相访问。

  • 目标:为虚拟机配置固定静态 IP,确保 Nacos 服务地址稳定。

🔧 第一步:虚拟机网络配置

这是确保后续能连通的基础,请严格对照操作。

1. VMware 虚拟网络设置

准备虚拟机,使用VMWare创建一台新的系统为 centos7 虚拟机,作为开发环境 服务器
设置虚拟机IP为静态IP,设置VMware的虚拟网络

  1. 打开 VMware -> 点击顶部菜单栏 编辑 -> 虚拟网络编辑器
  2. 选中 VMnet8 (NAT 模式)。
  3. 点击 更改设置 (需要管理员权限)。
  4. 设置子网 IP:例如 192.168.0.0/255.255.255.0
  5. 点击 NAT 设置,记录网关 IP:例如 192.168.0.2。(后续配置网卡会用到)

在这里插入图片描述
在这里插入图片描述

2. Windows 宿主机网卡配置

  1. 打开 Windows 设置 -> 网络和 Internet -> 高级网络设置。
  2. 找到 VMnet8 网卡,点击其属性。
  3. 双击 Internet 协议版本 4 (TCP/IPv4)
  4. 选择使用下面的 IP 地址:
    • IP 地址:192.168.0.1 (与虚拟机同网段)
    • 子网掩码:255.255.255.0
    • 默认网关:192.168.0.2 (与 VMware NAT 网关一致)


在这里插入图片描述

3. CentOS7 网卡配置

  1. 修改虚拟机网络配置
vim /etc/sysconfig/network-scripts/ifcfg-ens33

在这里插入图片描述

  1. 重启网络配置
service network restart
  1. 验证ip地址
ifconfig
  1. DNS配置
vim /etc/resolv.conf


再次重启,ping www.baidu.com 验证可以连接外网

4.关闭防火墙、查看防火墙状态、禁止防火墙自启动

systemctl stop firewalld.service 
firewall-cmd --state
systemctl disable firewalld.service

📦 第二步:安装与配置 JDK 17

Nacos 2.x 版本强烈建议使用 JDK 8 或 JDK 17,这里我们选择 JDK 17。

1. 清理系统自带 OpenJDK

CentOS7 自带了 OpenJDK,为了版本纯净,建议卸载:

查看CentOS7自带的Java版本,并删除(执行su - 切换为root)

# 查看现有Java版本
java -version

# 查看安装包
rpm -qa | grep java

# 卸载输出结果中的相关包(示例)
rpm -e --nodeps java-1.8.0-openjdk-xxx

2. 上传并解压 JDK

  1. 使用 XShell (rz命令)上传 jdk-17_linux-x64_bin.tar.gz 到虚拟机 /root/ 目录。

  1. 解压
tar -zxvf jdk-17_linux-x64_bin.tar.gz -C /usr/local/

3. 配置环境变量

  1. 编辑 profile 文件:
vim /etc/profile
  1. 在文件末尾添加以下内容:
# Java Env
export JAVA_HOME=/usr/local/jdk-17.0.9
export CLASSPATH=.:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
  1. 生效配置并验证:
#刷新配置
source /etc/profile
#测试配置是否成功
java -version

看到 JDK 17 版本信息即表示配置成功。

🚀 第四步:安装nacos

rz命令上传nacos
在这里插入图片描述

# 解压
tar -zxvf nacos-server-2.2.3.tar.gz -C /usr/local/

🗄️ 第三步:实现 Nacos 配置持久化(重启后配置不丢失)

必须连接 MySQL。如果宿主机已有 MySQL,可直接使用;如果没或无法连接主机的MySQL,请在虚拟机内安装。

(一)宿主机已有MySQL

  1. 使用navicat创建数据库

# 查看Nacos持久化sql语句
cat /usr/local/nacos/conf/mysql-schema.sql
  1. 导入初始化脚本:Nacos 安装包内自带了 nacos-mysql-schema.sql,执行该脚本以创建必要的 12 张表。


3. 编辑 Nacos 配置文件

vim /usr/local/nacos/conf/application.properties
# 添加如下配置:
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://192.168.0.1:3306/my_nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=root
  1. 启动nacos
# 进入启动目录
cd /usr/local/nacos/bin/
# 单机模式运行
sh startup.sh -m standalone
#验证启动状态
ss -tulnp | grep 8848

看到 8848 端口被监听,说明启动成功。

(二)虚拟机内的MySQL

  1. 虚拟机(CentOS7)中安装MySQL
  2. 进入MySQL,在 MySQL 命令行中执行:
-- 1. 创建 nacos 数据库(utf8mb4 支持 emoji)
CREATE DATABASE IF NOT EXISTS nacos CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-- 2. 切换到 nacos 库
USE nacos;
-- 3. 导入 Nacos 初始化脚本(如果脚本在虚拟机 /usr/local/nacos/conf 下)
SOURCE /usr/local/nacos/conf/nacos-mysql.sql;
-- 如果脚本不在这个路径,先下载:
-- SOURCE /tmp/nacos-mysql-schema.sql;
  1. 配置 Nacos 连接本地 MySQL
#  编辑 Nacos 配置文件
vim /usr/local/nacos/conf/application.properties
# 启用 MySQL 数据源
spring.datasource.platform=mysql
db.num=1
# 连接本地 MySQL(127.0.0.1),库名 nacos
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false
db.user=root
db.password=root  # 你设置的 MySQL root 密码


MySQL 5.7 不需要加 serverTimezoneallowPublicKeyRetrieval,直接用上面的 URL 即可。

  1. 重启nacos服务
# 进入 Nacos bin 目录
cd /usr/local/nacos/bin

# 先关闭旧实例
sh shutdown.sh

# 以单机模式启动 Nacos
sh startup.sh -m standalone

验证nacos启动状态

ss -tulnp | grep 8848

(三)页面访问验证

  1. 获取虚拟机 IP:在虚拟机执行 ip addr,找到 ens33eth0 网卡的 IPv4 地址(比如 192.168.0.99)。

  2. 浏览器地址

  http://虚拟机IP:8848/nacos
  #示例:
  http://192.168.0.99:8848/nacos

​ 3.登录账号:默认 nacos/nacos

📝 总结

至此,我们已经在 CentOS7 虚拟机中成功搭建了 Nacos 单机持久化环境。这套环境将作为你后续微服务开发的核心注册中心与配置中心。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐