手寫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地址就行。