当前位置: 首页 > 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站爬虫项目(点这里尝试一下当前版本)为多用户项目,导入到该项目中

相关文章:

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

RuoYi(基于SpringBoot开发的轻量级Java快速开发框架) 链接:开源地址 若依是一款开源的基于VueSpringCloud的微服务后台管理系统(也有SpringBoot版本),集成了用户管理、权限管理、定时任务、前端表单生成等…...

Android中Fragment失去焦点的场景

在Android开发中,Fragment的生命周期方法onPause()会在以下几种情况下被调用: 当Fragment所在的Activity开始与其他Activity进行交互时,例如按下Home键或其他Activity获得焦点,导致当前Activity失去焦点,从而使得所有关…...

Linux变量的认识及环境变量配置详解

文章目录 1、变量的划分2、局部变量3、全局变量4、环境变量4.1、概述4.2、配置临时环境变量4.3、配置永久环境变量4.3.1、用户级配置文件1)配置方法一:~/.bashrc文件2)配置方法二:~/.profile文件3)配置方法三&#xff…...

【excel】数据非数值导致排序失效

场景 存在待排序列的数值列,但排序失效,提示类型有问题: 解决 选中该列,数据→分列 而后发现提示消失,识别为数字,可正常排序。...

软件网关--Nginx

Nginx 的多功能用途 Nginx 是构建现代化分布式应用程序的重要工具,它的功能远不止于高性能的 Web 服务器和反向代理。它还能充当 API 网关,处理前后端通信、认证、授权、监控等任务。以下是 Nginx 的主要用途: 前后端通信代理:N…...

sourceTree push失败

新电脑选择commit and push,报错了,不过commit成功,只不过push失败了。 原因是这个,PuTTYs cache and carry on connecting. 这里的ssh选择的是 PuTTY/Plink,本地没有这个ssh密钥,改换成openSSH&#xff…...

leetCode33. 搜索旋转排序数组

leetCode33. 搜索旋转排序数组 题目思路 此题的特点是:排好序循环的数组:特点:可以分为两个区间,一半升序,一半降序,或者全部升序 我们可以用二分法,找出升序 到降序的那个临界值,并…...

JS_监听dom变化触发,new MutationObserver

MutationObserver 是一个用于监测 DOM 变化的接口,它提供了一种机制来异步观察在特定元素或文档中发生的 DOM 变化。 MutationObserver 的作用包括: 1.监测 DOM 变化:你可以创建一个 MutationObserver 实例,并指定一个回调函数。…...

什么是驱动数字签名?如何获取驱动数字签名?

Windows 驱动程序承载着计算机实现的各种内核和用户模式功能。如果驱动程序被黑客攻击,可能会产生很多问题。Windows通过数字签名来验证驱动程序包的完整性及发布者的身份。2020年10月的安全更新中,微软加强了对驱动软件的验证,如果Windows无…...

【leetcode】优先队列题目总结

优先队列的底层是最大堆或最小堆 priority_queue<Type, Container, Functional>; Type是要存放的数据类型Container是实现底层堆的容器&#xff0c;必须是数组实现的容器&#xff0c;如vector、dequeFunctional是比较方式/比较函数/优先级 priority_queue<Type>…...

typescript 中的泛型

泛型&#xff1a;解决 类、接口、方法的复用性、以及对不特定数据类型的支持 传入的参数与返回参数类型一致 泛型函数 // T表示泛型&#xff0c;具体什么类型是调用这个方法的时候决定的 function getData<T>(value: T): T {return value } getData<number>(123) …...

计算方法实验2(补充):列主元消元法解线性方程组

C源代码 #include<bits/stdc.h> using namespace std;// 列主元消去法求解线性方程组 vector<long double> Column_Elimination(vector<vector<long double>> A, vector<long double> b);int main() {vector<vector<long double>> …...

Qt扫盲-Qt D-Bus概述

Qt D-Bus概述 一、概述二、总线三、相关概念1. 消息2. 服务名称3. 对象的路径4. 接口5. 备忘单 四、调试五、使用Qt D-Bus 适配器1. 在 D-Bus 适配器中声明槽函数1. 异步槽2. 只输入槽3. 输入输出槽4. 自动回复5. 延迟回复 一、概述 D-Bus是一种进程间通信(IPC)和远程过程调用…...

懒洋洋作业讲解

懒洋洋作业讲解 环境配置 1.软件下载&#xff1a;DCloud - HBuilder、HBuilderX、uni-app、uniapp、5、5plus、mui、wap2app、流应用、HTML5、小程序开发、跨平台App、多端框架 2.软件介绍 HBuilder是由DCloud&#xff08;数字天堂&#xff09;推出的一款面向HTML5的Web开发…...

vue3 + ts实现canvas绘制的waterfall

实际运行效果&#xff08;仅包含waterfall图表部分&#xff09; component.vue <template><div ref"heatmap" :style"{ height: props.containerHeight px }" /> </template><script setup> import ColorMap from "color…...

代码随想录算法训练营第四十四天

sad的一天&#xff0c;明天开始上班&#xff0c;而且娃还行&#xff0c;媳妇儿状态不稳定&#xff0c;太难了也&#xff01;&#xff01;&#xff01; 完全背包 #include<vector> #include<iostream> using namespace::std; int main(){int N;//种类int V;//空间ci…...

【3dmax笔记】027:配置修改器集、工具栏自定义与加载

