智能 BI 项目后端运行&部署

环境准备

本地启动

  • MySQL教程
  • Redis 下载下来直接默认下一步就行
  • RabbitMQ 安装运行教程
  • 配置 IDEA Maven 配置 教程

安装 Redis

image-20240927142356752 image-20240927142420727 image-20240927142458789

如果想要修改端口号可以把上面的 6379 修改成对应的端口号

image-20240927142517509 image-20240927142554824 image-20240927142615083 image-20240927142632154

验证 Redis 是否安装成功

win +R 输入 services.msc

image-20240927145432858 image-20240927143108862

1、安装 Erlang + RabbitMQ 先安装 Erlang

image-20240927005741030

选择 是

image-20240927005735279 image-20240927005819602 image-20240927005835856 image-20240927005847403 image-20240927005941421

2、安装 RabbitMQ 直接双击 exe 程序即可安装

image-20240927010036491 image-20240927010100135 image-20240927010111401 image-20240927010146493 image-20240927010330897 image-20240927010355970 image-20240927010409998

3、启动 RabbitMQ

1)搜索 cmd -> 以管理员身份运行

image-20240927013101415

2)进入 MQ 安装路径:C:\Program Files\RabbitMQ Server\rabbitmq_server-3.12.13\sbin

▼
text
复制代码
cd "C:\Program Files\RabbitMQ Server\rabbitmq_server-3.12.13\sbin"

3)输入 rabbitmq-plugins.bat enable rabbitmq_management

▼
text
复制代码
rabbitmq-plugins.bat enable rabbitmq_management
image-20240927014128347

4)依次输入下面的命令

▼
text
复制代码
rabbitmq-service.bat stop rabbitmq-service.bat install rabbitmq-service.bat start
image-20240927014336375 image-20240927014510092 image-20240927014536826

5)然后可以直接在浏览器上 http://localhost:15672/mgmt

账号:guest

密码:guest

image-20240927014655951

6)重启后这么启动呢?一般默认重启之后自启动

win + R 输入 services.msc

找到 RabbitMQ 右键 Start

image-20240927183034440

启动成功

image-20240927183109001

安装依赖

正常项目启动右下角会有下面的提示,可以直接确认 Automatically

image-20240920220528840

点击之后,会弹出一个框点同意就好了

image-20240920225429979

如果发现自己 idea 右侧没有 Maven 插件,那么应该就是打开的路径有些小问题,确保自己打开的是路径下包含下面的内容

image-20240927131824965

确保自己 IDEA Maven 的配置,点击侧边栏的 Maven 进行安装 Maven 依赖

  • Maven 选着自己安装的不是 IDEA 内置的
  • config 文件选着已经配置镜像的 setting.xml
  • Use setting from .mvc/maven.conf 这个是非选择状态
image-20240927133332996 image-20240920211634275 image-20240920211804624

这样操作之后可以看到,正在下载依赖

下载的速度慢的话,看上面 Maven 环境准备安装教程里面有如何配置国内镜像

image-20240927131904171

下载依赖完成之后:

image-20240920225545152

下载中途断网,可能会出现下面的情况

image-20240927133141396 image-20240927133444194

直接点击 Try to run Maven import with -U flag (force update snapshots)

恢复下载!

image-20240927133608680

MySQL

  • 已经安装 MySQL
  • 有 SQL 文件(根目录下 sql)
image-20240827214247374

先下载 IDEA 连接 MySql 所需要的依赖

image-20240827214523819 image-20240827214916326

链接成功,链接成功之后就可以执行下面操作

image-20240927140403815

先执行创建库表 SQL, Ctrl + A 右键 Execute

image-20240927140556671 image-20240927141024590

执行成功之后,可以 SQL 语句左侧会有 √

image-20240927141143260 image-20240927141223861

如果没有看到 yubi 数据库,点击 localhost 后面的框,在下拉框找到 yubi 点击前面方框就可以看到 yubi 数据库了

image-20240927141334337

配置文件

image-20240920232741118
  • 如果 Redis 直接一路默认,那么 application.yml 关于 Redis 的配置就不用修改
  • application.yml 默认是本地运行时生效的配置
  • application-prod.yml 当在服务器指定 --spring.profiles.active=prod 才会生效,一般写线上配置,比如:线上 MySQL、Redis ...
  • application-test.yml 当在服务器指定 --spring.profiles.active=test 才会生效

1、注意格式:

  • 冒号是英文的
  • 具体的值和冒号之间有一个空格,字符串不需要加 “”
▼
yml
复制代码
spring: application: name: yubi-backend

2、想要修改项目运行的端口?

▼
yml
复制代码
server: port: 8101 # 修改端口

前端请求后端的 baseUrl 就是 http://localhost:端口/api 具体可以后端提供的接口文档在后面的 启动项目 有接口文档部分

3、修改自己 MySQL、Redis 配置

MySQL

