目录
一、不外接mysql,软件包部署方式
二、不外接mysql,docker部署方式
三、外接mysql,docker部署方式
四、docker-compose+nginx+mysql高可用集群版本
五、docker+mysql+nginx高可用集群版本
nacos 2.0版本说明
其中端口 7848、8848、9848、9849是必须要开放的端口,8848是web页面端口,7848是集群数据同步接口,9848、9849是nacos 2.0.0以上的版本必须开发的端口。
Nacos2.0版本相比1.X新增了gRPC的通信方式,因此需要增加2个端口。新增端口是在配置的主端口(server.port)基础上,进行一定偏移量自动生成。
客户端拥有相同的计算逻辑,用户如同1.X的使用方式,配置主端口(默认8848),通过相同的偏移量,计算对应gRPC端口(默认9848)。因此如果客户端和服务端之前存在端口转发,或防火墙时,需要对端口转发配置和防火墙配置做相应的调整。
最新稳定版本 下载地址:https://github.com/alibaba/nacos/releases
下载后解压 目录如下 在bin 是启动脚本
启动命令(standalone代表着单机模式运行,非集群模式):
sh startup.sh -m standalone
nacos服务默认端口是8848 浏览器输入 http://ip:8848/nacos
登陆账号和密码都是 nacos
docker run -d -p 8848:8848 --env MODE=standalone --name nacos nacos-server:2.0.4
安装mysql
创建数据库nacos_config,插入nacos的配置相关的sql
docker run -d \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=172.16.0.124 \
-e MYSQL_SERVICE_PORT=31190 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD='xxxx' \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-p 8848:8848 \
--restart=always \
--name nacos_saasoperationsecond \
nacos-server:2.0.4
1.安装mysql
创建数据库nacos_config,插入nacos的配置相关的sql
sudo docker network create --driver bridge --subnet 10.139.0.0/16 --gateway 10.139.0.1 pknet
3.vim docker-compose-nacos.yaml
version: "3"
services:
nacos:
hostname: nacos
image: nacos/nacos-server:2.0.3
container_name: bdyh-nacos
privileged: true
networks:
- pknet
volumes:
- ./cluster-logs:/home/nacos/logs
- ./init.d/custom.properties:/home/nacos/init.d/custom.properties
ports:
- "7848:7848"
- "8848:8848"
- "9848:9848"
- "9555:9555"
- "9849:9849"
env_file:
- ./env/nacos-ip.env
restart: on-failure
networks:
pknet:
external: true
vim nacos-ip.env
#nacos dev env
#如果支持主机名可以使用hostname,否则使用ip,默认也是ip
PREFER_HOST_MODE=ip
MODE=cluster
#多网卡情况下,指定ip或网卡
NACOS_SERVER_IP=192.168.10.128
#集群中其它节点[ip1:port ip2:port ip3:port]
NACOS_SERVERS=192.168.10.128:8848 192.168.10.129:8848 192.168.10.130:8848
#nacos的web端口,不写默认就是8848
NACOS_APPLICATION_PORT=8848
#数据源平台 仅支持mysql或不保存empty
SPRING_DATASOURCE_PLATFORM=mysql
MYSQL_SERVICE_HOST=192.168.10.131
MYSQL_SERVICE_DB_NAME=caseRetrieval-config
MYSQL_SERVICE_PORT=3306
MYSQL_SERVICE_USER=root
MYSQL_SERVICE_PASSWORD=bdyh@2020
MYSQL_DATABASE_NUM=1
#JVM调优参数
JVM_XMS=2g
JVM_XMX=2g
JVM_XMN=2g
JVM_MS=128m
JVM_MMS=320m
vim custom.properties
#spring.security.enabled=false
#management.security=false
#security.basic.enabled=false
#nacos.security.ignore.urls=/**
#management.metrics.export.elastic.host=http://localhost:9200
# metrics for prometheus
management.endpoints.web.exposure.include=*
# metrics for elastic search
#management.metrics.export.elastic.enabled=false
#management.metrics.export.elastic.host=http://localhost:9200
# metrics for influx
#management.metrics.export.influx.enabled=false
#management.metrics.export.influx.db=springboot
#management.metrics.export.influx.uri=http://localhost:8086
#management.metrics.export.influx.auto-create-db=true
#management.metrics.export.influx.consistency=one
#management.metrics.export.influx.compressed=true
启动:docker-compose -f docker-compose-nacos.yaml up -d
浏览器访问:ip+8848,ip+8849,ip+8850均可访问
环境说明
主机ip 部署
192.168.216.56 mysql nacos1
192.168.216.49 nacos2
192.168.216.35 nacos3
192.168.216.49 nginx 做负载均衡
1.安装mysql
2.创建数据库nacos_config,插入nacos的配置相关的sql
3.nacos集群
所有部署主机自建/root/nacos/config logs 等目录,做路径映射
mkdir -p /root/nacos/config
mkdir -p /root/nacos/logs
mkdir -p /data/nacos/config
/root/nacos/config下增加一个custom.properties文件
vi /root/nacos/config/custom.properties
#spring.security.enabled=false
#management.security=false
#security.basic.enabled=false
#nacos.security.ignore.urls=/**
#management.metrics.export.elastic.host=http://localhost:9200
# metrics for prometheus
management.endpoints.web.exposure.include=*
# metrics for elastic search
#management.metrics.export.elastic.enabled=false
#management.metrics.export.elastic.host=http://localhost:9200
# metrics for influx
#management.metrics.export.influx.enabled=false
#management.metrics.export.influx.db=springboot
#management.metrics.export.influx.uri=http://localhost:8086
#management.metrics.export.influx.auto-create-db=true
#management.metrics.export.influx.consistency=one
#management.metrics.export.influx.compressed=true
#其他都注释掉了,包括一些监控等,以后需要可以自行修改配置
其他都注释掉了,包括一些监控等,以后需要可以自行修改配置
各个主机使用docker启动nacos:
192.168.216.56的nacos:
docker run -d --name nacos1 --hostname nacos1 --net=host --add-host nacos1:192.168.216.56 --add-host nacos2:192.168.216.35 --add-host nacos3:192.168.216.49 -e PREFER_HOST_MODE=hostname -e MYSQL_SERVICE_HOST=192.168.216.56 -e MYSQL_SERVICE_DB_NAME=nacos_config -e MYSQL_SERVICE_USER=root -e MYSQL_SERVICE_PASSWORD=xxxx -e MYSQL_SERVICE_PORT=3306 -e NACOS_SERVERS="nacos1:8848 nacos2:8848 nacos3:8848" -v /root/nacos/config/custom.properties:/home/nacos/init.d/custom.properties -v /root/nacos/logs:/home/nacos/logs nacos/nacos-server:1.4.2
192.168.216.49的nacos:
docker run -d --name nacos2 --hostname nacos2 --net=host --add-host nacos1:192.168.216.56 --add-host nacos2:192.168.216.35 --add-host nacos3:192.168.216.49 -e PREFER_HOST_MODE=hostname -e MYSQL_SERVICE_HOST=192.168.216.56 -e MYSQL_SERVICE_DB_NAME=nacos_config -e MYSQL_SERVICE_USER=root -e MYSQL_SERVICE_PASSWORD='xxxx' -e MYSQL_SERVICE_PORT=3306 -e NACOS_SERVERS="nacos1:8848 nacos2:8848 nacos3:8848" -v /root/nacos/config/custom.properties:/home/nacos/init.d/custom.properties -v /root/nacos/logs:/home/nacos/logs nacos/nacos-server:1.4.1
192.168.214.35的nacos:
docker run -d --name nacos3 --hostname nacos3 --net=host --add-host nacos1:192.168.216.56 --add-host nacos2:192.168.216.35 --add-host nacos3:192.168.216.49 -e PREFER_HOST_MODE=hostname -e MYSQL_SERVICE_HOST=192.168.216.56 -e MYSQL_SERVICE_DB_NAME=nacos_config -e MYSQL_SERVICE_USER=root -e MYSQL_SERVICE_PASSWORD='xxxx' -e MYSQL_SERVICE_PORT=3306 -e NACOS_SERVERS="nacos1:8848 nacos2:8848 nacos3:8848" -v /root/nacos/config/custom.properties:/home/nacos/init.d/custom.properties -v /root/nacos/logs:/home/nacos/logs nacos/nacos-server:1.4.1
4.安装nginx。配置负载均衡
stream {
upstream nacos {
server 192.168.216.56:8848;
server 192.168.216.49:8848;
server 192.168.216.35:8848;
}
server {
listen 18848;
proxy_pass nacos;
}
}
5.访问:192.168.216.49:18848/nacos