Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

Nacos支持三种部署模式

  • 单机模式 - 用于测试和单机试用。
  • 集群模式 - 用于生产环境,确保高可用。
  • 多集群模式 - 用于多数据中心场景。

一、Nacos下载安装:

nacos官方文档:https://nacos.io/zh-cn/docs/quick-start.html

nacos官网下载:https://github.com/alibaba/nacos/releases

1、版本选择:

您可以在Nacos的官网下载(上边连接)中找到每个版本支持的功能的介绍,当前推荐的稳定版本为1.4.1。

2、预备环境准备:

Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行Nacos,还需要为此配置 Maven环境,请确保是在以下版本环境中安装使用:

  1. 64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac。
  2. 64 bit JDK 1.8+;
  3. Maven 3.2.x+;
  4. 集群需要依赖mysql,单机可不必
  5. 3个或3个以上Nacos节点才能构成集群。

3、下载源码或者安装包:

[root@bogon ~]# mkdir /usr/local/soft/nacos
[root@bogon ~]# cd /usr/local/soft/nacos
[root@bogon nacos]# wget https://github.com/alibaba/nacos/releases/download/1.4.1/nacos-server-1.4.1.tar.gz

解压nacos:

[root@bogon nacos]# tar -zxvf  nacos-server-1.4.1.tar.gz

二、单击模式运行:

1、配置mysql数据库(默认使用的是嵌入式数据库Apache Derby来存储数据,单击模式可不用配置数据库):

(1) 单机模式支持mysql,编辑application.properties文件

在0.7版本之前,在单机模式时nacos使用嵌入式数据库实现数据的存储,不方便观察数据存储的基本情况。0.7版本增加了支持mysql数据源能力,具体的操作步骤:

  • 1.安装数据库,版本要求:5.6.5+
  • 2.初始化mysql数据库,数据库初始化文件:nacos-mysql.sql
  • 3.修改conf/application.properties文件,增加支持mysql数据源配置(目前只支持mysql),添加mysql数据源的url、用户名和密码。
[root@bogon nacos]# vim /usr/local/soft/nacos/nacos/conf/application.properties

光标下移到spring.datasource.platform=mysql,键盘输入 “i” 进入编辑模式:

放开spring.datasource.platform=mysql前面的#,

放开db.num=1,db.url.0=,db.user.0,db.password.0=,前面的#。

根据自己的数据库和账号、密码进行配置,图下图:

键盘 ESC 键 退出编辑模式,键盘输入“:wq” 保存并退出。

备注:db.num=1 只有一个数据源,根据自身的数据源个数进行配置。

(2)创建数据库(上图中的数据库名为nacos_config):

mysql创建数据库:nacos_config

打开nacos/conf/nacos-mysql.sql文件,将sql语句拷贝到mysql数据库,执行。

2、运行nacos:

[root@bogon nacos]# cd /usr/local/soft/nacos/nacos/bin
[root@bogon bin]# sh startup.sh -m standalone

备注:startup.sh是linux系统的启动执行文件,windows下使用startup.cmd。-m 表示:启动模式。standalone 表示单机模式。 后边不带-m standalone 参数时默认使用集群模式启动。

3、防火墙开放端口(默认的是8848):

[root@bogon bin]# firewall-cmd --zone=public --add-port=8848/tcp --permanent

防火墙重起:

[root@bogon bin]# firewall-cmd --reload

4、通过ui查看是否部署成功:

浏览器输入:http://ip:8848/nacos/   账号:nacos   密码:nacos

三、集群模式运行 --- 生产模式:

准备三台服务器,都下载nacos的安装包,且都进行以下1和2的配置(可先配置好一台,其他的进行直接拷贝即可)

1、配置集群配置文件:

在nacos的解压目录nacos/的conf目录下,有配置文件cluster.conf.example,这是官网给的模板文件,重建cluster.conf文件或者直接更换模板文件的名称,删除.example即可。请每行配置成ip:port。(请配置3个或3个以上节点):

[root@bogon bin]# cd /usr/local/soft/nacos/nacos/conf
[root@bogon conf]# cp cluster.conf.example cluster.conf

编辑cluster.conf文件:

