CentOS7安装部署Nacos

CentOS7安装部署Nacos

一、前言

1.简介

一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台

2.环境

  • Linux 发行版:CentOS-7-x86_64-DVD-1804.iso
  • JDK 版本:Java SE Development Kit 11.0.19
  • MySQL 版本:mysql80-community-release-el7-9
  • Nacos 版本:2.2.3

Nacos 官网:https://nacos.io/zh-cn/index.html

Nacos - github:https://github.com/alibaba/nacos/tags

Nacos 鉴权:https://nacos.io/zh-cn/docs/v2/guide/user/auth.html

Nacos 多数据源插件:https://nacos.io/zh-cn/docs/v2/plugin/datasource-plugin.html

Nacos 集群部署说明 :https://nacos.io/zh-cn/docs/v2/guide/admin/cluster-mode-quick-start.html

CentOS7安装部署Java11:https://blog.youkuaiyun.com/u011424614/article/details/132418561

CentOS7安装部署MySQL80:https://blog.youkuaiyun.com/u011424614/article/details/132418916

keepalived识别MGR主节点:https://blog.youkuaiyun.com/u011424614/article/details/133222266

nginx入门和使用实践:https://blog.youkuaiyun.com/u011424614/article/details/107051875

CentOS基础操作命令:https://blog.youkuaiyun.com/u011424614/article/details/94555916

二、正文

1.部署服务器

  • Nacos 端口
端口描述
7848集群数据同步端口
8848Web管理端访问端口
9848客户端gRPC请求服务端端口,用于客户端向服务端发起连接和请求
9849服务端gRPC请求服务端端口,用于服务间同步等
  • 服务器
机器名IP软件包
sys-cluster-01192.168.249.131Nacos
sys-cluster-02192.168.249.132Nacos
sys-cluster-03192.168.249.133Nacos
sys-cluster-04192.168.249.134MySQL

2.基础环境

1)主机名

  • 修改 4 台服务器的主机名
# 131 执行
hostnamectl set-hostname sys-cluster-01 --static
hostnamectl set-hostname sys-cluster-01 --transient

# 132 执行
hostnamectl set-hostname sys-cluster-02 --static
hostnamectl set-hostname sys-cluster-02 --transient

# 133 执行
hostnamectl set-hostname sys-cluster-03 --static
hostnamectl set-hostname sys-cluster-03 --transient

# 134 执行
hostnamectl set-hostname sys-cluster-04 --static
hostnamectl set-hostname sys-cluster-04 --transient

# 查询状态
hostnamectl status

2)Hosts文件

  • 修改 4 台服务器的 hosts 文件
cat > /etc/hosts <<EOF
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.249.131 sys-cluster-01
192.168.249.132 sys-cluster-02
192.168.249.133 sys-cluster-03
192.168.249.134 sys-cluster-04
EOF

3)关闭防火墙

  • 可禁用防火墙,或配置开放的端口,后者比较安全
#--关闭防火墙
systemctl stop firewalld.service
#--开机禁用防火墙
systemctl disable firewalld.service
#--防火墙状态
systemctl status firewalld.service

4)JDK 安装部署

在 4 台服务器上安装JDK

5)MySQL 安装部署

在 134 服务器上安装MySQL

  1. 安装目录:/usr/local/mysql
  2. 数据库文件目录,例如表结构和数据:/var/lib/mysql
  3. 日志文件目录:/var/log/mysql
  4. 配置文件目录:/etc/mysql
  5. 用户名:root 密码:Root@#123456

3.外置数据源

在 134 服务器上执行

  • 数据源选择
  1. 内置数据源:无需进行任何配置
  2. 外置数据源:生产使用建议至少主备模式,或者采用高可用数据库

1)下载软件包

  • 创建安装目录,并下载
mkdir /opt/nacos
cd /opt/nacos

