准备环境

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

  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
    

分类:

技术点:

相关文章: