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

day20-21之间的项目实战:若依ruoyi开发(可以跳过)

一,项目概述

官网文档地址:http://doc.ruoyi.vip/

rouyi是一个后台管理系统,基于经典技术组合(spring boot,apache shiro,mybatis,thymeleaf)主要是让开发者注重专注业务,降低技术难度,从而节省人力成本,缩短项目周期,提高软件安全质量。

系统要求

  • JDK>=1.8
  • myslq>=5.7
  • maven>=3.8

二,开发环境搭建(前后分离)

后端项目

1,centos9一台
2,环境(前后分离)后端环境(java):jdk,mysql,Maven,redis,git前端环境(vue):nodejs,npm,nginx防火墙,yum源,时间同步hostnamectl -set-hostname prosu - rootsystemctl stop firewalld && systemctl disable firewalldsetenforce 0 && sed -i '/SELINUX=enforcing/SELINUX=disable/g' /etc/selinux/config
3,拉取后端最新的代码
4,使用Maven对后端源码进行打包
5,拉取前端最新代码
6,使用npm对前端代码打包,将包放入nginx中运行

1,centos9一台
2,环境(前后分离)

  •     后端环境(java):jdk,mysql,Maven,redis,git
  •     前端环境(vue):nodejs,npm,nginx
  •     防火墙,yum源,时间同步
    • hostnamectl -set-hostname prosu - rootsystemctl stop firewalld && systemctl disable firewalldsetenforce 0 && sed -i '/SELINUX=enforcing/SELINUX=disable/g' /etc/selinux/config

3,安装git,拉取后端最新的代码

yum -y install git
源码地址:https://gitee.com/y_project/RouYi-Vue
#git config --global user.name ly
#git config --global user.email xxxxxxxxxx@qq.com
#目前github已经不支持密码输入,只支持api验证或者叫令牌验证(csdn一下吧)
cd /usr/local/
git clone https://gitee.com/y_project/RouYi-Vue.git

4,安装jdk,配置环境变量

tar -zxvf jdk-xxx.tar.gz  -C /usr/local
echo "export JAVA_HOME=/usr/local/jdk-xxx" /etc/profile
echo "export PATH=${JAVA_HOME}/bin:$PATH" /etc/profile
source /etc/profile
java -version
上面是手动的
--------------------------------------
这是自动的
sudo dnf update
sudo dnf install java-17-openjdk
java -version

5,安装Maven配置环境

这是自动的(所有的安装,用yum和dnf都可以)
sudo dnf update
sudo dnf install maven
mvn -v

6,安装mysql,执行初始化sql脚本

在 CentOS 9 上安装 MySQL 并执行初始化 SQL 脚本,可以按照以下步骤完成:### 步骤 1:安装 MySQL1. **添加 MySQL 官方 Yum 仓库**:CentOS 默认不包含 MySQL 官方的最新版本仓库,可以先添加官方仓库。sudo dnf install https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm2. **安装 MySQL Server**:使用 `dnf` 命令安装 MySQL:sudo dnf install mysql-server3. **启动并启用 MySQL 服务**:sudo systemctl start mysqldsudo systemctl enable mysqld4. **获取 MySQL 临时密码**:安装后,MySQL 会生成一个临时密码,存放在 `/var/log/mysqld.log` 文件中。可以使用以下命令查看:sudo grep 'temporary password' /var/log/mysqld.log5. **执行安全性设置**:使用临时密码登录并配置 MySQL 的安全设置:mysql_secure_installation根据提示设置新密码,并配置其他安全选项。### 步骤 2:执行初始化 SQL 脚本1. **登录 MySQL**:使用新设置的密码登录 MySQL:mysql -u root -p2. **执行初始化 SQL 脚本**:假设你有一个初始化 SQL 脚本文件(例如 `init.sql`),可以使用以下命令导入它:mysql -u root -p < /usr/local/RuoYi-Vue/sql/ry_20240629.sql或者自己建库用source 路径导入3. **验证初始化是否成功**:进入 MySQL,检查数据库和表是否已创建:SHOW DATABASES;


7,安装redis

