Nacos微服务部署(超详细)基于Centos7

摘要:
只有三个或更多的Nacos节点可以组成一个集群。

目录

Nacos集群部署与持久化

准备环境

请确保是在环境中安装使用:

  1. 64 bit OS Linux/Unix/Mac,推荐使用Linux系统。
  2. 64 bit JDK 1.8+;下载.配置
    3. Maven 3.2.x+;下载.配置
  3. 3个或3个以上Nacos节点才能构成集群。 nacos-server-1.1.4.tar.gz下载

本次集群部署使用:1个Nginx、3个Nacos、1个Mysql

Linux-Centos-7安装Mysql5.7数据库

  1. 安装wget指令

    [root@localhost opt]# yum -y install wget
    
  2. 在线下载Mysql安装源

    [root@localhost opt]# wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
    
  3. 安装Mysql安装源

    [root@localhost opt]# yum -y localinstall mysql57-community-release-el7-11.noarch.rpm 
    
  4. 在线安装Mysql

    [root@localhost opt]# yum -y install mysql-community-server
    
  5. 启动Mysql服务

    [root@localhost opt]# systemctl start mysqld
    
  6. 设置开机启动

    [root@localhost opt]# systemctl enable mysqld
    [root@localhost opt]# systemctl daemon-reload
    
  7. 修改root登录密码

    # mysql安装完成之后,会在/var/log/mysqld.log文件中给root生成了一个临时的默认密码
    [root@localhost opt]# cat /var/log/mysqld.log
    
    # A temporary password is generated for root@localhost: hNR?y3TWzct1(密码)
    
  8. 登录Mysql

    [root@localhost opt]# mysql -u root -p
    # 粘贴上述密码
    
  9. 修改mysql默认密码策略

    # mysql5.7默认密码策略要求密码必须是大小写字母数字特殊字母的组合,至少8位
    mysql> set global validate_password_policy=0;
    # 修改密码,此时默认密码长度为8
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678';
    # 查看密码长度
    mysql> select @@validate_password_length;
    +----------------------------+
    | @@validate_password_length |
    +----------------------------+
    |                          8 |
    +----------------------------+
    1 row in set (0.00 sec)
    # 设置密码长度
    mysql> set global validate_password_length=1;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> select @@validate_password_length;
    +----------------------------+
    | @@validate_password_length |
    +----------------------------+
    |                          4 |
    +----------------------------+
    1 row in set (0.00 sec)
    # 再次修改密码
    mysql>  ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
    Query OK, 0 rows affected (0.00 sec)
    
    
  10. 退出Mysql

    mysql> exit
    

Mysql 5.7 开放端口允许远程登录、修改编码为UTF-8

  • 设置允许远程登录

    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
    
  • 防火墙开放端口3306

    [root@localhost opt]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
    [root@localhost opt]# firewall-cmd --reload
    
  • 配置Mysql默认编码UTF-8

    # 修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置
    character_set_server=utf8
    init_connect='SET NAMES utf8'
    # 保存并退出
    # 重启mysql服务
    [root@localhost opt]# systemctl restart mysqld
    

Nacos压缩包上传及Mysql数据库配置

Nacos版本:nacos-server-1.1.4.tar.gz

  1. 上传tar包至linux并解压

    [root@localhost opt]# tar -zxvf nacos-server-1.1.4.tar.gz 
    
  2. 查看Nacos自带的sql脚本

    [root@localhost opt]# /opt/nacos/conf/nacos-mysql.sql
    
  3. 创建数据库

    [root@localhost conf]# mysql -u root -p
    mysql> create datebase nacos_config;
    
  4. 执行数据库脚本

    mysql> use nacos_config; 
    mysql> source /opt/nacos/conf/nacos-mysql.sql;
    mysql> show tables;
    +------------------------+
    | Tables_in_nacos_config |
    +------------------------+
    | config_info            |
    | config_info_aggr       |
    | config_info_beta       |
    | config_info_tag        |
    | config_tags_relation   |
    | group_capacity         |
    | his_config_info        |
    | permissions            |
    | roles                  |
    | tenant_capacity        |
    | tenant_info            |
    | users                  |
    +------------------------+
    12 rows in set (0.00 sec)
    
  5. 修改Nacos数据库信息(将Nacos内置型的数据库切换为Mysql数据库)

    # 备份application.properties
    [root@localhost conf]# cp /opt/nacos/conf/application.properties /opt/nacos/conf/application.properties.bf
    
    # 修改application.properties配置文件
    [root@localhost conf]# vim /opt/nacos/conf/application.properties
    
    ### 添加mysql数据库配置信息
    spring.datasource.platform=mysql
    
    ### Count of DB:
    db.num=1
    
    ### Connect URL of DB:
    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=root
    db.password=123456
    
    # :wq! 保存退出
    

