分享一个基于SpringCloud的微服务项目

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
简介: 最近有小伙伴私信孟哥,想要一个微服务的项目,必须安排呀!

最近有小伙伴私信孟哥,想要一个微服务的项目,必须安排呀!


1、 系统搭建步骤


1.1、安装Redis服务端和客户端


1.2、导入数据库


创建数据库ry-cloud并导入数据脚本ry_20210108.sql(必须),quartz.sql(可选)


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mySZFRRr-1631055968558)(images\01.png)]


导入数据脚本ry_config_20201222.sql


系统的视频教程:


https://www.bilibili.com/video/BV1E5411J7L9?p=2&spm_id_from=pageDriver


微信图片_20221009190332.png


1.3、安装Nacos并配置MySQL数据库连接


Nacos中文文档地址:


https://nacos.io/zh-cn/docs/quick-start.html


微信图片_20221009190340.png


下载地址:


https://github.com/alibaba/nacos/releases


微信图片_20221009190344.png


修改E:\program\nacos-server-1.4.1\nacos\conf\application.properties的第43行如下:


|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=123456

微信图片_20221009190357.png

修改E:\program\nacos-server-1.4.1\nacos\bin\startup.cmd,设置启动模式为单机模式


微信图片_20221009190402.png


双击startup.cmd启动nacos:


微信图片_20221009190408.png


访问地址:http://localhost:8848/nacos


账号nacos密码nacos


微信图片_20221009190413.png


1.4、引入RuoYi-Cloud


引入项目


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HhTUnXBs-1631055968570)(images\08.png)]


maven要配置成本地的路径


微信图片_20221009190417.png


maven要使用国内镜像,用aliyun的:


|<mirror>
| <id>alimaven</id>
| <name>aliyun maven</name>
| <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
| <mirrorOf>central</mirrorOf>        
|</mirror>


1.5、启动后端


修改数据库连接信息:


微信图片_20221009190422.png


启动后端:


打开运行基础模块(启动没有先后顺序)


  • RuoYiGatewayApplication (网关模块 必须)
  • RuoYiAuthApplication (认证模块 必须)
  • RuoYiSystemApplication (系统模块 必须)
  • RuoYiMonitorApplication (监控中心 可选)
  • RuoYiGenApplication (代码生成 可选)
  • RuoYiJobApplication (定时任务 可选)
  • RuoYFileApplication (文件服务 可选)


启动三个基础模块:


微信图片_20221009190426.png


在Nacos里显示已经启动的三个基础模块:


微信图片_20221009190429.png


1.6、启动前端


|# 进入项目目录
|cd ruoyi-ui
|
|# 安装依赖
|npm install
|
|# 强烈建议不要用直接使用 cnpm 安装,会有各种诡异的 bug,可以通过重新指定 registry 来解决 npm 安装速度慢的问题。
|npm install --registry=https://registry.npm.taobao.org
|
|# 本地开发 启动项目
|npm run dev


微信图片_20221009190433.png