在 CentOS 9 上安装 Redis,可以通过以下步骤进行:### 步骤 1:安装 Redis1. **安装 EPEL 仓库**:Redis 通常包含在 EPEL(Extra Packages for Enterprise Linux)仓库中。首先安装 EPEL 仓库:sudo dnf install epel-release2. **安装 Redis**:使用 `dnf` 命令安装 Redis:sudo dnf install redis3. **启动并启用 Redis 服务**:安装完成后,启动 Redis 服务并将其设置为开机启动:sudo systemctl start redissudo systemctl enable redis### 步骤 2:验证 Redis 安装1. **检查 Redis 服务状态**:使用以下命令确认 Redis 服务是否已成功启动:sudo systemctl status redis如果 Redis 正常运行,会显示类似 `active (running)` 的状态。2. **验证 Redis 是否可以连接**:通过 `redis-cli` 命令行客户端连接 Redis:redis-cli在 Redis 提示符下,运行以下命令测试:ping如果 Redis 正常运行,应该返回:PONG### 步骤 3:配置 Redis(可选)如果需要自定义 Redis 配置,可以编辑 Redis 配置文件:sudo nano /etc/redis.conf修改配置后,保存并重新启动 Redis 服务:sudo systemctl restart redis### 步骤 4:开启防火墙端口(可选)如果你打算远程连接 Redis,需要确保防火墙允许 Redis 使用的默认端口 6379。1. **允许端口 6379**:sudo firewall-cmd --permanent --add-port=6379/tcpsudo firewall-cmd --reload### 步骤 5:禁用 Redis 外部访问(可选)为了提高安全性,可以通过修改配置文件禁用外部访问。1. **修改配置文件**:在 `/etc/redis.conf` 中,找到 `bind` 设置并更改为:bind 0.0.0.0protected-mode nodaemonize yes2. **重启 Redis**:修改配置后,重新启动 Redis 服务:sudo systemctl restart redis

8,修改rouyi配置

cd /usr/local/RouYi-Vue/rouyi-admin/src/main/resources

application-druid.yml(数据库配置文件)

application.yml(后端redis程序配置文件)

9,后端打包

到/usr/local/RuoYi-Vue下(这里有一个pom文件),执行mvn install

到/usr/local/RuoYi-Vue/ruoyi-admin文件夹下,更准确的是在pom.xml文件处

mvn package(会创建target文件夹,进入里面有一个rouyi-admin.jar就是我们要的了)

现在把他cp到家目录

用java -jar ruoyi-admin.jar运行

前端项目(就不写了意义不大)

相关文章:

day20-21之间的项目实战:若依ruoyi开发(可以跳过)

一&#xff0c;项目概述 官网文档地址&#xff1a;http://doc.ruoyi.vip/ rouyi是一个后台管理系统&#xff0c;基于经典技术组合&#xff08;spring boot&#xff0c;apache shiro&#xff0c;mybatis&#xff0c;thymeleaf&#xff09;主要是让开发者注重专注业务&#xff0…...

双向链表及如何使用GLib的GList实现双向链表

双向链表是一种比单向链表更为灵活的数据结构&#xff0c;与单向链表相比可以有更多的应用场景&#xff0c;本文讨论双向链表的基本概念及实现方法&#xff0c;并着重介绍使用GLib的GList实现单向链表的方法及步骤&#xff0c;本文给出了多个实际范例源代码&#xff0c;旨在帮助…...

ProCalun卡伦纯天然万用膏,全家的皮肤健康守护

受季节交替、生活环境变化、空气污染等方面因素的影响&#xff0c;加上作息不规律导致的免疫力降低&#xff0c;我们或多或少会出现一些如湿疹、痤疮、瘙痒之类的皮肤问题&#xff0c;且反复概率很高。很多人盲目用药&#xff0c;甚至诱发激素依赖性皮炎。所以近年来&#xff0…...

FastAPI全方位分析:优劣尽显

近年来,随着技术的飞速发展,快速构建高性能API的需求越来越强烈。Python作为一个广泛使用的编程语言,也在这一领域下涌现出了许多优秀的框架。FastAPI便是其中一颗璀璨的新星。 FastAPI以其卓越的性能和独特的功能吸引了众多开发者。本文将深入剖析FastAPI的各个方面,详细…...

【rust】rust基础代码案例

文章目录 代码篇HelloWorld斐波那契数列计算表达式&#xff08;加减乘除&#xff09;web接口 优化篇target/目录占用一个g&#xff0c;仅仅一个actix的helloWorld demo升级rust版本&#xff0c; 通过rustupcargo换源windows下放弃吧&#xff0c;需要额外安装1g的toolchain并且要…...

【深度学习】PromptFix:多功能AI修图

PromptFix:你来提示,我们修图 NeurIPS 2024 最近,在计算机视觉和图像处理领域,一个名为PromptFix的新项目引起了广泛关注。PromptFix是一个基于PyTorch实现的开源项目,旨在根据用户的自然语言指令,对受损或需要处理的图像进行智能修复和优化。 本文将详细介绍PromptFix…...

2024最新AI绘画系统软件(Midjourney)+GPT4文档分析总结,多模态识图理解,AI文生图/图生图/混图生图(图像混合)

一、前言 人工智能的快速发展已成为全球关注的焦点&#xff0c;其应用领域广泛&#xff0c;涵盖绘图、语言处理、视频编辑等。前沿技术不仅推动科技创新&#xff0c;还在艺术创作、内容生产和商业实践等方面展示出巨大潜力。例如&#xff0c;AI语言模型显著提升了内容自动生成、…...