# 下载
wget https://github.com/alibaba/nacos/releases/download/2.2.3/nacos-server-2.2.3.tar.gz --no-check-certificate
# 解压
tar -xzf nacos-server-2.2.3.tar.gz

2)导入数据

  • 登录 mysql 客户端,并执行 nacos 自带的 SQL 文件
mysql -ruoot -p

# 创建数据库
CREATE DATABASE nacos_config;
USE nacos_config;
# 执行 sql 文件
SOURCE /opt/nacos/nacos/conf/mysql-schema.sql
# 查询
show tables;

4.单机部署

在 131 服务器上执行

1)下载软件包

  • 创建安装目录,并下载
mkdir /opt/nacos
cd /opt/nacos

# 下载
wget https://github.com/alibaba/nacos/releases/download/2.2.3/nacos-server-2.2.3.tar.gz --no-check-certificate
# 解压
tar -xzf nacos-server-2.2.3.tar.gz

2)修改配置文件

  • 编辑 application.properties 配置文件

【Config Module Related Configurations】段:配置 MySQL 数据库

【Access Control Related Configurations】段:开启鉴权

  1. nacos.core.auth.plugin.nacos.token.secret.key:使用 Base64 在线编码 进行密钥生成,至少 32 个字符
vim /opt/nacos/nacos/conf/application.properties
  • 内容
### If use MySQL as datasource:
spring.datasource.platform=mysql

### Count of DB:
db.num=1

### Connect URL of DB:
db.url.0=jdbc:mysql://sys-cluster-04:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=Root@#123456


### If turn on auth system:
nacos.core.auth.enabled=true
### The two properties is the white list for auth and used by identity the request from other server.
nacos.core.auth.server.identity.key=nacos
nacos.core.auth.server.identity.value=nacos
### The default token (Base64 String):
nacos.core.auth.plugin.nacos.token.secret.key=amxramxramtsamFkc2Zhc2RmYXNkZmE1NjQ1NmY0NWFzZDRmNjU0YXM1NmRmNDZhNXNk

3)单机启动

  • 单机模式运行
# 执行权限
chmod +x /opt/nacos/nacos/bin/startup.sh
chmod +x /opt/nacos/nacos/bin/shutdown.sh

cd /opt/nacos/nacos/bin
# 启动
./startup.sh -m standalone
# 停止
./shutdown.sh
  • 日志输出
# 实时输出
tail -f /opt/nacos/nacos/logs/start.out
# 静态输出
cat /opt/nacos/nacos/logs/start.out
  • 浏览器访问:http://192.168.249.131:8848/nacos
  • 输入账号和密码:nacos / nacos

4)自启动

  • 创建 nacos.service
cat > /etc/systemd/system/nacos.service <<EOF
[Unit]
Description=Nacos Service standalone
After=syslog.target network.target
 
[Service]
Environment="JAVA_HOME=/opt/java/jdk-11.0.19"
Type=forking
ExecStart=/opt/nacos/nacos/bin/startup.sh -m standalone
ExecReload=/opt/nacos/nacos/bin/shutdown.sh
ExecStop=/opt/nacos/nacos/bin/shutdown.sh
PrivateTmp=true

[Install]
WantedBy=multi-user.target
EOF
  • 启动服务,并设置开机自启动
systemctl daemon-reload
systemctl start nacos.service
systemctl enable nacos.service
  • 查询 Nacos 进程状态
systemctl status nacos.service

5.集群部署

1)下载软件包

在 131 服务器上执行

  • 创建安装目录,并下载
mkdir /opt/nacos
cd /opt/nacos

# 下载
wget https://github.com/alibaba/nacos/releases/download/2.2.3/nacos-server-2.2.3.tar.gz --no-check-certificate
# 解压
tar -xzf nacos-server-2.2.3.tar.gz

2)修改配置文件

在 131 服务器上执行

(1)application.properties
  • 编辑 application.properties 配置文件

【Config Module Related Configurations】段:配置 MySQL 数据库

