解压安装

1
2
cd /app/software
tar -zxvf nacos-server-2.1.0.tar.gz -C /app/service

配置文件

1
2
3
4
5
6
7
8
9
10
11
vi /app/service/nacos/conf/application.properties

server.servlet.contextPath=/nacos
server.port=8848
nacos.inetutils.ip-address=xxx.xxx.xxx.xxx
server.tomcat.basedir=/app/logs/nacos

#关闭日志
server.tomcat.accesslog.enabled=false
#修改完成以后使用以下命令查看
grep -Ev "^$|#" /app/service/nacos/conf/application.properties

设置运存

1
2
3
4
5
6
7
8
9
10
vi /app/service/nacos/bin/startup.sh

if [[ "${MODE}" == "standalone" ]]; then
JAVA_OPT="${JAVA_OPT} -Xms512m -Xmx512m -Xmn256m"
JAVA_OPT="${JAVA_OPT} -Dnacos.standalone=true"
else
if [[ "${EMBEDDED_STORAGE}" == "embedded" ]]; then
JAVA_OPT="${JAVA_OPT} -DembeddedStorage=true"
fi
JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn8g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

集群部署

Nacos 默认使用内嵌数据库,可以改用 MySQL,先将使用 nacos-mysql.sql(/app/service/nacos/conf)初始化数据库

1
2
3
CREATE DATABASE nacos_config DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;
use nacos_config
source /app/temp/nacos-mysql.sql

然后修改以下配置(集群使用相同 MySQL 即可
1
2
3
4
5
6
7
vi /app/service/nacos/conf/application.properties

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=nacos
db.password.0=nacos

配置集群
1
2
cp /app/service/nacos/conf/cluster.conf.example /app/service/nacos/conf/cluster.conf
vi /app/service/nacos/conf/cluster.conf

1
2
3
4
#修改成实际的服务器地址
192.168.16.101:8848
192.168.16.102:8848
192.168.16.103:8848

通过 scp 命令复制 /app/service/nacos 到其他需要部署 Nacos 的服务器上,然后分别启动服务即可
1
scp -r /app/service/nacos root@xxx.xxx.xxx.xxx:/app/midware/

相关命令

1
2
3
4
5
6
7
8
#启动 Nacos(单机模式)
/app/service/nacos/bin/startup.sh -m standalone
#启动 Nacos(集群模式)
/app/service/nacos/bin/startup.sh -p embedded
#实时产看日志
tail -f /app/service/nacos/logs/start.out
#关闭 Nacos
/app/service/nacos/bin/shutdown.sh

浏览器输入 ip:8848/nacos/ 即可访问,初始账号密码均为 nacos

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Nacos 服务注册
curl -X POST 'http://x.x.x.x:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=x.x.x.x&port=xxx'

curl -X POST 'http://x.x.x.x:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=x.x.x.x&port=xxx'
Nacos 服务发现
curl -X GET 'http://x.x.x.x:8848/nacos/v1/ns/instance/list?serviceName=nacos.naming.serviceName'
Nacos 服务注销
curl -X DELETE 'http://x.x.x.x:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=x.x.x.x&port=xxx'
Nacos 发布配置
curl -X POST "http://x.x.x.x:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=helloWorld"
Nacos 获取配置
curl -X GET "http://x.x.x.x:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"
Nacos 删除配置
curl -X DELETE "http://x.x.x.x:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"

监控告警

Prometheus & Grafana