第二章:在云服务器上搭建nacos

李少 | 2025-12-15 13:19:57 | 129 | 0 | 0 | 0

1.安装 OpenJDK 8

yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

2.验证安装

java -version

image.png

3.开放端口(云服务器关键)

image.png
3.1 系统防火墙开放(CentOS)

# 启动Firewalld
systemctl start firewalld

# 设置开机自启(可选)
systemctl enable firewalld

# 重新开放端口
firewall-cmd --add-port=8848/tcp --permanent
firewall-cmd --add-port=9848/tcp --permanent
firewall-cmd --add-port=9849/tcp --permanent

# 重载规则
firewall-cmd --reload

4.下载 Nacos 安装包

推荐从 Nacos 官方镜像站下载稳定版(如 2.3.2):

# 创建安装目录
mkdir -p /usr/local/nacos
cd /usr/local/nacos

# 下载压缩包(替换为最新稳定版)
wget https://github.com/alibaba/nacos/releases/download/2.3.2/nacos-server-2.3.2.tar.gz

# 解压
tar -zxvf nacos-server-2.3.2.tar.gz
# 解压后生成 nacos 目录,进入该目录
cd nacos

5. 配置单机模式(核心)

5.1 步骤 1:配置外置 MySQL(推荐,生产必配)

-- 1. 创建数据库
CREATE DATABASE nacos_config CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

-- 2. 导入 Nacos 初始化脚本(脚本在 nacos/conf/nacos-mysql.sql)
-- 方式1:本地执行脚本;方式2:服务器端执行
cd /usr/local/nacos/nacos/conf
mysql -u root -p nacos_config < nacos-mysql.sql

5.2- 修改 Nacos 配置文件,指定 MySQL 连接:

# 编辑配置文件
vim /usr/local/nacos/nacos/conf/application.properties

# 添加以下内容(替换为你的 MySQL 地址/账号/密码)
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=你的MySQL密码

5.3 指定单机模式启动

# 方式1:启动时指定参数(推荐)
# 编辑启动脚本,添加单机参数
vim /usr/local/nacos/nacos/bin/startup.sh

# 找到以下行(默认 cluster):
MODE="cluster"
# 修改为:
MODE="standalone"

6. 启动 Nacos

# 进入 Nacos 启动脚本目录
cd /usr/local/nacos/nacos/bin

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

# 查看启动日志(关键,排查问题)
tail -f /usr/local/nacos/nacos/logs/start.out

# 日志中出现以下内容则启动成功:
# Nacos started successfully in standalone mode. use external storage

7.验证 Nacos 可用性

浏览器访问:http://云服务器公网IP:8848/nacos

# 查看 Nacos 进程
ps -ef | grep nacos

# 停止 Nacos(如需)
sh /usr/local/nacos/nacos/bin/shutdown.sh

8.生产环境优化

8.1修改默认账号密码
登录 Nacos 控制台 → 权限管理 → 用户管理 → 修改 nacos 用户密码。

8.2 配置 JVM 内存(避免内存不足)

# 编辑启动脚本,调整 JVM 参数
vim /usr/local/nacos/nacos/bin/startup.sh

# 找到 JVM 配置行,修改为合适值(根据服务器配置调整)
JAVA_OPT="${JAVA_OPT} -Xms512m -Xmx512m -Xmn256m"

8.3 设置 Nacos 开机自启

# 1. 创建系统服务文件
vim /etc/systemd/system/nacos.service

# 2. 添加以下内容(替换路径为你的 Nacos 安装路径)
[Unit]
Description=Nacos Service
After=network.target mysqld.service

[Service]
Type=forking
ExecStart=/usr/local/nacos/nacos/bin/startup.sh -m standalone
ExecStop=/usr/local/nacos/nacos/bin/shutdown.sh
Restart=on-failure
User=root
Group=root

[Install]
WantedBy=multi-user.target

# 3. 重新加载服务配置
systemctl daemon-reload

# 4. 设置开机自启
systemctl enable nacos

# 5. 启动/停止/查看状态
systemctl start nacos
systemctl stop nacos
systemctl status nacos

9. 常见问题排查

  1. 端口被占用netstat -tulpn | grep 8848 查看占用进程,kill 后重启。
  2. MySQL 连接失败:检查 MySQL 账号权限(是否允许远程访问)、防火墙、配置文件中的密码是否正确。
  3. 启动日志报错 “Permission denied”:执行 chmod +x /usr/local/nacos/nacos/bin/*.sh 赋予脚本执行权限。
  4. 控制台无法访问:确认云服务器安全组、系统防火墙已开放 8848 端口,且 Nacos 进程正常运行。

集群模式补充(生产环境)

若需搭建集群,核心步骤:
1. 多台云服务器安装相同版本 Nacos,配置相同的 MySQL 数据库;
2. 修改 conf/cluster.conf,添加所有节点的 IP: 端口(如 192.168.1.101:8848);
3. 每台节点启动时不指定 -m standalone(默认集群模式);
4. 前端配置负载均衡(如 Nginx),指向所有 Nacos 节点。

以上就是云服务器上搭建 Nacos 的完整流程,核心是确保 JDK 环境、端口开放、单机 / 集群配置正确,以及 MySQL 连接正常。