【信号处理】基于联合图像表示的深度学习卷积神经网络

Combined Signal Representations for Modulation Classification Using Deep Learning: Ambiguity Function, Constellation Diagram, and Eye Diagram 信号表示 Ambiguity Function(AF) 模糊函数描述了信号的两个维度(dimensions):延迟(delay)和多普勒(Doppler)。 …...

C#基础-区分数组与集合

目录 区分数组与集合 1.定义 1&#xff09;数组 2&#xff09;集合 2.大小 1&#xff09;数组 2&#xff09;集合 3.访问速度 1&#xff09;数组 2&#xff09;集合 4.内存管理 1&#xff09;数组 2&#xff09;集合 5.使用场景 1&#xff09;数组 2&#xff0…...

ORACLE 19C 安装数据库补丁的详细过程

ORACLE 19c安装DB补丁&#xff1a; 1 确定OPatch的可用性&#xff1a;这里需要注意的是p6880880_190000_Linux-x86-64.zip是有版本对应区别的&#xff0c;需要注意你要打的补丁版本是否支持。 2 将原$ORACLE_HOME目录下的OPatch目录删除或者改名&#xff0c;比如说&#xff1a…...

tensorflow案例5--基于改进VGG16模型的马铃薯识别,准确率提升0.6%,计算量降低78.07%

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 前言 本次采用VGG16模型进行预测&#xff0c;准确率达到了98.875&#xff0c;但是修改VGG16网络结构&#xff0c; 准确率达到了0.9969&#xff0c;并且计算量…...

代码中的设计模式-策略模式

假如我们有一段代码,有很多的if else function executeAction(type) {if (type A) {console.log(Action A);} else if (type B) {console.log(Action B);} else if (type C) {console.log(Action C);} else {console.log(Unknown action);} }executeAction(A); // 输出: Ac…...

后端Node学习项目-项目基础搭建

前言 各位好&#xff0c;我是前端SkyRain。最近为了响应公司号召&#xff0c;开始对后端知识的学习&#xff0c;作为纯粹小白&#xff0c;记录下每一步的操作流程。 项目仓库&#xff1a;https://gitee.com/sky-rain-drht/drht-node 因为写了文档&#xff0c;代码里注释不是很…...

Python | Leetcode Python题解之第538题把二叉搜索树转换为累加树

题目&#xff1a; 题解&#xff1a; class Solution:def convertBST(self, root: TreeNode) -> TreeNode:def getSuccessor(node: TreeNode) -> TreeNode:succ node.rightwhile succ.left and succ.left ! node:succ succ.leftreturn succtotal 0node rootwhile nod…...

【ZeroMQ 】ZeroMQ中inproc优势有哪些?与其它传输协议有哪些不同?

inproc 是 ZeroMQ 提供的一种传输协议&#xff0c;用于在同一进程内的不同线程之间进行高效的通信。与其他传输协议&#xff08;如 tcp、ipc 等&#xff09;不同&#xff0c;inproc 专门针对线程间通信进行了优化&#xff0c;具有极低的延迟和开销。以下是 inproc 的底层原理和…...

spark的学习-03

RDD的创建的两种方式&#xff1a; 方式一&#xff1a;并行化一个已存在的集合 方法&#xff1a;parallelize 并行的意思 将一个集合转换为RDD 方式二&#xff1a;读取外部共享存储系统 方法&#xff1a;textFile、wholeTextFile、newAPIHadoopRDD等 读取外部存储系统的数…...

一文了解Android SELinux

在Android系统中&#xff0c;SELinux&#xff08;Security-Enhanced Linux&#xff09;是一个增强的安全机制&#xff0c;用于对系统进行强制访问控制&#xff08;Mandatory Access Control&#xff0c;MAC&#xff09;。它限制了应用程序和进程的访问权限&#xff0c;提供了更…...

数据血缘追踪是如何在ETL过程中发挥作用?

在大数据环境下&#xff0c;数据血缘追踪具有重要意义&#xff0c;它能够帮助用户了解数据的派生关系、变换过程和使用情况&#xff0c;进而提高数据的可信度和可操作性。通过数据血缘追踪&#xff0c;ETL用户可以准确追溯数据的来源&#xff0c;快速排查数据异常和问题。 一、…...

跟我学C++中级篇——生产中如何调试程序

一、程序的BUG和异常 程序不是发布到生产环境就万事大吉了。没有人敢保证自己写的代码没有BUG&#xff0c;放心&#xff0c;说这种话的人&#xff0c;基本可以断定是小白。如果在开发阶段出现问题&#xff0c;还是比较好解决的&#xff0c;但是如果真到了生产上&#xff0c;可…...

Python爬虫实战 | 爬取网易云音乐热歌榜单