Nacos集群部署

在Linux服务器上配置nacos的集群配置文件cluster.conf

  1. 复制配置文件

    [root@localhost conf]# cd /opt/nacos/conf
    
    [root@localhost conf]# cp cluster.conf.example cluster.conf
    
  2. 修改配文件信息

    # 查看本机网卡IP地址
    [root@localhost conf]# hostname -I
    192.168.2.123
    # 编辑 cluster.conf
    [root@localhost conf]# vim cluster.conf
    #it is ip
    #example
    #192.168.16.101:8847
    #192.168.16.102
    #192.168.16.103
    # 填写本机 IP+端口号
    192.168.2.123:8818
    192.168.2.123:8828
    192.168.2.123:8838
    

编辑Nacos集群的启动脚本

# 备份启动脚本
[root@localhost bin]# cp /opt/nacos/bin/startup.sh /opt/nacos/bin/startup.sh.bf

# 修改启动脚本
[root@localhost bin]# vim /opt/nacos/bin/startup.sh

while getopts ":m:f:s:p:" opt
do
    case $opt in
        m)
            MODE=$OPTARG;;
        f)
            FUNCTION_MODE=$OPTARG;;
        s)
            SERVER=$OPTARG;;
        p)
            PORT=$OPTARG;;
        ?)
        echo "Unknown parameter"
        exit 1;;
    esac
done

# 在142行添加 $JAVA-Dserver.port=${EMBEDDED_STORAGE}
142 nohup $JAVA -Dserver.port=${PORT} ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 &

启动集群

[root@localhost bin]# cd /opt/nacos/bin
[root@localhost bin]# ./startup.sh -p 8818
[root@localhost bin]# ./startup.sh -p 8828
[root@localhost bin]# ./startup.sh -p 8838

# 查看nacos是否启动
[root@localhost bin]# ps -ef|grep nacos|grep -v grep|wc -l

Nginx负载均衡部署

Nginx下载地址:nginx-1.18.0

下载并上传

# 解压压缩包
$ tar -zxvf nginx-1.18.0.tar.gz

依赖库安装

  1. 安装 gcc 环境

    # nginx 编译时依赖 gcc 环境
    $ sudo yum -y install gcc gcc-c++
    
  2. 安装 pcre

    # 让nginx 支持重写功能
    $ sudo yum -y install pcre pcre-devel 
    
  3. 安装 zlib

    # zlib 库提供了很多压缩和解压缩的方式,nginx 使用 zlib 对 http 包内容进行 gzip 压缩
    $ sudo yum -y install zlib zlib-devel 
    
  4. 安装 openssl

    # 安全套接字层密码库,用于通信加密
    $ sudo yum -y install openssl openssl-devel
    

Nginx编译安装

  1. 进入解压目录

    $ cd nginx-1.18.0
    
  2. 检查编译环境

     # --prefix=/usr/local/nginx  是 nginx 编译安装的目录(默认),安装完后会在此目录下生成相关文件
    $ ./configure --prefix=/usr/local/nginx # 检查平台安装环境
    
  3. 源码编译与安装

    # 编译
    $ make 
    
    # 安装
    $ make install 
    

Nginx启动

  1. 启动服务

    $ /usr/local/nginx/sbin/nginx
    
  2. 查看Nginx服务进程

    $ ps -ef | grep nginx
    
  3. web端访问Nginx,默认端口80

    # 浏览器中输入虚拟机IP地址即可访问
    
  4. 重新加载服务

    $ /usr/local/nginx/sbin/nginx -s reload
    
  5. 停止服务

    $ /usr/local/nginx/sbin/nginx -s stop
    

