单机部署 nacos

1. 裸机 部署

1.0 部署 Java 环境

tar xf jdk-8u351-linux-x64.tar.gz -C /app/tools
ln -s /app/tools/jdk1.8.0_351 /usr/local/jdk

# 配置环境变量
cat >> /etc/profile <<'EOF'
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
EOF
source /etc/profile

1.1 下载解压

# 01. 下载并解压
wget https://github.com/alibaba/nacos/releases/download/2.0.3/nacos-server-2.0.3.tar.gz
tar xf nacos-server-2.0.3.tar.gz -C /usr/local

1.2 部署 MySQL 并导入数据

# 为了方便,使用 docker 启动
# 01. 部署 MySQL
docker run -d \
--name mysql \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD='123456' \
-v /data/mysql:/var/lib/mysql \
--restart=always \
mysql:8.0

# 02. 创建数据库和用户
create database nacos_config charset utf8;
use nacos_config;
source /usr/local/nacos/conf/nacos-mysql.sql

create user nacos@'%' identified with mysql_native_password by '123456';
grant all on nacos_config.* to nacos@'%';
flush privileges;

1.3 修改配置文件

# 01. 进入配置文件目录
cd /usr/local/nacos/nacos/conf/


# 02. 修改配置 application.properties
vim application.properties

server.servlet.contextPath=/nacos
server.port=8848
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://192.168.1.10:3306/nacos_mysql?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=nacos
db.password.0=123456
# 关闭权限,可以打开使用
nacos.core.auth.enabled=false

# 03. 修改配置 cluster.conf
cp cluster.conf{.example,}

vim cluster.conf
192.168.0.150:8848

1.4 启动 & 停止

# 启动
cd /usr/local/nacos/bin
./startup.sh -m standalone

# 停止
./shutdown.sh

1.5 访问测试

image-20221109141258805.png

2. 采用 Docker 部署

2.1 不使用MySQL数据库

docker run \
--name nacos-server \
-e MODE=standalone \
-p 8848:8848 \
-d nacos/nacos-server:v2.0.3

上述方式是最简便的方式启动,但这样的话有一点小瑕疵,nacos所有元数据都会保存在容器内部。倘若容器迁移则nacos元数据则丢失,所以通常我们通常会将nacos元数据保存在mysql中。

2.2 使用 MySQL 数据库版

2.2.1 数据库准备

# 01. 创建初始化目录
mkdir -p /app/nacos/init-mysql

# 02. 创建数据挂载目录
mkdir -p /app/nacos/nacos-mysql

# 03. 修改初始化数据库 文件 (/app/nacos/init-mysql/nacos-mysql.sql)
# 在原文件前加入 以下内容

/******************************************/
/*   数据库全名 = nacos_config   */
/*   创建数据库,用户,授权   */
/******************************************/
create database nacos_config charset utf8;
create user nacos@'%' identified with mysql_native_password by '123456';
grant all on nacos_config.* to nacos@'%';
flush privileges;
use nacos_config;

2.2.2 准备 nacos 配置文件

# 01. 创建配置文件和数据保存目录
mkdir -p /app/nacos/{conf,data}

# 02. 准备配置文件
/app/nacos/conf/1.4.0-ipv6_support-update.sql
/app/nacos/conf/application.properties
/app/nacos/conf/nacos-logback.xml
/app/nacos/conf/schema.sql

# 03. 修改 application.properties 文件,其余不动

server.servlet.contextPath=/nacos
server.port=8848
spring.datasource.platform=mysql
db.num=1
# 修改数据库IP/数据库名称
db.url.0=jdbc:mysql://mysql-nacos:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
# 数据库账号
db.user.0=nacos
# 数据库密码
db.password.0=123456

2.2.3 启动服务

docker-compose 文件

version: "3.3"

services:
  mysql-nacos:
    image: mysql:8.0.28
    container_name: mysql-nacos
    ports:
      - '3306:3306'
    environment:
      MYSQL_ROOT_PASSWORD: '123456'
      MYSQL_ALLOW_EMPTY_PASSWORD: 'no'
    volumes:
      - /app/nacos/nacos-mysql:/var/lib/mysql
      # 第一次启动时,取消以下注释,后续建议注释,作用:初始化数据库
      #- /app/nacos/init-mysql:/docker-entrypoint-initdb.d
    privileged: true
    restart: always
    command: --default-authentication-plugin=mysql_native_password
    networks:
      - nacos-net

  nacos-server:
    image: nacos/nacos-server:v2.0.3
    container_name: nacos-server
    ports:
      - "8848:8848"
      - "9848:9848"
      - "9555:9555"
    environment:
      MODE: standalone
    volumes:
      - /app/nacos/conf:/home/nacos/conf
      - /app/nacos/data:/home/nacos/data
    privileged: true
    restart: always
    networks:
      - nacos-net
    depends_on:
      - mysql-nacos

networks:
  nacos-net:
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,133评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,682评论 3 390
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,784评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,508评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,603评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,607评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,604评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,359评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,805评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,121评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,280评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,959评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,588评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,206评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,442评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,193评论 2 367
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,144评论 2 352

推荐阅读更多精彩内容