TechMindWave2

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: TechMindWave

域名

下面操作全部基于阿里云。

域名-全部篇请访问https://www.yuque.com/nanchengcyu/dubfny/dt76w8ru5qhgda5f?singleDoc# 《域名,拜访你的网站的门户(https协议)》

这篇文章讲解了域名基础知识,以及如何实现网站HTTPS协议。

域名购买

https://blog.csdn.net/pang_ping/article/details/101279960#

购买完之后,记得等待两到三天,域名备案,备案步骤比较简单,此处不再张贴相关网址。有需要可以自行百度。

(当然了如果你不想要备案,可以自行网上搜索资源购买外网服务器-建议大家遵守国家法律)

阿里云域名备案网站链接:
https://beian.aliyun.com/

在阿里云备案完成后会收到阿里云客服电话
一天之内在下面网站填写收到的短信验证码

具体操作看下图

工业和信息化部政务服务平台

https://beian.miit.gov.cn/#/Integrated/index

域名配置

域名DNS解析

https://blog.csdn.net/fate_sky8521/article/details/116610662

部署项目

部署方式

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

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

下面所有方法都为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

打包项目,并把打包文件上传到宝塔

通过MAVEN插件去打包项目(打包记得要过测试)

M,PARTNERMATCHINGBACKEND

土十M

工云人

NLDEPENDENCIES

APLUGINS

GDEPLOY

VALIDATE

ALIFECYCLE

MAVEN

PACKAGE

GVERITY

AXCLEAN

COMPILE

GSITE

OINSTAL

TEST


打包完后运行命令

WW/WWROOT/TECHMINDWAVE-BACKEND/NANCHENQYU-BACKEND-5.0-SNAPSHOTJI

-BACKEND-5.O-SN...

2023/08/1922:12:35

权限/所有者

55/WWW

53.75MB

修玫时间

防算改

大小

备注


#宝塔版 
/usr/bin/java -jar -Xmx1024M -Xms256M  项目jar包路径 --server.port=启动端口 --spring.profiles.active=prod
#Linux指令版 
java -jar -Xmx1024M -Xms256M  项目jar包路径 --server.port=启动端口 --spring.profiles.active=prod

后端环境

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(阿里云推荐)

博客园

https://www.cnblogs.com/hunanzp/p/12304622.html

csdn

https://blog.csdn.net/qq_45784913/article/details/120678054

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

Docker 部署

前端部署需要配置nginx.conf文件和dockerfile文件(dockerfile文件一般放在docker目录下面)

后端只需要配置dockerfile文件

docker 是容器,可以将项目的环境(比如 java、nginx)和项目的代码一起打包成镜像,所有同学都能下载镜像,更容易分发和移植。

再启动项目时,不需要敲一大堆命令,而是直接下载镜像、启动镜像就可以了。

docker 可以理解为软件安装包。

Docker 安装:https://www.docker.com/get-started/ 或者宝塔安装

Dockerfile 用于指定构建 Docker 镜像的方法

Dockerfile 一般情况下不需要完全从 0 自己写,建议去 github、gitee 等托管平台参考同类项目(比如 springboot)

Dockerfile 编写:

●FROM 依赖的基础镜像
●WORKDIR 工作目录
●COPY 从本机复制文件
●RUN 执行命令
●CMD / ENTRYPOINT(附加额外参数)指定运行容器时默认执行的命令

根据 Dockerfile 构建镜像:


Docker 构建优化:减少尺寸、减少构建时间(比如多阶段构建,可以丢弃之前阶段不需要的内容)

docker run 启动:

虚拟化


1端口映射:把本机的资源(实际访问地址)和容器内部的资源(应用启动端口)进行关联
2目录映射:把本机的端口和容器应用的端口进行关联

进入容器:

docker exec -i-t fee2bbb7c9ee /bin/bash

查看进程:

docker ps

查看日志:

docker logs -f [container-id]

杀死容器:

docker kill

强制删除镜像:

docker rmi -f

Docker 平台部署

1 云服务商的容器平台(腾讯云、阿里云)
2 面向某个领域的容器平台(前端 / 后端微信云托管)要花钱!

容器平台的好处:
1不用输命令来操作,更方便省事
2不用在控制台操作,更傻瓜式、更简单
3大厂运维,比自己运维更省心
4额外的能力,比如监控、告警、其他(存储、负载均衡、自动扩缩容、流水线)

问题复盘

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

报错解决方案

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 [解压文件名】

19)后端跨域

在idea中每个controller中修改

20)java找不到符号 符号:类Xxx 位置xxx的解决方案

https://www.cnblogs.com/sinoaccer/p/13369212.html


idea快捷操作小技巧

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

先按ctrl+f再按ctrl+r

全局替换 crtl+shift+r

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

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

目录
相关文章
|
消息中间件 人工智能 数据可视化
TechMindWave1
TechMindWave
61 0
|
消息中间件 人工智能 前端开发
TechMindWave从0到1-开发到部署1
TechMindWave从0到1-开发到部署
56 0
|
6月前
|
安全 Shell 网络安全
Git学习---Git快速入门、Git基础使用、Git进阶使用、Git服务器使用(IDEA集成GitHub、Gitee、GitLab)、GitHub Desktop客户端
Git学习---Git快速入门、Git基础使用、Git进阶使用、Git服务器使用(IDEA集成GitHub、Gitee、GitLab)、GitHub Desktop客户端
199 0
|
网络安全 开发工具 git
一个git如何同时绑定gitlab与github
一个git如何同时绑定gitlab与github
403 0
|
消息中间件 前端开发 NoSQL
TechMindWave从0到1-开发到部署2
TechMindWave从0到1-开发到部署
43 0
|
开发工具 git
Git 使用小乌龟(TortoiseGit)拉取Github项目时报错【server sent :publickey】
Git 使用小乌龟(TortoiseGit)拉取Github项目时报错【server sent :publickey】
385 0
|
JavaScript BI 开发工具
git--github使用
git--github使用
|
缓存 Shell 开发工具
【BackEnd--Git】学习笔记(实战开发常用技巧)
Git学习笔记(实战开发常用技巧)
108 0
|
JavaScript jenkins 应用服务中间件
nginx+jenkins部署git前端项目
从 tomcat 到 github Page,再到 nginx。技术在变化,但搭建个人站点的执念没有中断。 与你同行!
|
Linux Shell 网络安全
git 本地项目上传github或gitlab详解
git 本地项目上传github或gitlab详解
git 本地项目上传github或gitlab详解