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

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 最近有小伙伴私信孟哥,想要一个微服务的项目,必须安排呀!

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


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;
|        }
|    }
| }


目录
相关文章
|
6天前
|
负载均衡 监控 算法
【微服务 SpringCloud】实用篇 · Eureka注册中心
【微服务 SpringCloud】实用篇 · Eureka注册中心
21 1
|
6天前
|
存储 SpringCloudAlibaba Java
【微服务 SpringCloud】实用篇 · 服务拆分和远程调用
【微服务 SpringCloud】实用篇 · 服务拆分和远程调用
20 2
|
3天前
|
前端开发 JavaScript Java
Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)五(前端页面
Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)五(前端页面
Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)五(前端页面
|
4天前
|
消息中间件 Java 数据安全/隐私保护
Spring Cloud 项目中实现推送消息到 RabbitMQ 消息中间件
Spring Cloud 项目中实现推送消息到 RabbitMQ 消息中间件
|
6天前
|
Prometheus 监控 负载均衡
【SpringCloud】微服务重点解析
【SpringCloud】微服务重点解析
20 0
|
6天前
|
缓存 负载均衡 算法
【微服务 SpringCloud】实用篇 · Ribbon负载均衡
【微服务 SpringCloud】实用篇 · Ribbon负载均衡
24 0
|
6天前
|
Java Spring
IDEA 创建 SpringCloud项目-多项目方式
IDEA 创建 SpringCloud项目-多项目方式
|
6天前
|
消息中间件 Java RocketMQ
Spring Cloud RocketMQ:构建可靠消息驱动的微服务架构
【4月更文挑战第28天】消息队列在微服务架构中扮演着至关重要的角色,能够实现服务之间的解耦、异步通信以及数据分发。Spring Cloud RocketMQ作为Apache RocketMQ的Spring Cloud集成,为微服务架构提供了可靠的消息传输机制。
30 1
|
6天前
|
Dubbo Java 应用服务中间件
Spring Cloud Dubbo: 微服务通信的高效解决方案
【4月更文挑战第28天】在微服务架构的发展中,服务间的高效通信至关重要。Spring Cloud Dubbo 提供了一种基于 RPC 的通信方式,使得服务间的调用就像本地方法调用一样简单。本篇博客将探讨 Spring Cloud Dubbo 的核心概念,并通过具体实例展示其在项目中的实战应用。
22 2
|
1天前
|
运维 监控 负载均衡
探索微服务架构下的服务网格
【5月更文挑战第20天】 在当今日益复杂的分布式系统中,微服务架构已成为企业技术栈的重要组成部分。随着微服务数量的膨胀和网络通信的复杂化,传统的服务发现与负载均衡机制显得力不从心。本文将深入探讨服务网格这一新兴模式,它如何在微服务环境中提供更灵活、动态且高效的服务间通信解决方案。我们将剖析服务网格的核心组件、工作原理以及它如何简化分布式系统的运维难题。