手写SpringCloud项目地址,求个star
github:https://github.com/huangjianguo2000/spring-cloud-lightweight
gitee:https://gitee.com/huangjianguo2000/spring-cloud-lightweigh
目录:
一:初始化MySQL
二:复制粘贴三份Nacos文件,修改配置文件
2.1 修改数据库连接
2.2 修改集群文件
三: 启动服务
四: 注册服务
五:Nginx改造,实现代理加负载均衡
六:服务注册失败,400
一:初始化MySQL
MySql中执行\conf文件夹下的nacos-mysql.sql,建表。 直接复制粘贴运行SQL语句就行。二:复制粘贴三份Nacos文件,修改配置文件
2.1 修改数据库连接
在这个文件夹里面添加
spring.datasource.platform=mysqldb.num=1db.url.0=jdbc:mysql://ip:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=root
数据库地址账号密码记得修改。
2.2 修改集群文件
在conf文件夹下新建这个文件。里面内容是nacos集群的ip地址的端口。
四:注册服务
这里随便填写集群中的一个IP地址, 启动应用可以看见就注册进去了,可以看见所以的集群里面都可以看见这个实例。server:port: 9001spring:application:name: nacos-payment-providercloud:nacos:discovery:server-addr: localhost:8848
五:Nginx搭建
配置文件配置负载均衡策略。启动nginx, 用8847代理我们的集群。后序我们访问和注册都访问8847, 8848,8849,8850就不用了。
#user nobody;
worker_processes 1;#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;#pid logs/nginx.pid;events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;sendfile on;upstream myserver {ip_hash;server 127.0.0.1:8848 weight=1;server 127.0.0.1:8850 weight=1;server 127.0.0.1:8849 weight=1;}server {listen 8847;server_name localhost;location / {root html;index index.html index.htm;location ~ .* {proxy_pass http://myserver;}}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}}
六:注册服务失败
: nacos registry, nacos-payment-provider register failed...NacosRegistration Caused by: com.alibaba.nacos.api.exception.NacosException: failed to req API:/api//nacos/v1/ns/instance after all servers([127.0.0.1:8848]) tried:Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Sun Aug 13 14:01:12 CST 2023
There was an unexpected error (type=Bad Request, status=400).
receive invalid redirect request from peer 127.0.0.1
at com.alibaba.nacos.client.naming.net.NamingProxy.reqAPI(NamingProxy.java:496) ~[nacos-client-1.2.1.jar:na] at com.alibaba.nacos.client.naming.net.NamingProxy.reqAPI(NamingProxy.java:401) ~[nacos-client-1.2.1.jar:na] at com.alibaba.nacos.client.naming.net.NamingProxy.reqAPI(NamingProxy.java:397) ~[nacos-client-1.2.1.jar:na] at com.alibaba.nacos.client.naming.net.NamingProxy.registerService(NamingProxy.java:212) ~[nacos-client-1.2.1.jar:na]
IP地址配置错了(据说是网卡原因), 这里会多出来四个地址,我们把之前的IP地址改成新出来的那个IP地址就行。