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

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,便于解决端口占用问题

bash 复制代码
#!/bin/bash

PORTS=(8080,9200,9202,9100,9300,9203,9201)  # 定义端口列表

for port in ${PORTS[@]}; do
    result=`echo $(lsof -i:$port | grep LISTEN | awk '{print $2}')`
    if [[ "$result" != "" ]];then
        echo "正在停止端口[$port]的进程...."
        kill -9 $result
    fi
done

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

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

bash 复制代码
...
  ruoyi-nacos:
    container_name: ruoyi-nacos
    image: nacos/nacos-server:v2.3.0-slim # Mac必须指定版本
...

取消登陆验证码

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

bash 复制代码
# 安全配置
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站爬虫项目(点这里尝试一下当前版本)为多用户项目,导入到该项目中

相关推荐
ykuaile_h81 分钟前
Go 编译报错排查:vendor/golang.org/x/crypto/cryptobyte/asn1 no Go source files
后端·golang
Z_W_H_15 分钟前
【springboot】IDEA手动创建SpringBoot简单工程(无插件)
java·spring boot·intellij-idea
mit6.82436 分钟前
[Meetily后端框架] Whisper转录服务器 | 后端服务管理脚本
c++·人工智能·后端·python
荔枝hu1 小时前
springboot生成pdf方案之dot/html/图片转pdf三种方式
spring boot·pdf·html
Apipost的同学们2 小时前
AI时代的接口自动化优化实践:如何突破Postman的局限性
后端·ai·架构·postman·自定义函数·apipost·api+ai
王中阳Go2 小时前
面试完第一反应是想笑
后端·go
Livingbody3 小时前
10分钟实现基于Ubuntu25.04本地推理ERNIE模型
后端
神仙别闹3 小时前
基于ASP.NET+SQL Server实现(Web)企业进销存管理系统
前端·后端·asp.net
5173 小时前
django中如何使用Django REST Framework
后端·python·django
婪苏4 小时前
Python 元类:类的创造者
后端