[root@bogon conf]# vim /usr/local/soft/nacos/nacos/conf/cluster.conf

光标下移,键盘输入 “i” 进入编辑模式:

把三个默认的ip和端口进行修改,修改为自己的三个nacos服务ip以及端口,建议三台nacos服务都在不同的服务器上,这样才能真正达到集群高可用。

如下图所示:

备注:由于我只有一台服务器,暂且用不同的端口来实现吧,生产环境不建议。

键盘 ESC 键 退出编辑模式,键盘输入“:wq” 保存并退出。

2、配置mysql数据库:

和单机模式的数据源配置相同(上边单机模式的第一步),这里不再重复。

3、再拷贝2个nacos服务(当前是在同一台机器上,生产环境不建议):

[root@bogon ~]# cp -a /usr/local/soft/nacos/nacos /usr/local/soft/nacos/nacos8847
[root@bogon ~]# cp -a /usr/local/soft/nacos/nacos /usr/local/soft/nacos/nacos8849

备注:当前是在同一台服务器上,使用不用的端口号来区分,所以需要修改相应地端口号,配置文件在nacos/conf/的application.properties文件,此处修改省略。

4、启动服务(三个服务都启动):

[root@bogon nacos]# cd /usr/local/soft/nacos/nacos/bin

使用内置数据源(没有配置自己的mysql数据源)

[root@bogon bin]# sh startup.sh -p embedded 

使用已配置的mysql数据源,集群模式启动(无-m standaone参数,默认是集群模式)

[root@bogon bin]# sh startup.sh

备注:参照以上的启动方式,启动另外两个nacos服务。

5、查询nacos启动日志:

可通过查看/conf/nacos.log(详细日志)或/conf/start.out(启动记录)查看nacos的启动情况以及运行情况(三个nacos服务的查询方式相同):

[root@bogon bin]# tail -n 200 /usr/local/soft/nacos/nacos/logs/start.out

如下图所示:

上边的信息说明集群模式启动成功。

6、防火墙开放端口:

三台机器都要防火墙开放端口,此处和单机的模式相同,此处省略。

7、访问nacos:

通过浏览器访问三台nacos:

http://192.168.30.110:8847/nacos

http://192.168.30.110:8848/nacos

http://192.168.30.110:8849/nacos

登录账号:nacos  密码:nacos

三个页面显示如下:

登录以后,查看集群信息:

8、生产者、消费者连接nacos:

(1)直连ip模式:

项目中的bootstrap.yml文件,添加一下内容:

spring:
application:
name: test-producer
cloud:
nacos:
discovery:
server-addr: http://192.168.30.110:8847,http://192.168.30.110:8848,http://192.168.30.110:8849 # 直连ip模式
config:
server-addr: ${spring.cloud.nacos.discovery.server-addr}
file-extension: yaml

以上的模式,实质不是真正的集群模式,客户端需要指向所有nacos的ip,如果其中由同一台nacos宕机,那么生产者或消费者就一直在报连接超时问题(虽然不影响使用)。

(2)使用nginx配置真正的集群(nginx起到负载均衡的效果,推荐使用):

  •  下载nginx:    
[root@bogon bin]# mkdir /usr/local/soft/nginx
[root@bogon bin]# cd /usr/local/soft/nginx
[root@bogon nginx]# wget http://nginx.org/download/nginx-1.18.0.tar.gz
  • 安装nginx以及所需依赖:
[root@bogon nginx]# yum install gcc-c++    # 编译依赖 gcc 环境  可使用 gcc -v 命令查询系统是否安装了gcc,如果已安装,这里可省略
[root@bogon nginx]# yum install -y pcre pcre-devel  # 安装包pcre和pcre-devel。第一个安装包提供编译版本的库,而第二个提供开发阶段的头文件和编译项目的源代码
[root@bogon nginx]# yum install -y zlib zlib-devel # zlib库提供了压缩算法,在nginx的各种模块中需要使用gzip压缩
[root@bogon nginx]# yum install -y openssl openssl-devel  # nginx支持 http协议,还支持 https(即在 ssl 协议上传输 http),如果使用了https,需要安装 OpenSSL 库
[root@bogon nginx]# tar -zxvf nginx-1.18.0.tar.gz   # 解压nginx安装包
[root@bogon nginx]# cd nginx-1.18.0     # 进入nginx-1.18.0目录
[root@bogon nginx-1.18.0]# ./configure # 使用默认配置
[root@bogon nginx-1.18.0]# make         # 当前目录进行编译,观察是否有报错,如有报错,查看上边的依赖是否安装成功
[root@bogon nginx-1.18.0]# make install   # 编译安装

