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开发(可以跳过)
一,项目概述 官网文档地址:http://doc.ruoyi.vip/ rouyi是一个后台管理系统,基于经典技术组合(spring boot,apache shiro,mybatis,thymeleaf)主要是让开发者注重专注业务࿰…...
双向链表及如何使用GLib的GList实现双向链表
双向链表是一种比单向链表更为灵活的数据结构,与单向链表相比可以有更多的应用场景,本文讨论双向链表的基本概念及实现方法,并着重介绍使用GLib的GList实现单向链表的方法及步骤,本文给出了多个实际范例源代码,旨在帮助…...
ProCalun卡伦纯天然万用膏,全家的皮肤健康守护
受季节交替、生活环境变化、空气污染等方面因素的影响,加上作息不规律导致的免疫力降低,我们或多或少会出现一些如湿疹、痤疮、瘙痒之类的皮肤问题,且反复概率很高。很多人盲目用药,甚至诱发激素依赖性皮炎。所以近年来࿰…...
FastAPI全方位分析:优劣尽显
近年来,随着技术的飞速发展,快速构建高性能API的需求越来越强烈。Python作为一个广泛使用的编程语言,也在这一领域下涌现出了许多优秀的框架。FastAPI便是其中一颗璀璨的新星。 FastAPI以其卓越的性能和独特的功能吸引了众多开发者。本文将深入剖析FastAPI的各个方面,详细…...
【rust】rust基础代码案例
文章目录 代码篇HelloWorld斐波那契数列计算表达式(加减乘除)web接口 优化篇target/目录占用一个g,仅仅一个actix的helloWorld demo升级rust版本, 通过rustupcargo换源windows下放弃吧,需要额外安装1g的toolchain并且要…...
【深度学习】PromptFix:多功能AI修图
PromptFix:你来提示,我们修图 NeurIPS 2024 最近,在计算机视觉和图像处理领域,一个名为PromptFix的新项目引起了广泛关注。PromptFix是一个基于PyTorch实现的开源项目,旨在根据用户的自然语言指令,对受损或需要处理的图像进行智能修复和优化。 本文将详细介绍PromptFix…...
2024最新AI绘画系统软件(Midjourney)+GPT4文档分析总结,多模态识图理解,AI文生图/图生图/混图生图(图像混合)
一、前言 人工智能的快速发展已成为全球关注的焦点,其应用领域广泛,涵盖绘图、语言处理、视频编辑等。前沿技术不仅推动科技创新,还在艺术创作、内容生产和商业实践等方面展示出巨大潜力。例如,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)数组 2)集合 2.大小 1)数组 2)集合 3.访问速度 1)数组 2)集合 4.内存管理 1)数组 2)集合 5.使用场景 1)数组 2࿰…...
ORACLE 19C 安装数据库补丁的详细过程
ORACLE 19c安装DB补丁: 1 确定OPatch的可用性:这里需要注意的是p6880880_190000_Linux-x86-64.zip是有版本对应区别的,需要注意你要打的补丁版本是否支持。 2 将原$ORACLE_HOME目录下的OPatch目录删除或者改名,比如说:…...
tensorflow案例5--基于改进VGG16模型的马铃薯识别,准确率提升0.6%,计算量降低78.07%
🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 前言 本次采用VGG16模型进行预测,准确率达到了98.875,但是修改VGG16网络结构, 准确率达到了0.9969,并且计算量…...
代码中的设计模式-策略模式
假如我们有一段代码,有很多的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学习项目-项目基础搭建
前言 各位好,我是前端SkyRain。最近为了响应公司号召,开始对后端知识的学习,作为纯粹小白,记录下每一步的操作流程。 项目仓库:https://gitee.com/sky-rain-drht/drht-node 因为写了文档,代码里注释不是很…...
Python | Leetcode Python题解之第538题把二叉搜索树转换为累加树
题目: 题解: 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 提供的一种传输协议,用于在同一进程内的不同线程之间进行高效的通信。与其他传输协议(如 tcp、ipc 等)不同,inproc 专门针对线程间通信进行了优化,具有极低的延迟和开销。以下是 inproc 的底层原理和…...
spark的学习-03
RDD的创建的两种方式: 方式一:并行化一个已存在的集合 方法:parallelize 并行的意思 将一个集合转换为RDD 方式二:读取外部共享存储系统 方法:textFile、wholeTextFile、newAPIHadoopRDD等 读取外部存储系统的数…...
一文了解Android SELinux
在Android系统中,SELinux(Security-Enhanced Linux)是一个增强的安全机制,用于对系统进行强制访问控制(Mandatory Access Control,MAC)。它限制了应用程序和进程的访问权限,提供了更…...
数据血缘追踪是如何在ETL过程中发挥作用?
在大数据环境下,数据血缘追踪具有重要意义,它能够帮助用户了解数据的派生关系、变换过程和使用情况,进而提高数据的可信度和可操作性。通过数据血缘追踪,ETL用户可以准确追溯数据的来源,快速排查数据异常和问题。 一、…...
跟我学C++中级篇——生产中如何调试程序
一、程序的BUG和异常 程序不是发布到生产环境就万事大吉了。没有人敢保证自己写的代码没有BUG,放心,说这种话的人,基本可以断定是小白。如果在开发阶段出现问题,还是比较好解决的,但是如果真到了生产上,可…...
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站音频提取:从新手到高手的开源工具实战指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/…...
Adams导入SOLIDWORKS模型“隐身”难题:从Parasolid格式到视图显示的完整排查指南
1. 当你的模型在Adams中"隐身"了怎么办? 最近有个做机械仿真的朋友跟我吐槽,说他在SOLIDWORKS里精心设计的模型,导出为Parasolid格式后导入Adams,结果模型树里明明有显示,3D视图区却空空如也。这种"看…...
探秘书匠策AI:毕业论文写作的“智慧引擎”
在学术探索的征途中,毕业论文如同一座巍峨的山峰,让无数学生既敬畏又向往。它不仅是对所学知识的综合检验,更是学术生涯的重要里程碑。然而,面对这座大山,许多人常常感到力不从心,选题迷茫、文献难觅、结构…...
OpenTiny NEXT 前端智能化系列直播征文开启,带你系统学习 AI 前端与 WebAgent
🔥个人主页:杨利杰YJlio❄️个人专栏:《Sysinternals实战教程》《Windows PowerShell 实战》《WINDOWS教程》《IOS教程》《微信助手》《锤子助手》 《Python》 《Kali Linux》《那些年未解决的Windows疑难杂症》🌟 让复杂的事情更…...
intv_ai_mk11实际作品:面向管理层的OKR撰写建议与周报优化样例
intv_ai_mk11实际作品:面向管理层的OKR撰写建议与周报优化样例 1. 为什么管理者需要AI辅助撰写OKR和周报 在快节奏的商业环境中,管理者常常面临一个共同挑战:如何高效地制定清晰可衡量的目标(OKR),同时保…...
W25Q128JWSIQ 串行 NOR Flash 存储器 Winbond 全新原装 进口芯片IC
W25Q128JWSIQ 是华邦(Winbond)推出的一款1.8V 128Mbit 高速串行 NOR Flash 存储器,采用 133MHz 四线 SPI 接口和 SOIC-8 封装,具备超低功耗、工业级宽温工作范围和高可靠性等特性,是物联网设备、汽车电子、工业控制等低…...
Qwen3-TTS WebUI使用技巧:长文本自动分段+情感一致性保持方法
Qwen3-TTS WebUI使用技巧:长文本自动分段情感一致性保持方法 Qwen3-TTS-12Hz-1.7B-CustomVoice 是一款强大的语音合成模型,支持10种主要语言和多种方言语音风格,具备出色的上下文理解能力和情感表达能力。但在处理长文本时,如何保…...
3步搞定B站4K视频下载:开源工具bilibili-downloader终极指南
3步搞定B站4K视频下载:开源工具bilibili-downloader终极指南 【免费下载链接】bilibili-downloader B站视频下载,支持下载大会员清晰度4K,持续更新中 项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader 想要免费下载…...
深入RK3588 NPU架构:从NVDLA远亲到CNN加速器的设计取舍与性能真相
RK3588 NPU架构深度解构:CNN加速器的设计哲学与性能边界 当一块指甲盖大小的芯片宣称能提供6 TOPS的AI算力时,我们不禁要问:这数字背后隐藏着怎样的工程智慧与妥协?RK3588的NPU模块正引发这样的思考——它既非纯粹的学术创新&…...
电赛E题三子棋:我是如何用Open MV色块识别替代矩形识别,搞定棋盘定位的?
电赛E题三子棋:OpenMV色块识别技术实战解析 从矩形识别到色块识别的技术转型 在电子设计竞赛的视觉识别任务中,棋盘定位一直是个经典难题。最初我们团队采用了官方推荐的矩形识别方案,但实际调试中遇到了诸多挑战: 识别率不稳定&a…...