【Access Control Related Configurations】段:配置鉴权信息

  1. nacos.core.auth.plugin.nacos.token.secret.key:使用 Base64 在线编码 进行密钥生成,至少 32 个字符
vim /opt/nacos/nacos/conf/application.properties
  • 编辑内容
### If use MySQL as datasource:
spring.datasource.platform=mysql

### Count of DB:
db.num=1

### Connect URL of DB:
db.url.0=jdbc:mysql://sys-cluster-04:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=Root@#123456


### If turn on auth system:
nacos.core.auth.enabled=true
### The two properties is the white list for auth and used by identity the request from other server.
nacos.core.auth.server.identity.key=nacos
nacos.core.auth.server.identity.value=nacos
### The default token (Base64 String):
nacos.core.auth.plugin.nacos.token.secret.key=amxramxramtsamFkc2Zhc2RmYXNkZmE1NjQ1NmY0NWFzZDRmNjU0YXM1NmRmNDZhNXNk
(2)cluster.conf
  • 拷贝并编辑 cluster.conf
# 拷贝
cp /opt/nacos/nacos/conf/cluster.conf.example /opt/nacos/nacos/conf/cluster.conf

# 编辑
vim /opt/nacos/nacos/conf/cluster.conf
  • 编辑内容,Nacos 集群的IP和端口列表
#it is ip
192.168.249.131:8848
192.168.249.132:8848
192.168.249.133:8848

3)拷贝Nacos

在 131 服务器上执行

  • 拷贝 Nacos 到其它服务器
scp -r /opt/nacos root@192.168.249.132:/opt/nacos
scp -r /opt/nacos root@192.168.249.133:/opt/nacos

4)集群启动

在 131、132、133 服务器上执行

  • 启动
# 执行权限
chmod +x /opt/nacos/nacos/bin/startup.sh
chmod +x /opt/nacos/nacos/bin/shutdown.sh

cd /opt/nacos/nacos/bin
# 启动
./startup.sh
# 停止
./shutdown.sh
  • 日志输出
# 实时输出
tail -f /opt/nacos/nacos/logs/start.out
# 静态输出
cat /opt/nacos/nacos/logs/start.out
  • 浏览器访问:
  1. http://192.168.249.131:8848/nacos
  2. http://192.168.249.132:8848/nacos
  3. http://192.168.249.133:8848/nacos
  • 输入账号和密码:nacos / nacos

5)自启动

在 131、132、133 服务器上执行

  • 创建 nacos.service
cat > /etc/systemd/system/nacos.service <<EOF
[Unit]
Description=Nacos Service standalone
After=syslog.target network.target
 
[Service]
Environment="JAVA_HOME=/opt/java/jdk-11.0.19"
Type=forking
ExecStart=/opt/nacos/nacos/bin/startup.sh
ExecReload=/opt/nacos/nacos/bin/shutdown.sh
ExecStop=/opt/nacos/nacos/bin/shutdown.sh
PrivateTmp=true

[Install]
WantedBy=multi-user.target
EOF
  • 启动服务,并设置开机自启动
systemctl daemon-reload
systemctl start nacos.service
systemctl enable nacos.service
  • 查询 Nacos 进程状态
systemctl status nacos.service

6)进阶部署

Nacos 集群部署说明 :https://nacos.io/zh-cn/docs/v2/guide/admin/cluster-mode-quick-start.html

  • Nginx 负载均衡

  • Nginx + Keepalived 双机主备

  • Nginx + Keepalived 双主热备

三、其它

1.常用命令

命令说明
systemctl daemon-reload重新加载服务配置
systemctl start nacos.service启动服务
systemctl enable nacos.service开机自启动服务
systemctl status nacos.service查询服务状态
systemctl stop nacos.service停止服务
systemctl restart nacos.service重启服务
systemctl disable nacos.service禁用开机自启动服务
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

趴着喝可乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值