当前位置: 首页 > news >正文

基于若依框架搭建网站的开发日志(一):若依框架搭建、启动、部署

RuoYi(基于SpringBoot开发的轻量级Java快速开发框架)

链接:开源地址
若依是一款开源的基于Vue+SpringCloud的微服务后台管理系统(也有SpringBoot版本),集成了用户管理、权限管理、定时任务、前端表单生成等各种基础功能,对于像我这种前端代码写不了一点的玩家来说十分友好!

为什么做这个项目

从开始学Java,就做了各种各样的项目,有商城、订阅号、外挂、造轮子,但是每个都不精通,甚至在写简历时拿不出手(写商城项目看着好像是培训出来的一样)。目前在做的一个项目是个人网站开发晚风的网站,写的比较复杂,使用的微服务架构,但是最让我头疼的是前端代码的编写,尽管使用了Vue+element-ui,做出来的样子特别丑。到9月份研究生才开学,利用这段时间,我想使用若依重构我的网站,把网站做成一个多用户的系统,集成各种各样的功能,免费使用,让这个项目在之后找工作拿得出手!

项目搭建

使用Docker部署中间件(放弃)

  • 刚开始使用现成的Docker容器作为中间件,启动不了,检查半天发现是忘记了Nacos和SpringCloud的版本要对应
  • 修改后还有问题,Nacos需要使用MySQL做持久化,若依把各个微服务的配置信息都存入MySQL,但是Docker的容器隔离,Nacos容器无法访问MySQL容器!看来我的项目部署能力是严重不足的,使用docker-compose可以解决这个问题

使用Docker-Compose+Shell部署项目

发现有现成的Docker-Compose文件,便使用Docker-Compose进行启动,之前没用过它部署项目,正好学习一下Docker-Compose

这里提供一个一键关闭所有微服务端口应用的shell,便于解决端口占用问题

#!/bin/bashPORTS=(8080,9200,9202,9100,9300,9203,9201)  # 定义端口列表for port in ${PORTS[@]}; doresult=`echo $(lsof -i:$port | grep LISTEN | awk '{print $2}')`if [[ "$result" != "" ]];thenecho "正在停止端口[$port]的进程...."kill -9 $resultfi
done

Mac系统的Nacos容器启动不了的解决方案

指定docker-compose.yml中nacos的image版本,否则无法下载nacos的镜像

...ruoyi-nacos:container_name: ruoyi-nacosimage: nacos/nacos-server:v2.3.0-slim # Mac必须指定版本
...

取消登陆验证码

在nacos中找到ruoyi-gateway-dev.yml(⚠️:在本地代码中添加配置是不能实现的,优先使用的nacos中的配置)

# 安全配置
security:# 验证码captcha:enabled: false # 关闭验证码type: math

到这里项目便可以成功跑通了

在这里插入图片描述

部署项目

  • 使用maven的compile编译项目
  • 使用copy.sh 转移jar包和前端dist
  • 使用deploy.sh的base部署中间件(只部署中间件直接这一步就行了,否则不需要这一步)
  • 使用deploy.sh的modules部署项目
  • 前端项目启动方式
    • cd ruoyi-ui
    • npm install
    • vue-cli-service serve(开启前端项目,它有调试服务器,会自动请求到网管端口)
    • vue-cli-service build(编译前端项目,使用copy.sh时会将dist文件夹转移到nginx中)

下一目标

修改B站爬虫项目(点这里尝试一下当前版本)为多用户项目,导入到该项目中

http://www.lryc.cn/news/343782.html

相关文章:

  • Android中Fragment失去焦点的场景
  • Linux变量的认识及环境变量配置详解
  • 【excel】数据非数值导致排序失效
  • 软件网关--Nginx
  • sourceTree push失败
  • leetCode33. 搜索旋转排序数组
  • JS_监听dom变化触发,new MutationObserver
  • 什么是驱动数字签名?如何获取驱动数字签名?
  • 【leetcode】优先队列题目总结
  • typescript 中的泛型
  • 计算方法实验2(补充):列主元消元法解线性方程组
  • Qt扫盲-Qt D-Bus概述
  • 懒洋洋作业讲解
  • vue3 + ts实现canvas绘制的waterfall
  • 代码随想录算法训练营第四十四天
  • 【3dmax笔记】027:配置修改器集、工具栏自定义与加载
  • Reactor模型详解
  • 内存卡罢工,数据危机?别急,有救!
  • python爬虫实战
  • k8s 资源文件参数介绍
  • mac系统安装steam报错-解决办法
  • 这个簇状柱形图怎么添加百分比?
  • Tomact安装配置及使用(超详细)
  • web后端——netbeans ide +jsp+servlet开发学习总结
  • 使用request-try-notifyState流程实现UI控制与状态反馈的完整闭环
  • 屏蔽罩材质和厚度对屏蔽效能的影响
  • Qt简单离线音乐播放器
  • 微信小程序常用的api
  • iOS xib布局
  • UNI-APP_拨打电话权限如何去掉,访问文件权限关闭