Nacos笔记(五):Nacos集群整合Nginx
前言
Nginx搭建,参考:Linux安装Nginx。
1、Nginx配置
添加nacos集群,调整端口与服务名,并设置代理,详情如下:
配置详情如下
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream nacos {
server 192.168.33.55:8848;
server 192.168.33.55:8868;
server 192.168.33.55:8898;
}
server {
listen 85;
server_name 192.168.33.55;
location / {
root html;
index index.html index.htm;
proxy_pass http://nacos;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
2、启动nginx
在sbin目录下,执行nginx启动命令:
./nginx
3、验证
1、Nacos控制台
2、Nacos集群配置持久化
添加配置,详情如下:
已持久化至数据库。
3、服务注册
上述Nginx的配置,无法集成到SpringBoot的项目中,演示详情如下:
项目启动报错如下:
3.1、集成项目中的Nginx配置
可集成到SpringBoot项目的Nginx配置如下:
配置详情如下:
worker_processes 1;
events {
worker_connections 1024;
}
http {
# 负载均衡配置
upstream nacos {
server 192.168.33.55:8848;
server 192.168.33.55:8868;
server 192.168.33.55:8898;
}
# nacos服务配置
server {
listen 8085;
server_name 192.168.33.55;
location / {
# 反向代理
proxy_pass http://nacos;
}
}
}
# nacos的grpc协议配置
stream {
# 负载均衡配置(TCP长连接配置),端口号在前面的端口号前要进行偏置1000
upstream nacos-tcp {
server 192.168.33.55:9848;
server 192.168.33.55:9868;
server 192.168.33.55:9898;
}
# 监听端口号在前面的端口号前要进行偏置1000
server {
listen 9085;
proxy_pass nacos-tcp;
}
}
3.2、验证如下
SpringBoot启动日志输出详情如下:
注册详情如下:
4、搭建集群中使用Nginx遇到的问题
1、has suspicious symbols
原因:nginx要求 server_name 不能包含“/” ,将server_name 调整为 192.168.33.55即可。
2、Nginx做Naocs的代理服务器,SpringBoot连接异常
nacos2.x版本新增了grpc通信端口,需要在nginx中进行相关配置配置,才能在SpringBoot项目中正常使用。