网易云音乐热歌榜单爬虫实战 环境准备 Python 3.xrequests 库BeautifulSoup 库 安装依赖 pip install requests beautifulsoup4代码 import requests from bs4 import BeautifulSoupdef get_cloud_music_hot_songs():url "http://music.163.com/#/discover/playlist…...

5分钟精通B站音频提取:从新手到高手的开源工具实战指南

5分钟精通B站音频提取&#xff1a;从新手到高手的开源工具实战指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader &#x1f633; 项目地址: https://gitcode.com/gh_mirrors/…...

Adams导入SOLIDWORKS模型“隐身”难题:从Parasolid格式到视图显示的完整排查指南

1. 当你的模型在Adams中"隐身"了怎么办&#xff1f; 最近有个做机械仿真的朋友跟我吐槽&#xff0c;说他在SOLIDWORKS里精心设计的模型&#xff0c;导出为Parasolid格式后导入Adams&#xff0c;结果模型树里明明有显示&#xff0c;3D视图区却空空如也。这种"看…...

探秘书匠策AI:毕业论文写作的“智慧引擎”

在学术探索的征途中&#xff0c;毕业论文如同一座巍峨的山峰&#xff0c;让无数学生既敬畏又向往。它不仅是对所学知识的综合检验&#xff0c;更是学术生涯的重要里程碑。然而&#xff0c;面对这座大山&#xff0c;许多人常常感到力不从心&#xff0c;选题迷茫、文献难觅、结构…...

OpenTiny NEXT 前端智能化系列直播征文开启,带你系统学习 AI 前端与 WebAgent

&#x1f525;个人主页&#xff1a;杨利杰YJlio❄️个人专栏&#xff1a;《Sysinternals实战教程》《Windows PowerShell 实战》《WINDOWS教程》《IOS教程》《微信助手》《锤子助手》 《Python》 《Kali Linux》《那些年未解决的Windows疑难杂症》&#x1f31f; 让复杂的事情更…...

intv_ai_mk11实际作品:面向管理层的OKR撰写建议与周报优化样例

intv_ai_mk11实际作品&#xff1a;面向管理层的OKR撰写建议与周报优化样例 1. 为什么管理者需要AI辅助撰写OKR和周报 在快节奏的商业环境中&#xff0c;管理者常常面临一个共同挑战&#xff1a;如何高效地制定清晰可衡量的目标&#xff08;OKR&#xff09;&#xff0c;同时保…...

W25Q128JWSIQ 串行 NOR Flash 存储器 Winbond 全新原装 进口芯片IC

W25Q128JWSIQ 是华邦&#xff08;Winbond&#xff09;推出的一款1.8V 128Mbit 高速串行 NOR Flash 存储器&#xff0c;采用 133MHz 四线 SPI 接口和 SOIC-8 封装&#xff0c;具备超低功耗、工业级宽温工作范围和高可靠性等特性&#xff0c;是物联网设备、汽车电子、工业控制等低…...

Qwen3-TTS WebUI使用技巧:长文本自动分段+情感一致性保持方法

Qwen3-TTS WebUI使用技巧&#xff1a;长文本自动分段情感一致性保持方法 Qwen3-TTS-12Hz-1.7B-CustomVoice 是一款强大的语音合成模型&#xff0c;支持10种主要语言和多种方言语音风格&#xff0c;具备出色的上下文理解能力和情感表达能力。但在处理长文本时&#xff0c;如何保…...

3步搞定B站4K视频下载:开源工具bilibili-downloader终极指南

3步搞定B站4K视频下载&#xff1a;开源工具bilibili-downloader终极指南 【免费下载链接】bilibili-downloader B站视频下载&#xff0c;支持下载大会员清晰度4K&#xff0c;持续更新中 项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader 想要免费下载…...

深入RK3588 NPU架构:从NVDLA远亲到CNN加速器的设计取舍与性能真相

RK3588 NPU架构深度解构&#xff1a;CNN加速器的设计哲学与性能边界 当一块指甲盖大小的芯片宣称能提供6 TOPS的AI算力时&#xff0c;我们不禁要问&#xff1a;这数字背后隐藏着怎样的工程智慧与妥协&#xff1f;RK3588的NPU模块正引发这样的思考——它既非纯粹的学术创新&…...

电赛E题三子棋:我是如何用Open MV色块识别替代矩形识别,搞定棋盘定位的?

电赛E题三子棋&#xff1a;OpenMV色块识别技术实战解析 从矩形识别到色块识别的技术转型 在电子设计竞赛的视觉识别任务中&#xff0c;棋盘定位一直是个经典难题。最初我们团队采用了官方推荐的矩形识别方案&#xff0c;但实际调试中遇到了诸多挑战&#xff1a; 识别率不稳定&a…...