打开浏览器,输入:(http://localhost ) 默认账户/密码 admin/admin123)

若能正确展示登录页面,并能成功登录,菜单及页面展示正常,则表明环境搭建成功


2、nginx配置


启动nginx:直接双击nginx.exe


重启nginx:nginx -s reload


杀死nginx: taskkill /f /t /im nginx.exe


/conf/nginx.conf修改如下:


|worker_processes  1;
|
|events {
|    worker_connections  1024;
|}
|
|http {
|    include       mime.types;
|    default_type  application/octet-stream;
|    sendfile        on;
|    keepalive_timeout  65;


 

|server {
|        listen       80;
|        server_name  localhost;
|        location / {
|
|            root   D:/course/RuoYi-Cloud/code/RuoYi-Cloud/ruoyi-ui/dist;
|            try_files $uri $uri/ /index.html;
|            index  index.html index.htm;
|        }
|
|        location /prod-api/{
|            proxy_set_header Host $http_host;
|            proxy_set_header X-Real-IP $remote_addr;
|            proxy_set_header REMOTE-HOST $remote_addr;
|            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|            proxy_pass http://localhost:8080/;
|        }
|
|        error_page   500 502 503 504  /50x.html;
|        location = /50x.html {
|            root   html;
|        }
|    }
| }


目录
相关文章
|
16天前
|
Java 对象存储 开发者
解析Spring Cloud与Netflix OSS:微服务架构中的左右手如何协同作战
Spring Cloud与Netflix OSS不仅是现代微服务架构中不可或缺的一部分,它们还通过不断的技术创新和社区贡献推动了整个行业的发展。无论是对于初创企业还是大型组织来说,掌握并合理运用这两套工具,都能极大地提升软件系统的灵活性、可扩展性以及整体性能。随着云计算和容器化技术的进一步普及,Spring Cloud与Netflix OSS将继续引领微服务技术的发展潮流。
31 0
|
3天前
|
监控 Java 对象存储
监控与追踪:如何利用Spring Cloud Sleuth和Netflix OSS工具进行微服务调试
监控与追踪:如何利用Spring Cloud Sleuth和Netflix OSS工具进行微服务调试
11 1
|
14天前
|
负载均衡 Java 网络架构
实现微服务网关:Zuul与Spring Cloud Gateway的比较分析
实现微服务网关:Zuul与Spring Cloud Gateway的比较分析
27 5
|
13天前
|
前端开发 API 微服务
SpringCloud微服务之间使用Feign调用不通情况举例
SpringCloud微服务之间使用Feign调用不通情况举例
80 2
|
16天前
|
Java API 对象存储
微服务魔法启动!Spring Cloud与Netflix OSS联手,零基础也能创造服务奇迹!
这段内容介绍了如何使用Spring Cloud和Netflix OSS构建微服务架构。首先,基于Spring Boot创建项目并添加Spring Cloud依赖项。接着配置Eureka服务器实现服务发现,然后创建REST控制器作为API入口。为提高服务稳定性,利用Hystrix实现断路器模式。最后,在启动类中启用Eureka客户端功能。此外,还可集成其他Netflix OSS组件以增强系统功能。通过这些步骤,开发者可以更高效地构建稳定且可扩展的微服务系统。
34 1
|
16天前
|
Java 对象存储 开发者
微服务世界的双雄争霸:Spring Cloud与Netflix OSS——谁将引领下一次企业级应用变革的风暴?
Spring Cloud与Netflix OSS是微服务架构的核心组件集,分别以其与Spring Boot的紧密集成及为大规模分布式系统设计的特性,在Java开发社区中广受青睐。前者通过Eureka提供服务发现机制,简化服务注册与定位;后者借助Hystrix增强系统弹性和可靠性,避免雪崩效应。此外,二者还包含负载均衡(Ribbon)、声明式HTTP客户端(Feign)及API网关(Zuul)等功能,共同构建强大微服务体系,助力开发者聚焦业务逻辑,提升系统灵活性与性能。
34 0
|
16天前
|
Cloud Native Java 对象存储
揭秘微服务架构之争:Spring Cloud与Netflix OSS巅峰对决,谁将称霸弹性云原生时代?
近年来,微服务架构成为企业应用的主流设计模式。本文对比了两大热门框架Spring Cloud和Netflix OSS,探讨其在构建弹性微服务方面的表现。Spring Cloud依托Spring Boot,提供全面的微服务解决方案,包括服务注册、配置管理和负载均衡等。Netflix OSS则由一系列可独立或组合使用的组件构成,如Eureka、Hystrix等。两者相比,Spring Cloud更易集成且功能完善,而Netflix OSS则需自行整合组件,但灵活性更高。实际上,两者也可结合使用以发挥各自优势。通过对两者的对比分析,希望为企业在微服务架构选型上提供参考。
37 0
|
16天前
|
SpringCloudAlibaba API 开发者
新版-SpringCloud+SpringCloud Alibaba
新版-SpringCloud+SpringCloud Alibaba
|
2月前
|
资源调度 Java 调度
Spring Cloud Alibaba 集成分布式定时任务调度功能
定时任务在企业应用中至关重要,常用于异步数据处理、自动化运维等场景。在单体应用中,利用Java的`java.util.Timer`或Spring的`@Scheduled`即可轻松实现。然而,进入微服务架构后,任务可能因多节点并发执行而重复。Spring Cloud Alibaba为此发布了Scheduling模块,提供轻量级、高可用的分布式定时任务解决方案,支持防重复执行、分片运行等功能,并可通过`spring-cloud-starter-alibaba-schedulerx`快速集成。用户可选择基于阿里云SchedulerX托管服务或采用本地开源方案(如ShedLock)
|
2月前
|
人工智能 前端开发 Java
【实操】Spring Cloud Alibaba AI,阿里AI这不得玩一下(含前后端源码)
本文介绍了如何使用 **Spring Cloud Alibaba AI** 构建基于 Spring Boot 和 uni-app 的聊天机器人应用。主要内容包括:Spring Cloud Alibaba AI 的概念与功能,使用前的准备工作(如 JDK 17+、Spring Boot 3.0+ 及通义 API-KEY),详细实操步骤(涵盖前后端开发工具、组件选择、功能分析及关键代码示例)。最终展示了如何成功实现具备基本聊天功能的 AI 应用,帮助读者快速搭建智能聊天系统并探索更多高级功能。
720 2
【实操】Spring Cloud Alibaba AI,阿里AI这不得玩一下(含前后端源码)