云服务器部署nacos+nginx集群(Mysql5.7版本)

云服务器部署nacos(集群)+nginx+Mysql5.7版本)

架构图云服务器部署nacos+nginx集群(Mysql5.7版本)_第1张图片

VIP即虚拟ip,我们可以用nginx来充当这个角色 (这里nginx就没有集群了,其实nacos也是个伪集群)

环境准备

一台云服务器 系统:Centos7.7 公网ip:212.68.46.xxx 内网172.17.0.5
nacos版本:1.2.1
mysql版本:5.7
nginx版本:1.9.9
java自行安装


nacos1:172.17.0.5:3333
nacos2:172.17.0.5:4444
nacos3:172.17.0.5:5555  (内网ip)
nginx端口:1111


nacos1.2.1下载

官网下载太慢,这里提供一个网盘下载。

nacos网盘下载
链接:https://pan.baidu.com/s/14wipsVEq6bINsmxQR7R9og
提取码:e1xa

把下载的文件放到自己的目录
使用tar -zxvf解压

mysql配置

进入到nacos/conf/文件夹目录下,有个nacos-mysql.sql文件

在服务器上创建nacos_config数据库,并把上面sql导入进去,执行后数据库有如下表
云服务器部署nacos+nginx集群(Mysql5.7版本)_第2张图片

修改nacos/conf/目录下的application.properties文件,因为nacos自带嵌入式数据库,在集群分布式部署下每个nacos都使用自己的数据库是不太好的,因此我们配置mysql,添加如下信息。(可以先把原文件备份一下再修改)
云服务器部署nacos+nginx集群(Mysql5.7版本)_第3张图片

spring.datasource.platform=mysql

db.num=1
db.url.0=jdbc:mysql://127.0.0.2:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=your password

在这里插入图片描述

mysql8的url和mysql5的url写法是不同的:

##下面是官网给的mysql5写法
db.url.0=jdbc:mysql://127.0.0.2:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true

##mysql8要换成这样
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&useUnicode=true&useSSL=false&serverTimezone=UTC

mysql8的话要在nacos目录下创建/plugins/mysql目录,并放入mysql8驱动包。因为nacos用的是mysql5的驱动,从nacos的github的issues中可以看到,如果数据库要支持mysql8则需要在nacons/plugins创建mysql目录并放入mysql8驱动。

修改startup.sh启动文件

为了能让他多个端口运行,所以要进行修改,修改nacos/bin/startup.sh文件 (建议修改前还是备份一下)

云服务器部署nacos+nginx集群(Mysql5.7版本)_第4张图片
云服务器部署nacos+nginx集群(Mysql5.7版本)_第5张图片
注意一下这里我修改了jvm参数,因为服务器1核2G是承受不起默认的jvm参数的,所以我做出了一点修改。
云服务器部署nacos+nginx集群(Mysql5.7版本)_第6张图片

修改nacos/conf/cluster.conf文件

cluster.conf的ip地址一定要是hostname -i 的地址,如果hostname -i地址只有127.0.0.1则需要修改/etc/hosts,方法如下

我这里改过了,所以有了内网地址。没有的话修改/etc/hosts文件
云服务器部署nacos+nginx集群(Mysql5.7版本)_第7张图片

ipaddr查看自己的内网ip为172.17.0.15

在这里插入图片描述
查看自己的主机名,hostname
在这里插入图片描述
修改/etc/hosts 添加ip地址+主机名(最后一行即为新添加
云服务器部署nacos+nginx集群(Mysql5.7版本)_第8张图片

继续hostname -i 查看,有了自己的内网ip

修改nacos目录下的 conf/cluster.conf,首先进入到conf目录把cluster.conf.example复制一份名为cluster.conf文件,添加cluster.config内容 ip:port

在这里插入图片描述

云服务器部署nacos+nginx集群(Mysql5.7版本)_第9张图片

配置nginx负载均衡

nginx可自行安装,修改nginx的配置文件nginx.conf,使用nginx的1111端口

upstream cluster{
        server 127.0.0.1:3333;
        server 127.0.0.1:4444;
        server 127.0.0.1:5555;
 }

server{
        listen 1111;
        server_name localhost;

        location / {
            proxy_pass http://cluster;
        }
 }

云服务器部署nacos+nginx集群(Mysql5.7版本)_第10张图片

重启nginx, 命令 /usr/local/nginx/sbin/nginx -s reload

启动nacos

进入nacos的bin目录,分别执行命令

./startup.sh -p 3333
./startup.sh -p 4444
./startup.sh -p 5555

使用 ps -ef |grep nacos-server | grep -v grep|wc -l 查看启动的nacos数量
在这里插入图片描述
(如果这里不够三台的话,很可能是没配JVM参数,修改一下参数即可)

访问 公网ip:1111/nacos/#/login,出现以下页面则成功
(服务器开放对应端口,防火墙对应端口也要打开)

云服务器部署nacos+nginx集群(Mysql5.7版本)_第11张图片

你可能感兴趣的:(微服务)