Nacos安装、集群部署及利用Nginx反向代理

Nacos安装

  1. 下载地址:https://github.com/alibaba/nacos/releases
  2. 把下载好的文件传到服务器,类似tomcat,解压之后在bin目录直接运行即可,不需要像nginx、redis安装编译安装的步骤
  3. 启动命令:在nacos的bin目录下输入
    默认集群启动:./startup.sh
    单机启动:./startup.sh -m standalone
    停止命令:./shutdown.sh

集群部署

  1. 修改nacos里conf/下的application.properties文件,添加数据源
# db mysql
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://localhost:3306/ry-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=password
  1. 修改conf/下的cluster.conf.example文件,将其命名为cluster.conf
# ip:port
127.0.0.1:8850
127.0.0.1:8851
127.0.0.1:8852
  1. 复制三份解压后的文件夹,修改配置后的,复制之后以上重复的步骤不用再操作
  2. conf/下的application.properties文件修改nacos启动端口号,默认为:server.port=8848,修改为自己设置的,三个端口号不重复,我设置的为8850,8851,8852,同理复制后的nacos文件夹可以重命名为nacos8850,nacos8851,nacos8852
  3. 分别的三个文件夹里的bin目录里启动nacos,命令:./startup.sh
  4. 输入:ip+端口号/nacos,即可打开后台页面,这里是启动了8850和8851后的效果,8852没有启动
    这里是启动了8850和8851后的效果,8852没有启动

配置Nginx负载均衡

启动了三个nacos后,需要在项目里的yml文件里写上三个nacos的地址,这里可以用nginx反向代理后,只需填一个地址就可以了
另外也可以配置一个域名,直接用这个域名就可以打开nacos的后台页面,而不需要输入:ip+端口号/nacos
nginx配置:

    # nacos集群
    upstream nacos-server {
      server 127.0.0.1:8850;
      server 127.0.0.1:8851;
      server 127.0.0.1:8852;
    }

    # nacos集群反向代理
    server {
      listen 80;
      server_name  nacos-test.xxx.com;
      location /{
        proxy_pass http://nacos-server/nacos/;
      }
    }

配置后输入:nacos-test.xxx.com,即可直接打开nacos后台
直接输入域名的效果

踩过得坑

  1. nacos启动找不到java运行环境,which: no javac in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
    解决方案:参考博文
  2. nacos配置好java运行环境后,tomcat却不能启动了,本来tomcat是可以正常启动的
    解决方案:参考博文,注意linux需要把set改为export
  3. nginx配置好以上的配置后,通过域名却打不开。
    我一直用的nginx命令是:./nginx -s reload,但是重启后通过域名却打不开nacos首页,试了很多次,后面我把nginx停了:./nginx -s stop,再打开:./nginx -s start,这时报错误信息,说我端口占用。
    原来是tomcat用的是80端口,那我配置的监听80端口的域名就不行了。
    解决方案:把tomcat端口改为8080,再在nginx里面配置一下反向代理到tomcat,这样不影响tomcat,再重启nginx,即可正常运行,顺便说一句,niginx出现问题,可以到nginx/logs/文件夹里面看error.log日志
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
本教程将介绍如何使用Docker搭建Nacos集群,并通过Nginx进行反向代理实现负载均衡。 准备工作: 1. 安装Docker和Docker Compose 2. 准备三台服务器,分别作为Nacos集群的三个节点 步骤一:下载Nacos镜像 在每个服务器上执行以下命令下载Nacos镜像: ``` docker pull nacos/nacos-server:latest ``` 步骤二:创建Docker Compose文件 在任意一台服务器上创建一个文件夹,命名为nacos,进入该文件夹并创建docker-compose.yml文件,内容如下: ``` version: '3' services: nacos1: image: nacos/nacos-server:latest container_name: nacos1 ports: - "8848:8848" environment: - MODE=cluster - NACOS_SERVER_IP=192.168.1.11 restart: always nacos2: image: nacos/nacos-server:latest container_name: nacos2 ports: - "8849:8848" environment: - MODE=cluster - NACOS_SERVER_IP=192.168.1.12 restart: always nacos3: image: nacos/nacos-server:latest container_name: nacos3 ports: - "8850:8848" environment: - MODE=cluster - NACOS_SERVER_IP=192.168.1.13 restart: always ``` 其中,nacos1、nacos2、nacos3分别对应三个节点,分别监听的端口分别为8848、8849、8850。NACOS_SERVER_IP指定了当前节点的IP地址,这个需要根据实际情况进行修改。 步骤三:启动Nacos集群nacos文件夹下执行以下命令启动Nacos集群: ``` docker-compose up -d ``` 执行完毕后,可以通过以下命令查看容器启动情况: ``` docker-compose ps ``` 步骤四:配置Nginx反向代理 在任意一台服务器上安装Nginx,并修改配置文件/etc/nginx/nginx.conf,增加如下内容: ``` http { upstream nacos { server 192.168.1.11:8848; server 192.168.1.12:8849; server 192.168.1.13:8850; } server { listen 80; server_name nacos.example.com; location / { proxy_pass http://nacos; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } } ``` 其中,nacos.example.com为Nacos的访问域名,需要根据实际情况进行修改。配置中创建了一个名为nacos的upstream,包括三个节点的IP地址和端口号。在server块中,通过proxy_pass将请求转发到nacos upstream。 重启Nginx生效。 至此,Nacos集群Nginx反向代理已经搭建完成,可以通过访问http://nacos.example.com:80/进行验证。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值