TechMindWave从0到1-开发到部署2

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介: TechMindWave从0到1-开发到部署

后端项目初始化

  1. 下载/拉取本项目到本地
  2. 通过 IDEA 代码编辑器进行打开项目,等待依赖的下载
  3. 修改配置文件 application.yaml的信息,比如数据库、Redis、RabbitMQ等
  4. 修改信息完成后,通过 NanchengyuApplication 程序进行运行项目
  5. 队列生成

部署项目

部署方式

1)原生态部署方法,各种环境利用Linux指令安装(下面所有环境安装方法,MySQL、redis等)

2)docker容器打包方法,将所有的环境打包在docker容器中,包括前后端项目

3)利用第三方网站部署,如宝塔。

阿里云服务器重置以及安装宝塔

链接:

https://blog.csdn.net/qq_44891617/article/details/123723766

宝塔部署参考链接:

https://www.cnblogs.com/galo/p/17539631.html

宝塔 运行jar目录参考

---------------------------------------------------

下面所有方法都为1)的部署方法-原生安装方法

前端

前端打包

webstrom

npm run build

前端环境

nginx

前端环境安装

nginx下载安装

1)利用centosyum下载
yum 
or 利用官网链接下载 
curl -o  [filename] [curl] 
2)解压安装
tar -zxvf nginx-1.24.0.tar.gz  
3)相关依赖安装
yum install pcre pcre-devel -y
yum install openssl openssl-devel -y
./configure --with-http_ssl_module--with-http_v2_module--with-stream
4)编译安装
make
make install
5)编译配置环境
ls /usr/local/nginx/sbin/nginx
vim /etc/profile
(shift+g)快速跳到编译文件最后一行
在最后一行添加:
export PATH=$PATH:/usr/local/nginx/sbin 
6)启动nginx
source /etc/profile 刷新配置文件
nginx
6)查看端口启动情况
netstat -ntlp

后端

后端打包

后端多环境运行配置

在企业项目运行时,一般会经历开发-测试等多个环节,因此需要一套代码多个环境,项目上线打包的时候只需要修改application.yml配置即可,详情可看下图

相关链接:

https://zhuanlan.zhihu.com/p/148823337


参考链接:

https://www.cnblogs.com/galo/p/17539631.html

后端环境

Java maven MySQL  Redis RabbitMQ  Java版本

推到重来,建议全部安装利用podman/docker安装

后端环境安装

Java maven安装

yum install -y java-1.8.0-openjdk*
curl -o apache-maven-3.8.5-bin.tar.gz https://dlcdn.apache.org/maven/maven-3/3.8.5/binaries/apache-maven-3.8.5-bin.tar.gz
tar -zxvf apache-maven-3.8.5-bin.tar.gz 
git clone xxx 下载代码
打包构建,跳过测试
mvn package -DskipTests
java -jar ./user-center-backend-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod


MySQL安装

参考网站链接:

https://blog.csdn.net/wangpaiblog/article/details/120259448

MySQL镜像网:

https://mirrors.aliyun.com/mysql/MySQL-8.0/?spm=a2c6h.25603864.0.0.6a2f712bwfBnNT

RabbitMQ安装

参考网站

https://blog.csdn.net/qq_45173404/article/details/116429302

下载网站

https://www.rabbitmq.com/download.html

问题解决方案

rabbitmq用户管理(Not management user问题解决)

参考链接:

https://blog.csdn.net/qq_24095055/article/details/97001679

建议最后执行

rabbitmqctl set_user_tags 用户名 administrator

redis安装

参考网站链接:

https://blog.csdn.net/m0_37959155/article/details/108897863

https://blog.csdn.net/u012723183/article/details/105970244(阿里云推荐)

推到重来,建议全部安装利用podman/docker安装


问题复盘

在项目中,遇到的相关问题解决方案记录。

报错解决方案

1.推荐先去问ChatGPT,可以解决百分之80的问题(建立在你的表述无误的情况下)

2.浏览器搜索方法(推荐顺序谷歌>百度)

3.开源项目可以去GitHub解决


1)动态SQL获取   视频时间1.43.30

2)前端我的图表显示不出来 回放 第四期

后端原因没有解决好

3)异步页面处理

视频在第五期 2.2.30

4)mq队列

视频第七期 2.31.08

对应包 bizmq

5)修改接口

6)更改前端代码openapi接口

7)Redis高版本下载

https://blog.csdn.net/dwh19992018/article/details/129750566

8)更改前端图标

app.tsx文件

defaultSetting文件

9)引入mybaits-plus √

用户中心第一期 项目视频 1.58.42

10)引入junit -单元测试库 √

用户中心第一期 视频 2.15.29

11)注册 id

用户中心终 视频 0.53.00

12)mq队列

BI第七期 1.52.0

13)运行npm install 时,卡在sill install loadAllDepsIntoIdealTree不动

相关链接https://blog.csdn.net/zjq_1234/article/details/88946863

  1. npm install一直停留在fetchMetadata: sill mapToRegistry uri http://registry.npmjs.org/whatwg-fetch可以使用如下命令设置为淘宝的镜像源:

npm config set registry https://registry.npm.taobao.org

2. 使用如下命令检验是否成功:

npm config get registry

输出淘宝镜像路径

  1. 继续运行 npm install ,安装过程畅通无阻

14)erro报错

这个报错是由于在RabbitMQ中的队列参数不匹配导致的。错误信息中提到了问题所在:


