1. 下载 Nacos 二进制包
1.1 ARM 架构服务器
ARM 架构没有官方 Docker 镜像,只能用二进制包:
wget https://github.com/alibaba/nacos/releases/download/2.3.2/nacos-server-2.3.2.tar.gz
1.2 AMD / x86 服务器
可以直接用官方二进制包:
wget https://github.com/alibaba/nacos/releases/download/2.3.2/nacos-server-2.3.2.tar.gz
1.3 创建目录并解压
cd /data
mkdir nacos
tar -xzf nacos-server-2.3.2.tar.gz -C nacos
2. 配置 Nacos
2.1 启动脚本(start_simple.sh)
#!/bin/bash
echo "🚀 启动 Nacos (单机模式)..."
# 检查Java环境
if ! command -v java &> /dev/null; then
echo "❌ 未找到Java环境,请先安装JDK"
exit 1
fi
# 检查端口占用
if ss -tlnp | grep -q ":8848 "; then
echo "⚠️ 端口8848已被占用,正在停止现有进程..."
pkill -f nacos-server.jar
sleep 3
fi
# 启动Nacos
echo "📦 启动Nacos服务..."
nohup java -Dserver.port=8848 \
-Dnacos.standalone=true \
-Dspring.datasource.platform=embedded \
-jar /data/nacos/nacos-server.jar > /data/nacos/logs/start.out 2>&1 &
# 等待启动
echo "⏳ 等待服务启动..."
sleep 10
# 检查启动状态
if ps aux | grep -v grep | grep -q nacos-server.jar; then
echo "✅ Nacos启动成功!"
echo "📍 访问地址: http://localhost:8848/nacos"
echo "🔑 默认账号: nacos/nacos"
ps aux | grep nacos-server.jar | grep -v grep | awk '{print "进程ID: " $2 ", CPU: " $3 "%, 内存: " $4 "%"}'
else
echo "❌ Nacos启动失败,请检查日志:"
echo "tail -f /data/nacos/logs/start.out"
fi
2.2 停止脚本(stop.sh)
#!/bin/bash
echo "🛑 停止 Nacos 服务..."
PID=$(ps aux | grep nacos-server.jar | grep -v grep | awk '{print $2}')
if [ -n "$PID" ]; then
echo "📍 找到Nacos进程: $PID"
kill $PID
sleep 5
if ps -p $PID > /dev/null 2>&1; then
echo "⚠️ 进程未正常结束,强制停止..."
kill -9 $PID
fi
echo "✅ Nacos已停止"
else
echo "ℹ️ Nacos进程未运行"
fi
2.3 状态检查脚本(status.sh)
#!/bin/bash
echo "📊 Nacos 服务状态"
echo "=================="
# 检查进程
if ps aux | grep -v grep | grep -q nacos-server.jar; then
echo "✅ 进程状态: 运行中"
ps aux | grep nacos-server.jar | grep -v grep | awk '{print " 进程ID: " $2 ", CPU: " $3 "%, 内存: " $4 "%"}'
else
echo "❌ 进程状态: 未运行"
fi
# 检查端口
if ss -tlnp | grep -q ":8848 "; then
echo "✅ 端口状态: 8848端口已监听"
else
echo "❌ 端口状态: 8848端口未监听"
fi
# 检查Web访问
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:8848/nacos/ 2>/dev/null)
if [ "$HTTP_CODE" = "200" ]; then
echo "✅ Web访问: 正常"
else
echo "❌ Web访问: 异常 (状态码: $HTTP_CODE)"
fi
# 显示访问信息
PRIVATE_IP=$(hostname -I | awk '{print $1}')
echo ""
echo "🌐 访问地址:"
echo " 内网访问: http://$PRIVATE_IP:8848/nacos"
echo " 本地访问: http://localhost:8848/nacos"
echo "🔑 默认账号: nacos / nacos"
3. 启动服务
chmod +x start_simple.sh stop.sh status.sh
./start_simple.sh
3.1 检查服务状态
./status.sh
4. 验证部署
- 访问管理界面
-
- 地址:
http://服务器IP:8848/nacos - 默认账号:
nacos/nacos
- 地址:
- API 快速测试
# 登录测试
curl -X POST 'http://localhost:8848/nacos/v1/auth/login' -d 'username=nacos&password=nacos'
# 健康检查
curl http://localhost:8848/nacos/actuator/health
5. 应用配置示例(Spring Boot)
spring:
cloud:
nacos:
discovery:
server-addr: localhost:8848 # 同服务器用 localhost
config:
server-addr: localhost:8848
file-extension: yml
group: DEFAULT_GROUP
6. 常用管理命令
# 启动服务
./start_simple.sh
# 停止服务
./stop.sh
# 查看状态
./status.sh
# 查看日志
tail -f /data/nacos/logs/nacos.log
# 查看启动日志
tail -f /data/nacos/logs/start.out
7. 目录结构
/data/nacos/
├── start_simple.sh # 启动脚本
├── stop.sh # 停止脚本
├── status.sh # 状态检查脚本
├── nacos-server.jar # Nacos二进制包
├── conf/ # 配置文件
└── logs/ # 日志文件
├── start.out # 启动日志
├── nacos.log # 应用日志
└── ...
8. 故障排查
8.1 启动失败
tail -f /data/nacos/logs/start.out
java -version
ss -tlnp | grep 8848
8.2 无法访问
sudo ufw status
sudo firewall-cmd --list-ports
ps aux | grep nacos
💡 说明
- 二进制包部署方式支持 x86 和 ARM 架构
- 不依赖官方 Docker 镜像,也不会出现 ARM 兼容性问题
- 适合 ECS、物理机或 ARM 架构服务器