Nginx整合Nacos

  1. 备份配置文件Nginx配置文件nginx.conf

    $ cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bf
    
  2. 配置nginx.conf

    $ vim /usr/local/nginx/conf/nginx.conf
    
    # 配置负载均衡+反向代理
    # 监听端口号1111
    
     33     #gzip  on;
     34 
     35     upstream cluster{
     36         server 127.0.0.1:8818;
     37         server 127.0.0.1:8828;
     38         server 127.0.0.1:8838;
     39     }
     40     
     41     server {
     42         listen       1111;
     43         server_name  localhost;
     44         
     45         #charset koi8-r;
     46         
     47         #access_log  logs/host.access.log  main;
     48         
     49         location / {
     50            # root   html;
     51            # index  index.html index.htm;
     52            proxy_pass http://cluster;
     53         }
    
  3. 以nginx.conf配置文件的形式启动Nginx

    $ cd /usr/local/nginx/sbin
    $ ./nginx -c /usr/local/nginx/conf/nginx.conf
    
  4. 启动Nacos集群

    $ cd /opt/nacos/bin
    $ ./startup.sh -p 8818
    $ ./startup.sh -p 8828
    $ ./startup.sh -p 8838
    
  5. web访问测试

    # 虚拟机IP:1111/nacos
    # 账号: nacos
    # 密码: nacos
    

免责声明:文章转载自《Nacos微服务部署(超详细)基于Centos7》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Socket 之 c#实现Socket网络编程nginx 拦截 swagger 登录下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

CDH| Cloudera Manager的安装

一.  cloudera manager的概念 简单来说,Cloudera Manager是一个拥有集群自动化安装、中心化管理、集群监控、报警功能的一个工具(软件),使得安装集群从几天的时间缩短在几个小时内,运维人员从数十人降低到几人以内,极大的提高集群管理的效率。 功能: 1)   管理:对集群进行管理,如添加、删除节点等操作。 2)   监控:监控集群...

开源跳板机jumpserver的安装部署和使用详细教程及踩坑经验

前言 jumpserver是一个开源的跳板机解决方案,用pyton开发,支持二次开发,还继承了ansible用于提供服务器的批量管理,而且能够提供绝大多数的跳板机功能,是一个非常不错的开源项目,也完全支持在生产环境中的使用部署。 安装篇 jumpserver需要依赖于mysql数据库,python开发工具的支持,所以需要安装一系列软件。 首先配置好yum源...

数据库系统Informix为例,介绍改善用户查询计划的方法。

数据库系统Informix为例,介绍改善用户查询计划的方法。 1.合理使用索引 索引是数据库中重要的数据结构,它的根本目的就是为了提高查询效率。现在大多数的数据库产品都采用IBM最先提出的ISAM索引结构。索引的使用要恰到好处,其使用原则如下: ●在经常进行连接,但是没有指定为外键的列上建立索引,而不经常连接的字段则由优化器自动生成索引。 ●在频繁进行排...

CentOS7安装MySQL8.0图文教程

1.下载 MySQL 所需要的安装包         网址:https://dev.mysql.com/downloads/mysql/   2.Select Operating System: 选择 Red Hat ,CentOS 是基于红帽的,Select OS Version: 选择 linux 7   3.选择 RPM Bundle 点击 Down...

"SQLserver 事务日志已满"解决方法

问题: 数据库 'MSDB' 的事务日志已满。若要查明无法重用日志中的空间的原因,请参阅 sys.databases 中的 log_reuse_wait_desc 列。 解决方法: 在tempdb库属性中,在[企业管理器]中把[事务日志]的 [文件属性] 中的 [文件自动增长] 前面打上钩,并且查看一下你的日志文件所在磁盘空间够不够了。如果不够,备份后换个...

YII2.0 在保存数据库内容会调用save()方法的注意事项

在保存数据时,有事会用$model的beforSave()方法来添加模型的 创建时间create_time,更新时间update_time等字段,如下所示 public function beforeSave($insert) { if (parent::beforeSave($insert)) { if ($insert) {...