执行完以上操作,/usr/local/下回多一个nginx文件夹,这是默认的安装路径。

  • nginx配置代理转发规则:

进入nginx的安装目录,编辑nginx.conf文件:

[root@bogon nginx-1.18.0]# vim /usr/local/nginx/conf/nginx.conf

光标下移,键盘输入 “i” 进入编辑模式,找到server位置,替换一下内容:

upstream nacos_server { # 这里负载均衡,默认的分发策略是线性轮询
server 192.168.30.110:8847; # 三个nacos服务器的ip和端口
server 192.168.30.110:8848;
server 192.168.30.110:8849;
}
server {
listen 8846; # 修改nginx监听的端口为8846
server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / {
proxy_pass http://nacos_server; # 这个是代理的地址,名字和上边定义的upstream 后边的名字匹配
       proxy_set_header Host $host; # 避免http请求中丢失Host头部的情况下Host不被重写的失误,此处很重要,一开始没有此配置时,一直连接不上,同时nginx也打不开。

        # root html;
        # index index.html index.htm;

 }

键盘 ESC 键 退出编辑模式,键盘输入“:wq” 保存并退出。

  • 启动nginx:
[root@bogon nginx-1.18.0]# cd /usr/local/nginx/sbin
[root@bogon sbin]# ./nginx
  • nginx常用命令:
   启动nginx:
cd /usr/local/nginx/sbin
./nginx 关闭nginx:
cd /usr/local/nginx/sbin
./nginx -s quit 或者 ./nginx -s stop 重启nginx:
cd /usr/local/nginx/sbin
./nginx -s reload 查看nginx运行状态:
ps aux|grep nginx 查看nginx服务器日志:
tail -fn 200 /usr/local/nginx/logs/access.log
  • 防火墙开放端口:

[root@bogon sbin]# firewall-cmd --zone=public --add-port=8846/tcp --permanent

防火墙重起:

[root@bogon sbin]# firewall-cmd --reload

浏览器访问nginx:http://192.168.30.110:8846/nacos

  • 生产者、消费者项目中的bootstrap.yml文件,添加一下内容:
spring:
application:
name: test-producer
cloud:
nacos:
discovery:
server-addr: http://192.168.30.110:8846 # 直接连接nginx,通过nginx实现集群的代理
config:
server-addr: ${spring.cloud.nacos.discovery.server-addr}
file-extension: yaml
  • 启动生产者或消费者,

浏览器访问nginx :   http://192.168.30.110:8846/nacos

浏览器访问nacos-8847:    http://192.168.30.139:8847/nacos

浏览器访问nacos-8848:     http://192.168.30.139:8848/nacos

浏览器访问nacos-8849:     http://192.168.30.139:8849/nacos

观察 服务管理 --》服务列表  都存在了微服务的注册信息。

至此 nacos的安装以及集群配置到此结束!

Centos7安装Nacos单机模式以及集群模式(包含nignx安装以及实现集群)的相关配置的更多相关文章

  1. Spring Cloud - Nacos注册中心入门单机模式及集群模式

    近几年微服务很火,Spring Cloud提供了为服务领域的一整套解决方案.其中Spring Cloud Alibaba是我们SpringCloud的一个子项目,是提供微服务开发的一站式解决方案. 包 ...

  2. nacos单机,集群安装部署

    nacos单机启动 准备 下载nacos安装包 下载地址 准备centos环境 (本次测试使用docker) PS C:\Users\Administrator> docker run -tid ...

  3. Greenplum源码编译安装(单机及集群模式)完全攻略

    公司有个项目需要安装greenplum数据库,让我这个gp小白很是受伤,在网上各种搜,结果找到的都是TMD坑货帖子,但是经过4日苦战,总算是把greenplum的安装弄了个明白,单机及集群模式都部署成 ...

  4. Spark Tachyon编译部署(含单机和集群模式安装)

    Tachyon编译部署 编译Tachyon 单机部署Tachyon 集群模式部署Tachyon 1.Tachyon编译部署 Tachyon目前的最新发布版为0.7.1,其官方网址为http://tac ...

  5. Windows环境下Zookeeper的安装和部署(单机模式和伪集群模式)

    第一部分:单机模式 1)下载地址:http://www.pirbot.com/mirrors/apache/zookeeper/,建议下载stable版本 2)解压缩 将下载好的压缩包解压到指定目录, ...

  6. Presto单机/集群模式安装笔记

    Presto单机/集群模式安装笔记 一.安装环境 二.安装步骤 三.集群模式安装: 3.1 集群模式修改配置部分 3.1.1 coordinator 节点配置. Node172配置 3.1.2 nod ...

  7. 第5章 选举模式和ZooKeeper的集群安装 5-2 单机伪分布式安装zookeeper集群

    先搭建伪分布式集群,再去搭建真分布式集群.有些的人的电脑内存.性能比较低,所以在搭建真实的一个分布式环境的话,可能会相对来说比较卡,所以两种都会做一下,首先会在单机上搭建一个集群.单机上的集群主要就是 ...

  8. 微服务管理平台nacos虚拟ip负载均衡集群模式搭建

    一.Nacos简介 Nacos是用于微服务管理的平台,其核心功能是服务注册与发现.服务配置管理. Nacos作为服务注册发现组件,可以替换Spring Cloud应用中传统的服务注册于发现组件,如:E ...

  9. Rabbit安装(单机及集群,阿里云)

    Rabbit安装(单机及集群,阿里云) 前言 虽然我并不是部署人员,但是自己私人测试环境的各类东东还是得自己安装的. 尤其在规模不大的公司,基本安装部署工作都是后端的份内之事. 那么最令人痛苦的,莫过 ...