inequivalent arg 'x-dead-letter-exchange' for queue 'ai_question_queue' in vhost '/': received none but current is the value 'ai-dlx-exchange' of type 'longstr'


这个错误表示在队列 ai_question_queue 的参数 x-dead-letter-exchange 不匹配,当前值是 'ai-dlx-exchange',但接收到的值是 none。这可能是因为队列在声明的时候参数设置不一致导致的。


要解决这个问题,你需要确保你的队列声明参数与之前定义的参数一致。具体来说,检查队列 ai_question_queue 的声明,并确保在声明时设置了正确的 x-dead-letter-exchange 参数。


如果你使用代码声明队列,可以类似以下方式来设置参数:


Map<String, Object> args = new HashMap<>();
args.put("x-dead-letter-exchange", "ai-dlx-exchange"); // 设置正确的死信交换机
Queue queue = new Queue("ai_question_queue", true, false, false, args);


如果你在 RabbitMQ 的管理界面中手动创建队列,确保在队列的参数设置中包含了正确的 x-dead-letter-exchange 值。


总之,解决这个问题的关键是确保队列参数的一致性,特别是 x-dead-letter-exchange 参数的设置。

15)查询电脑端口占用情况命令

netsh interface ipv4 show excludedportrange protocol=tcp


16)页面颜色

<div style={{ display: 'flex', justifyContent: 'center', alignItems: 'center' }}>
  <div style={{ background: '#007BFF', padding: '5px 10px', borderRadius: '4px', display: 'inline-block' }}>
    <Divider style={{ fontSize: '20px', fontWeight: 'bold', color: 'white', margin: 0 }}>分析结论</Divider>
  </div>
</div>

我的选择#007BFF

/* 背景色为淡蓝色 */
body {
  background-color: #E6F7FF;
}
/* 正文文本颜色为深灰色 */
body {
  color: #333;
}
/* 链接颜色为浅蓝色,悬停时变为深蓝色 */
a {
  color: #007BFF;
}
a:hover {
  color: #0056b3;
}
/* 按钮背景色为浅绿色,文本颜色为白色 */
.button {
  background-color: #A7E1B1;
  color: white;
}
/* 提示框背景色为淡黄色,文本颜色为深灰色 */
.tooltip {
  background-color: #FFF3D9;
  color: #333;
}

17)宝塔部署vue项目刷新404解决方案

解决方案链接:

https://blog.csdn.net/Mrzhao5788/article/details/120279306

18)linux解压时报错:gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error exit delayed

参考链接:
https://blog.csdn.net/hjing123/article/details/88862650

去掉 z
#tar -vxf [解压文件名】

idea快捷操作小技巧

在idea中如何进行单词的全局替换

先按ctrl+f再按ctrl+r

全局替换 crtl+shift+r

在idea中创建测试类快捷键 ctrl+shift+t  --> create new test

windows区域截图快捷键 win 键+ shift + s键

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
消息中间件 人工智能 前端开发
TechMindWave从0到1-开发到部署1
TechMindWave从0到1-开发到部署
62 0
|
人工智能 Linux BI
TechMindWave(BIGC前后端分离项目)从0到1-开发到部署1
TechMindWave(BIGC前后端分离项目)从0到1-开发到部署
45 0
|
消息中间件 资源调度 前端开发
TechMindWave(BIGC前后端分离项目)从0到1-开发到部署3
TechMindWave(BIGC前后端分离项目)从0到1-开发到部署
55 0
|
8月前
|
jenkins 持续交付 开发工具
蓝易云 - 基于Jenkins自动打包并部署docker环境
以上就是基于Jenkins自动打包并部署docker环境的基本步骤。在实际操作中,你可能需要根据你的具体需求进行一些调整。
184 0
|
消息中间件 JavaScript BI
TechMindWave(BIGC前后端分离项目)从0到1-开发到部署6
TechMindWave(BIGC前后端分离项目)从0到1-开发到部署
66 0
|
消息中间件 人工智能 数据可视化
TechMindWave(BIGC前后端分离项目)从0到1-开发到部署2
TechMindWave(BIGC前后端分离项目)从0到1-开发到部署
62 0
|
前端开发 NoSQL Java
TechMindWave(BIGC前后端分离项目)从0到1-开发到部署5
TechMindWave(BIGC前后端分离项目)从0到1-开发到部署
49 0
|
前端开发 应用服务中间件 nginx
TechMindWave(BIGC前后端分离项目)从0到1-开发到部署4
TechMindWave(BIGC前后端分离项目)从0到1-开发到部署
40 0
|
Kubernetes 负载均衡 数据库
使用docker来部署Nestjs的简单配置
使用docker部署nestjs 的好处有很多: 1. 可移植性:Docker容器提供了一种轻量级、可移植的部署方式。使用Docker部署NestJS应用程序可以确保在不同的环境中运行一致,并且避免了由于依赖关系或配置问题导致的部署错误。 2. 环境隔离:Docker容器为每个应用程序提供了一个隔离的运行环境。这意味着你的NestJS应用程序在容器中运行时,与主机系统和其他容器相互隔离。这样可以避免由于系统环境差异而引起的问题,并增加应用程序的安全性。
596 0
|
jenkins Shell 持续交付
docker部署Jenkins与任务创建【七千字超详细指南】
docker部署Jenkins与任务创建【七千字超详细指南】
952 0