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


    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
      
  • 相关阅读:
    php 处理并发问题
    phpstudy 版本切换注意的问题
    php读取文件内容的三种方法
    防止重复提交表单的两种方法
    php 压缩函数gzencode gzdeflate gzcompress
    回调函数解析
    回调函数
    如何卸载红蜘蛛
    无法启动此程序,因为计算机中丢失MSVCR110.dll的解决方法
    mysql 去除重复 Select中DISTINCT关键字的用法
  • 原文地址:https://www.cnblogs.com/code-duck/p/13210280.html
Copyright © 2020-2023  润新知