文章目录 一、配置修改器集二、自定义工具栏三、加载工具栏 一、配置修改器集 可以把自己常用的修改命令放到右边框中的部分&#xff0c;便于自己的操作&#xff0c;省去了每次都要花半天时间找命令的尴尬。新建一个二维或者三维物体&#xff0c;点击修改面板&#xff0c;点击…...

Reactor模型详解

目录 1.概述 2.Single Reactor 3.muduo库的Multiple Reactors模型如下 1.概述 维基百科对Reactor模型的解释 The reactor design pattern is an event handling pattern for handling service requests delivered concurrently to a service handler by one or more inputs.…...

内存卡罢工,数据危机?别急,有救!

在日常生活和工作中&#xff0c;我们越来越依赖于各种电子设备来存储重要数据。其中&#xff0c;内存卡因其便携性和大容量而广受欢迎。然而&#xff0c;当内存卡突然损坏打不开时&#xff0c;我们该如何应对&#xff1f;本文将为您详细解析这一问题&#xff0c;并提供有效的解…...

python爬虫实战

import requests import json yesinput(输入页数&#xff1a;) yesint(yes)headers {"accept": "application/json, text/plain, */*","accept-language": "zh-CN,zh;q0.9","content-type": "application/json",…...

Ostrakon-VL-8B嵌入式设备部署展望:轻量化与边缘计算

Ostrakon-VL-8B嵌入式设备部署展望&#xff1a;轻量化与边缘计算 最近和几个做嵌入式开发的朋友聊天&#xff0c;大家不约而同地提到了同一个问题&#xff1a;现在的大模型能力是强&#xff0c;但动辄几十上百亿的参数&#xff0c;怎么才能塞进资源有限的边缘设备里&#xff1…...

**发散创新:基于Solidity的DAO组织智能合约设计与实战部署**在We

发散创新&#xff1a;基于Solidity的DAO组织智能合约设计与实战部署 在Web3时代&#xff0c;去中心化自治组织&#xff08;DAO&#xff09;已成为区块链应用的核心形态之一。它通过代码规则替代传统公司治理结构&#xff0c;实现社区驱动、透明可验证的决策机制。本文将深入探讨…...

【SITS2026实战白皮书】:AI生成移动端代码的5大临界陷阱与3天落地避坑指南

第一章&#xff1a;SITS2026实战白皮书&#xff1a;AI生成移动端代码的5大临界陷阱与3天落地避坑指南 2026奇点智能技术大会(https://ml-summit.org) AI生成移动端代码正从概念验证快速迈向产线交付&#xff0c;但SITS2026现场实测显示&#xff1a;73%的团队在首次集成AI生成模…...

BEYOND REALITY Z-Image效果实测:对比通用负面词,专用词让人脸合格率翻倍

BEYOND REALITY Z-Image效果实测&#xff1a;对比通用负面词&#xff0c;专用词让人脸合格率翻倍 1. 测试背景与目标 在AI图像生成领域&#xff0c;负面提示词(Negative Prompt)的质量往往决定了生成结果的可用性。BEYOND REALITY Z-Image作为一款专注于写实人像生成的模型&a…...

3个颠覆性思维:如何用零代码将3D艺术变成Minecraft世界

3个颠覆性思维&#xff1a;如何用零代码将3D艺术变成Minecraft世界 【免费下载链接】ObjToSchematic A tool to convert 3D models into Minecraft formats such as .schematic, .litematic, .schem and .nbt 项目地址: https://gitcode.com/gh_mirrors/ob/ObjToSchematic …...

股市学习心得-PCB 核心原材料

PCB &#xff08; 印制电路板&#xff09;-核心原材料(所提供内容仅用于学习&#xff0c;不作为股市交易依据)印制电路板&#xff08;PCB&#xff09;上游产业链核心分为核心原材料和生产设备两大板块&#xff0c;是PCB产业发展的基石&#xff0c;直接决定我国PCB产业的全球竞争…...

OpenAI发布GPT-5.4-Cyber:网络安全AI新利器

OpenAI周二正式发布了GPT-5.4-Cyber&#xff0c;这是其最新旗舰模型GPT-5.4的专属优化版本&#xff0c;针对网络安全防御场景进行了深度定制优化。此次发布正值竞争对手Anthropic推出前沿模型Mythos数日之后&#xff0c;再次点燃了AI安全领域的激烈竞争。 OpenAI Touts Wider A…...

【SketchUp 2021】材质贴图进阶实战:从别针操控到复杂曲面投影的完整工作流

1. 材质贴图基础操作全解析 刚接触SketchUp材质贴图时&#xff0c;很多人会陷入一个误区——以为贴图就是简单地把图片"贴"到模型表面。其实就像贴墙纸一样&#xff0c;贴图也需要考虑对齐、比例和接缝处理。我刚开始做室内设计时&#xff0c;经常遇到地砖纹理错位、…...

从Wi-Fi路由器到智能音箱:空间FFT(DOA)在消费电子中的实战应用与避坑指南

从Wi-Fi路由器到智能音箱&#xff1a;空间FFT&#xff08;DOA&#xff09;在消费电子中的实战应用与避坑指南 当你对着智能音箱喊"播放音乐"时&#xff0c;它总能准确识别你的位置并定向拾音&#xff1b;当Wi-Fi路由器自动优化信号覆盖时&#xff0c;它其实在默默计算…...

抖音批量下载器:5分钟掌握高效内容获取的专业工具

抖音批量下载器&#xff1a;5分钟掌握高效内容获取的专业工具 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. …...