随机推荐

  1. React Hooks vs React Class vs React Function All In One

    React Hooks vs React Class vs React Function All In One React Component Types React Hooks Component ...

  2. HTML 5.3

    HTML 5.3 W3C Working Draft, 18 October 2018 https://www.w3.org/TR/html53/ refs https://www.w3.org/TR ...

  3. react & redux data flow diagram

    react & redux data flow diagram Redux 数据流程图

  4. HTML5 image rotate effect

    HTML5 image rotate effect HTML5 实现旋转拨号键盘 简单的html中js实现图片中心旋转 https://download.csdn.net/download/q3168 ...

  5. ng mock服务器数据

    angualr文档 in-memory-web-api 文档 安装 yarn add angular-in-memory-web-api -S src/app/app.module.ts import ...

  6. ⑧SpringCloud 实战:引入 Actuator监控+整合监控页面

    Actuator是什么? Spring Boot Actuator 模块提供了生产级别的功能,比如健康检查,审计,指标收集,HTTP 跟踪等,帮助我们监控和管理Spring Boot 应用.这个模块是 ...

  7. GridSearchCV网格搜索得到最佳超参数, 在K近邻算法中的应用

    最近在学习机器学习中的K近邻算法, KNeighborsClassifier 看似简单实则里面有很多的参数配置, 这些参数直接影响到预测的准确率. 很自然的问题就是如何找到最优参数配置? 这就需要用到 ...

  8. Linux系统管理--part(1)

    Linux系统管理--part(1) Linux系统安装完毕,需要对Linux系统进行管理和维护,让Linux服务器能够真正英语于企业中 Linux运维的三个步骤安装.调试.启动 通过本篇文章,将学习 ...

  9. python爬虫登录保持及对http总结

    [前言]这几天一直看python爬虫登录保持.实现接口太多,太乱,新手难免云山雾罩.各种get.post,深入理解一下,其实就是由于http的特性需要这些操作.http是一种无状态.不保存上次通信结果 ...

  10. ubuntu上pyecharts V1版本环境搭建

    1 背景 今天想用pyecharts画图,在新的环境下使用pip安装之后发现,导入pyecharts模块一直失败,报错如下. 图 1 导入pyecharts错误图 请注意:我这里使用的python版本 ...