1. Chuẩn bị cơ sở dữ liệu MySQL
1.1. Cài đặt MySQL 5.7 qua Docker
Sử dụng Docker để khởi tạo container MySQL phiên bản 5.7.
1.2. Tạo network cho Docker
docker create network nacos_network
1.3. Tải và thực thi script khởi tạo dữ liệu
Tải file SQL từ repository chính thức của Nacos:
# Tải script tạo bảng
https://github.com/alibaba/nacos/blob/master/distribution/conf/nacos-mysql.sql
Thực thi script này để tạo database nacos_config và các bảng cần thiết. Tài khoản mặc định sau khi khởi tạo: username nacos, password nacos.
2. Triển khai Nacos
2.1. Kéo image Nacos từ Docker Hub
docker pull nacos/nacos-server
2.2. Tạo thư mục mount trên host
mkdir -p /home/nacos/logs
mkdir -p /home/nacos/data
mkdir -p /home/nacos/conf
2.3. Khởi tạo container tạm thời để copy cấu hình
2.3.1. Chạy container Nacos tạm
docker run --name nacos -d \
-p 8848:8848 \
-e MODE=standalone \
nacos/nacos-server
Chế độ standalone dành cho môi trường đơn node.
2.3.2. Sao chép file cấu hình từ container ra host
docker cp -a nacos:/home/nacos /home/nacos/
docker stop nacos && docker rm -f nacos
2.3.3. Chỉnh sửa file cấu hình kết nối database
Mở file /home/nacos/conf/application.properties và cập nhật các thông số sau:
server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8848
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://your-mysql-host:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=your-username
db.password=your-password
nacos.cmdb.dumpTaskInterval=3600
nacos.cmdb.eventTaskInterval=10
nacos.cmdb.labelTaskInterval=300
nacos.cmdb.loadDataAtStart=false
management.metrics.export.elastic.enabled=false
management.metrics.export.influx.enabled=false
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i
nacos.security.ignore.urls=/,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/login,/v1/console/health/**,/v1/cs/**,/v1/ns/**,/v1/cmdb/**,/actuator/**,/v1/console/server/**
nacos.naming.distro.taskDispatchThreadCount=1
nacos.naming.distro.taskDispatchPeriod=200
nacos.naming.distro.batchSyncKeyCount=1000
nacos.naming.distro.initDataRatio=0.9
nacos.naming.distro.syncRetryDelay=5000
nacos.naming.data.warmup=true
nacos.naming.expireInstance=true
Lưu ý quan trọng:
- Thay
your-mysql-host,your-username,your-passwordbằng thông tin thực tế. - Bắt buộc sử dụng utf8 thay vì utf8mb4 trong connection string.
2.4. Khởi động lại Nacos với cấu hình mới
docker run -d \
--name nacos-sa-mysql \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.20.255 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=admin \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e JVM_XMN=256m \
-p 8848:8848 \
-v /home/nacos/:/home/nacos/ \
--network nacos_network \
--restart=always \
nacos/nacos-server
2.5. Truy cập giao diện quản trị
Mở trình duyệt và điều hướng đến: http://your-server-ip:8848/nacos/
Sử dụng thông tin đăng nhập mặc định: username nacos, password nacos.