▼
yml
复制代码
spring: # 数据库配置 datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/yubi # yudada 是数据库的名称 如果是远程 MySQL 例如: jdbc:mysql://192.129.11.11:3306/yudada username: root # 用户名 password: 123456 # MySQL 设置的密码

Redis

▼
yml
复制代码
spring: redis: database: 1 host: localhost # 如果线上改成线上 IP port: 6379 # Redis 具体运行端口,默认安装 6379 timeout: 5000 # password: 123456 # 密码,默认安装没有密码,如果服务器 Redis 有密码就修改这个

注意:

还需要修改一个地方 Redis 才能真正的启动

image-20240927135850323

修改后的效果

image-20240927135914314

如果服务器 Redis 有密码还需要修改 Redisson 配置

▼
java
复制代码
@Configuration @ConfigurationProperties(prefix = "spring.redis") @Data public class RedissonConfig { private Integer database; private String host; private String password; private String port; @Bean public RedissonClient redissonClient() { Config config = new Config(); config.useReplicatedServers() .setDatabase(database) .setPassword("".equals(password) ? null : password) // 这样没有密码就用默认值 null 有密码就用密码更加灵活 .addNodeAddress(String.format("redis://%s:%s", host, port)); return Redisson.create(config); } }

4、RabbitMQ 配置

▼
yml
复制代码
spring: rabbitmq: host: localhost port: 5672 password: guest username: guest

等到部署到服务器上的时候

  • host 服务器 IP 或者 域名
  • port 端口默认 5672
  • password 密码
  • username 账号

这里如果是后面自己在服务器上的 RabbitMQ 创建的新的用户,本地有很大概率连接不上

具体原因是因为没开启允许远程访问的权限 解决办法

具体 BUG 效果是这样的:

image-20240927190618800

5、使用 星火AI 进行 AI 生成

配置教程

初始化 RabbitMQ

image-20241019164149537 image-20241019164143410 image-20241019165025347

执行完这两个 初始化的 Main 方法之后,打开本地 web 管理页面

image-20241019165053691 image-20241019165112166

启动项目

image-20240927141956973 image-20240927142025347

直接点击 Enable annotation processing

image-20241019165255285

访问接口文档:

http://localhost:8101/api/doc.html

image-20240921215204817

部署

安装必备环境

放行服务器端口

服务器

image-20241019165518596

宝塔(如果有的话)

image-20241019165455919

下面几个端口是需要放行的

  • 3306 MySQL
  • 6379 Redis
  • 15672 RabbitMQ web 面板
  • 5672 RabbitMQ
  • 22 端口 SSH
  • 443 HTTPS
  • 80 HTTP

服务器安装 RabbitMQ

安装 DNF

1、

▼
text
复制代码
yum install epel-release
image-20241009203545454

2、

▼
text
复制代码
yum install dnf
image-20241009203632789

安装成功

image-20241009203651254

安装 RabbitMQ

1、指定仓库

▼
text
复制代码
sudo dnf install -y https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm

2、安装 rabbitmq 默认会安装 erlang

▼
text
复制代码
sudo dnf install -y rabbitmq-server-3.3.5-34.el7
image-20241009211123061

3、开启 web 管理页面

▼
text
复制代码
sudo rabbitmq-plugins enable rabbitmq_management

4、启动 RabbitMQ

▼
text
复制代码
sudo systemctl start rabbitmq-server

5、查看运行状态

▼
text
复制代码
systemctl status rabbitmq-server
image-20241009212252468

6、设置开机自启动

▼
text
复制代码
sudo systemctl enable rabbitmq-server

登录 web 管理界面

http://服务器IP:15672

image-20241009214139890

默认账号、密码都是 guest

要是报错就自己再仔细看看是不是输入错误了

创建用户&禁用默认用户远程访问

  • 创建用户
  • 允许远程连接
image-20241009200510767 image-20241009200822956 image-20241009200851259

执行好之后添加好的用户 Can access virtual hosts 那一栏就不会是黄颜色的了


重要

关闭允许 guest 用户远程访问,为了安全

image-20241009201040420 image-20241009201140735

Docker 安装 RabbitMQ

Docker 安装就相对简单很多了!

1、下载 rabbitmq

▼
text
复制代码
docker pull rabbitmq:3.12.13-management

2、运行 rabbitmq

▼
text
复制代码
docker run -d --name=rabbitmq -p 15672:15672 -p 5672:5672 rabbitmq:3.12.13-management
image-20241009213651818

3、登录 web 管理界面

地址: http://服务器IP:15672

账号、密码默认 guest

image-20241009214146062

4、看上面关于 创建用户&禁用默认用户远程访问 章节

初始化 RabbitMQ

image-20241019170307233 image-20241019170419540

执行完这两个 Main 方法,查看 web 管理页面,就可以发现多了

image-20241019170914842 image-20241019165112166

制作 + 上传 JAR 包

image-20240920234801067

Lifecycle -> package 双击

之后我们就可以在 target 目录下面找到打包好的 jar 包

如果报错的话:

  1. 删除 target 目录(IDEA 右键删除即可),重新打包尝试
  2. Maven -> Lifecyle -> clean
  3. 退出 IDEA 在文件管理器找到该项目的 .idea 文件右键删除 ,然后重新打开 IDEA 重新走一遍流程
image-20240928104016670 image-20240928104101415 image-20241019171110800

部署

后面可以参考这篇文章 『 后端部署(通用) 』

相关专栏

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
leikooo
作者分享
最近看了一个视频叫「被 Vibe Coding 抚平的大脑褶皱,还能救回来吗?」,聊的是 AI 时代学编程的困境,感觉说的挺好的,给鱼友们分享一下。 视频中提到现在学编程和以前最大的区别是,以前卡住了你只能自己想、查文档、翻 Stack Overflow,这个过程虽然痛苦,但你的脑子确实在转。现在有了 AI,卡住的第一反应就是打开 ChatGPT 问一句,代码瞬间就出来了,跑通了,感觉自己搞定了。但问题是,你的大脑在这个过程中几乎没有参与。视频里提到一个实验,有个学生读完题 10 秒钟就放弃思考去问 AI 了,事后还觉得是自己独立完成的。这就是 AI 带来的最大陷阱——你以为自己在学,其实只是在看AI 表演。 视频基于一项研究,总结了学编程时容易掉进去的 8 种思维陷阱。研究表明光是知道这些陷阱的存在,就能明显提升学习效果。前 5 种是编程学习中一直存在的,后 3 种是 AI 时代新出现的: 1)Forming(构建错误):你理解了问题,但用了错误的方法去解决。比如题目要你判断正数多还是负数多,你写了个求和的逻辑,方向对了路走偏了。 2)Dislodging(思维固着):你已经意识到方法不对,但就是转不过弯来换思路,反复在错误的方向上修修补补。 3)Assumption(假设偏差):你完美地解决了一个问题,但不是题目要求的那个问题。比如题目要处理任意个数字,你只处理了四个。4)Location(定位缺失):跳过了关键步骤就开始写代码,感觉快写完了,测试的时候才发现漏了循环或数据结构这种核心东西,得大改。 5)Achievement(成就幻觉):写了一大堆代码,明知道有问题但不愿意推倒重来,总想着再改改就好了,结果越改越乱。 6)Progression(进度错觉):AI 帮你写出了超出你水平的代码,作业都能交,但基础可能已经落后好几周了,自己完全不知道。这个是最危险的,等到面试或者独立写代码的时候才发现脑子里是空的。 7)Interruption(思维中断):你正在集中精力思考,AI 自动补全突然弹出来一段代码,思路直接被打断。有意思的是实验中表现好的学生大多直接忽略了 AI 的补全建议。 8)Mislead(误导跟随):信了 AI 给的一个看似合理但方向错误的建议,白白浪费时间走弯路。 大佬给出的建议是,遇到问题先别急着问 AI,给自己至少五分钟独立思考。卡住、沮丧、想摔键盘,这些不是你学不会的信号,这就是解决问题时的正常感受。AI 生成的代码跑通之后,试着关掉 AI 自己从零写一遍,能写出来才算真的会了。最重要的是分清场景,工作赶进度可以用 AI 提效,但练习和学习的时候请把「拐杖」放下,自己走。别让 AI 替你长脑子。
8
ARTS 0927: 单栈逐层展开嵌套字符串、包管理器与 Agent 沙箱本质同源与单次前向传播复刻极速决策模型
7
祝编程导航的鱼友们中秋快乐,愿代码顺利、生活如意,月圆人团圆,所愿皆可期!
13
ARTS 0913: 双栈互补实现队列、CIDR 聚合化解路由膨胀与 AI 作弊串通绝非偶然 Bug
8
微信爆出 P0 级漏洞😱,接到来电就中招,碰都不用碰手机。 怎么中招的? 黑客只需要是你的微信好友,然后给你打一个语音或视频通话,好了已经搞定了,你已经被黑了。 有多离谱? 完全不需要接这个电话。手机锁着屏扔在桌上,你看都没看一眼,只要响了几秒钟,恶意代码就已经在后台跑起来了。 黑客瞬间拿下你整个微信:翻你聊天记录、看你隐私、用你的身份给别人发消息。 更恐怖的是,你的微信紧接着会变成"丧尸",黑客可以自动给通讯录里所有好友挨个打电话,把他们也感染一遍。每个受害者又立刻变成新的传播者,像病毒一样指数级扩散...,不敢想象如果被利用了,理想情况下那需要多久就能扩散到全国的用户呢?30 分钟左右 好消息是这个 bug 微信团队已经知道了这个 bug ,坏消息这个 bug 好像不是微信团队发现的 文章来源:https://calif.io/research/weworm
7
下载 APP